導入
多層防御(レッスン12)の一番外側、「インターネットとの境界」を守るのがWAFとShieldです。悪意あるリクエストや大量トラフィックの攻撃を、システムの奥まで到達させる前に食い止めます。
説明
AWS WAF(Web Application Firewall) は、Webアプリケーション層(レイヤー7)を守るファイアウォールです。HTTPリクエストの中身を見て、悪意あるパターンを検知・ブロックします。
- SQLインジェクション、クロスサイトスクリプティング(XSS)などの攻撃パターンをルールで検知
- 特定の国・IPアドレスからのアクセスを制限
- CloudFront、ALB、API Gatewayにアタッチして使う
AWS Shield は、DDoS(分散型サービス拒否)攻撃からインフラを守るサービスです。
| プラン | 内容 | 料金 |
|---|---|---|
| Shield Standard | 一般的なネットワーク層/トランスポート層のDDoS攻撃から自動的に保護 | 無料(全利用者に自動適用) |
| Shield Advanced | より高度な攻撃への対策、24時間対応の専門チーム支援、コスト保護(DDoSによる急な請求増を補填) | 有料 |
flowchart LR
ATK["攻撃者からのトラフィック"] --> SH["Shield<br/>(DDoS対策)"]
SH --> WAF["WAF<br/>(L7の不正リクエスト対策)"]
WAF --> CF["CloudFront / Route 53"]
CF --> APP["アプリケーション"]
WAFとShieldは役割が異なるため、組み合わせて使うのが基本です。ShieldがネットワークレベルのDDoSから守り、WAFがアプリケーションレベルの不正リクエスト(SQLインジェクションなど)から守ります。どちらもCloudFrontやRoute 53と組み合わせて、エッジ(利用者に近い場所)で攻撃を止めるのが効果的です。
読んでみよう
「SQLインジェクションを防ぎたい」ならWAF、「DDoS攻撃で高額請求になるのを防ぎたい」ならShield Advanced、と攻撃の種類で使い分けるのが出題パターンです。両方が絡む複合問題では「WAF+Shieldの併用」が正解になることが多いです。