DDoS
大量のリクエストでサービスを利用不能にする分散型サービス拒否攻撃
セキュリティ
DDoS とは
DDoS (Distributed Denial of Service) は、多数のコンピュータ (ボットネット) から大量のリクエストを送信し、サービスを利用不能にする攻撃である。正規のトラフィックと攻撃トラフィックの区別が難しい。
攻撃の種類
攻撃の種類を以下にまとめる。
| レイヤー | 攻撃 | 説明 |
|---|---|---|
| L3/L4 (ネットワーク) | SYN Flood | TCP の 3-way ハンドシェイクを悪用 |
| L3/L4 | UDP Flood | 大量の UDP パケットを送信 |
| L3/L4 | DNS Amplification | DNS を利用して増幅 |
| L7 (アプリケーション) | HTTP Flood | 大量の HTTP リクエスト |
| L7 | Slowloris | 接続を長時間占有 |
AWS での DDoS 対策
AWS での DDoS 対策の流れを図で示す。
ユーザー → CloudFront (Shield + WAF) → API Gateway → Lambda
↑ L3/L4 攻撃を吸収 ↑ L7 攻撃をフィルタ
| サービス | 対策 |
|---|---|
| AWS Shield Standard | L3/L4 DDoS 防御 (無料、自動) |
| AWS Shield Advanced | 高度な DDoS 防御 + DRT サポート ($3,000/月) |
| AWS WAF | L7 攻撃のフィルタリング |
| CloudFront | エッジで攻撃トラフィックを吸収 |
| Route 53 | DNS レベルの DDoS 防御 |
サーバーレスの DDoS 耐性
Lambda + API Gateway はサーバーレスで自動スケールするため、L3/L4 の DDoS に対して本質的に耐性がある。ただし L7 の HTTP Flood はコスト増加を引き起こす。
| 対策 | 効果 |
|---|---|
| API Gateway スロットリング | リクエスト数を制限 |
| Lambda の同時実行上限 | コストの上限を設定 |
| WAF のレートベースルール | IP ごとにブロック |
| CloudFront | エッジでキャッシュ、オリジン負荷軽減 |
DDoS 攻撃を受けた場合
DDoS 攻撃を受けた場合を図で示す。
1. CloudWatch アラームで検知
2. WAF のレートベースルールを強化
3. Shield Advanced の場合は DRT (DDoS Response Team) に連絡
4. 攻撃パターンを分析し、WAF ルールを追加
5. ポストモーテムで再発防止策を策定
体系的に学ぶなら関連書籍を参照してほしい。
この記事は役に立ちましたか?
関連用語
WAF
Web アプリケーションファイアウォールで、SQL インジェクションや XSS などの攻撃をフィルタリングする
レート制限
API やサービスへのリクエスト数に上限を設け、過負荷を防ぐ仕組み
CDN
世界中のエッジロケーションにコンテンツをキャッシュし、低レイテンシで配信するネットワーク
HTTPS / TLS
HTTP 通信を TLS で暗号化し、盗聴・改ざん・なりすましを防ぐプロトコル
CSRF
ユーザーが認証済みの Web サイトに対して、攻撃者が意図しないリクエストを送信させる攻撃手法
CloudFront
AWS の CDN サービスで、世界中のエッジロケーションからコンテンツを低レイテンシで配信する