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 対策
ユーザー → 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 攻撃を受けた場合
1. CloudWatch アラームで検知
2. WAF のレートベースルールを強化
3. Shield Advanced の場合は DRT (DDoS Response Team) に連絡
4. 攻撃パターンを分析し、WAF ルールを追加
5. ポストモーテムで再発防止策を策定
体系的に学ぶなら関連書籍を参照してほしい。