【AWS】 AWS Shieldの解説
AWS Shield
DDoS攻撃からアプリケーションを保護するためのマネージドサービス。StandardとAdvancedの二つの層がある。
AWS Shield Standard
Standardは無料で提供され、AWSのインフラ全体に対するDDoS攻撃をリアルタイムで検出し、自動的に軽減することで、サービスのダウンタイムを最小限に抑えることができる。このレベルの保護は、レイヤー3(ネットワーク層)およびレイヤー4(トランスポート層)の攻撃に対して有効であり、AWSの全てのユーザーが利用可能。
Shield Standardは自動で有効化されているから、特に設定をしなくても、AWSの全てのサービスは基本的なDDoS保護を受けることができる。
AWS Shield Advanced
Advancedは有料で、包括的なDDoS保護、コスト保護、アクセス制御、セキュリティ専門家によるサポートが含まれる。Advancedでは、レイヤー3およびレイヤー4に加え、レイヤー7(アプリケーション層)の攻撃にも対応する。さらに、CloudWatchメトリクスやアラートを利用した詳細なモニタリングとアラート機能により、攻撃の影響をリアルタイムで監視し、迅速な対応が可能となる。
DDoS攻撃の例
SYN フラッド攻撃
ネットワーク層(レイヤー3)およびトランスポート層(レイヤー4)で発生するDDoS攻撃の一種。この攻撃は、TCPの接続確立プロセスを悪用する。
TCPハンドシェイクの概要:
通常、クライアントとサーバー間のTCP接続は、3ウェイハンドシェイクと呼ばれるプロセスを通じて確立される。クライアントがサーバーにSYNパケットを送信し、サーバーがSYN-ACKで応答し、最後にクライアントがACKを送信して接続が確立される。
攻撃の仕組み:
攻撃者は、短時間に大量のSYNパケットをターゲットサーバーに送りつけるが、サーバーからのSYN-ACK応答には応答しないか、偽のIPアドレスを使用して応答を受け取れないようにする。これにより、サーバーは半開きのTCP接続を維持しようとしてリソースを消費し続け、最終的に新しい正規の接続を処理できなくなる。
影響:
サーバーのリソース(メモリやCPU)が枯渇し、サービスが停止したり、正規のユーザーが接続できなくなったりする。
UDP フラッド攻撃
ユーザーデータグラムプロトコル(UDP)を利用したDDoS攻撃。これは、ネットワーク層(レイヤー3)およびトランスポート層(レイヤー4)で発生する。
UDPの概要:
UDPは、TCPとは異なり、接続確立のためのハンドシェイクがなく、軽量で迅速な通信が可能。しかし、信頼性や順序保証がないため、リアルタイムアプリケーションやストリーミングに適している。
攻撃の仕組み:
攻撃者は大量のUDPパケットをターゲットのランダムなポートに送りつける。受信側のサーバーは、これらのパケットを処理し、応答するためにリソースを消費する。
影響:
サーバーの帯域幅や処理能力が枯渇し、正規のトラフィックが処理されず、サービスが停止する。UDPフラッド攻撃は、帯域幅の消費によりネットワーク全体にも影響を及ぼすことがある。
キャッシュバスティング攻撃
キャッシュバスティング攻撃では、攻撃者がHTTPリクエストに意図的に変更を加え、Webサーバーに対してキャッシュされないユニークなリクエストを大量に送信する。
これにより、通常キャッシュされるはずのコンテンツがキャッシュされず、全てのリクエストがバックエンドサーバーに到達することになる。
URLの変更:
リクエストURLに無意味なパラメータを追加する。例えば、example.com/resourceがキャッシュされている場合、攻撃者はexample.com/resource?random=12345のようにユニークなクエリパラメータを追加して送信する。
ヘッダーの変更:
HTTPヘッダーを変更して、キャッシュをバイパスする。例えば、User-AgentやAccept-Languageヘッダーを変更する。
Cookieの操作:
リクエストに無意味なCookieを追加することで、キャッシュのヒット率を低下させる。