目次
【AWS WAFの役割(セキュリティ設計)】
🔍 1. 結論
💎 一言でいうと AWS WAF (Web Application Firewall) は、HTTP/HTTPSリクエストの中身(レイヤー7)を検査し、SQLインジェクションやクロスサイトスクリプティング (XSS) などの悪意あるWeb攻撃からアプリケーションを保護するサービスです。
- CloudFront、ALB、API Gateway、AppSync のいずれかにアタッチして使用する。(EC2やNLBには直接付けられない)
- 特定のIPアドレス、国(ジオブロック)、リクエスト頻度に基づく柔軟な遮断が可能。
📈 2. SAAで出やすいポイント
- アタッチ先の制限: WAFはL7(アプリケーション層)の防御を行うため、エンドポイントとなる限られたサービス(ALBやCloudFront等)にのみ関連付けできる。
- レートベースのルール (Rate-based Rules): 同一IPアドレスから、5分間に〇〇回以上のアクセスがあった場合に自動でブロックする機能。小規模なDDoS攻撃やブルートフォース攻撃、スクレイピング対策に有効。
- マネージドルール: ユーザーが自分でルールを書かなくても、AWSやセキュリティベンダーが提供する「一般的な脅威リスト」をワンクリックで適用できる。
🗝 3. キーワードでの判断
| 問題文のキーワード | 疑うサービス・構成 |
|---|---|
| 🛡️ 「SQLインジェクション (SQLi)」「XSS」 | AWS WAF |
| 🌍 「特定の国からのアクセスをブロックしたい」 | AWS WAF (Geo Match Rule) |
| ⏱️ 「特定のIPからの大量リクエストを制限したい」 | AWS WAF (レートベースのルール) |
| 🧱 「アプリケーションレイヤー (L7) の保護」 | AWS WAF |
⚠️ 4. ひっかけポイント
🚫 よくある誤答パターン – 「EC2のセキュリティグループでSQLインジェクションを防ぐ」 → SGはポートやIPアドレスしか見れない(L4)ため、通信の中身に潜む攻撃は防げない。必ずWAFが必要。 – 「NLBにWAFをアタッチする」 → NLB(L4ロードバランサー)はHTTPの中身を解釈しないため、WAFはアタッチできない。
💡 5. 覚え方
🧠 暗記ショートカット – セキュリティグループ = 「手荷物検査(外見だけ見る)」。 – AWS WAF = 「X線検査(カバンの中身=データの中身まで見て危険物を没収する)」。 – アタッチできるのは「ALB」「CloudFront」「API Gateway」の頭文字ACA(アカ)と覚える。
📚 6. 関連サービス
| アイコン | サービス名 | WAFとの連携 |
|---|---|---|
| 🌍 | CloudFront | エッジで攻撃をブロック(Webサーバーへの到達前に防ぐ) |
| ⚖️ | ALB | リージョン内で動作するWebアプリの直前でブロック |
| 🚪 | API Gateway | サーバーレスAPIに対する攻撃をブロック |
| 🛡️ | AWS Shield | WAFと併用し、L3/L4レベルの大規模DDoS攻撃を防ぐ |
🗒️ 7. Obsidian管理メモ
- 見返すタイミング: Webセキュリティ、ALBやCloudFrontの構成を学ぶ際
- 関連ノート候補:
AWS_セキュア設計_ALB,AWS_セキュア設計_CloudFront
8. HTMLファイル名:
AWS_セキュア設計_WAF.html