DDoS攻撃の対策

/セキュリティ

DDoS攻撃とは

DoS(Denial of Service、サービス妨害)攻撃とは、ネットワークやサーバに過剰な負荷を与えたり、脆弱性を悪用することで、サービスの運用や提供を妨げる行為です。

さらに、DoS攻撃のうち、複数の攻撃元から一斉に攻撃を仕掛ける、大規模なものをDDoS(Distributed DOS、分散型DoS)攻撃と呼ばれています。

近年は、普及し始めたIoT機器を踏み台にした攻撃や、安価でDoS攻撃を請け負うビスネスも現れ、より大規模化・複雑化の傾向にあります。また、大きな国際イベントあるとDDoS攻撃も活発化するなど、ビジネスへの脅威はより高まってきています。

本記事は、情報処理推進機構(IPA)が出している「サービス妨害攻撃の対策等調査報告書」をベースにしています。

DDoS攻撃の種類

DDoS攻撃は、ネットワーク帯域消費型とサーバリソース消費型に分けることができます。ネットワーク帯域消費型は、ネットワークの負荷を増大させて通信を妨害する攻撃です。TCP Connectionの確立を要さないため、攻撃元の特定が困難とされています。

名称 攻撃手法 対策
UDP Flood 攻撃 サイズの大きなUDPパケットを大量に送信する。 ①②
Ping Flood 攻撃 サイズの大きなICMPパケット(ICMP echo request)を大量に送信する。 ①②
Smurf 攻撃 適当なブロードバンドドメインのノードに対し、攻撃対象のIPアドレスを送信元に設定して ICMP echo request を送信すると、そのドメイン全体から攻撃対象のIPアドレスに ICMP echo reply が大量に送信される。 ①②

サーバリソース消費型は、CPUやメモリなどのリソースを枯渇させる攻撃です。SYN Flood 攻撃以外は、TCP Connection確立後での攻撃となります。攻撃元の特定はできますが、正常な操作と攻撃との判別が困難であるという特徴があります。

名称 攻撃手法 対策
SYN Flood 攻撃 大量のSYNパケットを送信すると、受信したサーバは、ACKパケットをタイムアウトになるまで待ち続けるため、メモリが消費される。 ③④⑥
Connection Flood 攻撃 オープンされた状態が長時間続くような攻撃を繰り返すことで、ソケットを占領する。 ④⑥⑦
HTTP GET Flood 攻撃 TCPコネクションを確立した後で、GETコマンドを大量に送付することで、WebサーバのメモリやCPUを消費させる。POSTコマンドを使うものは、HTTP POST Flood 攻撃と呼ばれる。 ④⑥⑦
リロード(F5)攻撃 Webサーバに対して画面リロード(F5キー)を大量に行うことで負荷を掛ける。 ④⑤⑥⑧
⑨⑩⑪⑫

DDoS攻撃の対策

DDoS攻撃に有効な対策は以下になります。まず、ネットワークでの対策は以下になります。

ファイアウォールによるフィルタリング 不要なUDPパケットやICMPパケット、不正なIPアドレスからのアクセスを遮断する。
帯域制御装置の導入 IPアドレス、通信内容、コネクションスピード、URLを基に通信量を制御する。
SYN cookieの利用 TCP接続要求が正当なものであるか確認する。

サーバ周辺の設備増強による対策は以下になります。

負荷分散 負荷分散装置を入れてサーバ台数を増やす。
コンテンツキャッシュサーバの利用 Webサービスについては、静的コンテンツのキャッシュサーバを設置する。
サーバリソースの増強 CPUやメモリなどのリソースを増強する。

サーバOSやアプリケーションの調整による対策は以下になります。

TCP/IPパラメタの調整 例えば、セッションを維持する時間を調整する
HTTPサーバのパフォーマンスチューニング Apache等のHTTPサーバに対するパフォーマンスをチューニングする。

サーバの負荷低減による対策は以下になります。

静的なコンテンツの利用 動的コンテンツを減らすことでCPU負荷を軽減する。
コンテンツ保存のローカルディスク化 ローカルディスクにコンテンツを置くことで、ネットワークの負荷を軽減する。
DNS参照の抑制 不要なDNS参照は行わない。
プログラムモジュールの精査 余計なプログラムモジュールなどを読み込まない。

 

IT
アセスメント、セキュリティ、ネットワーク、システム
散策路TOP
力学、電磁気・相対論、熱・統計力学、量子力学、物性物理、機械学習、情報処理、金融、物理数学

 

タイトルとURLをコピーしました