AWS WAF えーだぶりゅーえす わふ
簡単に言うとこんな感じ!
AWSが提供するWebサイトの「入口の門番」だよ!悪意ある攻撃者が送ってくる危険なリクエストを自動でブロックしてくれるサービスなんだ。自分でサーバーを立てなくていいから、設定だけで使えるのが魅力ってこと!
AWS WAFとは
AWS WAF(Amazon Web Services Web Application Firewall) は、AWSが提供するマネージド型のWebアプリケーションファイアウォールです。Webサイトやアプリに届くHTTPリクエスト(ブラウザやAPIからの通信)を検査し、悪意のあるアクセスをリアルタイムにブロックします。サーバーや機器を自前で用意する必要がなく、AWSのコンソールから設定するだけで利用を開始できます。
保護できる主な脅威は、SQLインジェクション(データベースを不正操作する攻撃)、XSS(クロスサイトスクリプティング)(悪意あるスクリプトを埋め込む攻撃)、ボットによる自動アクセスなどです。発注側の担当者から見ると、「システムベンダーにWAFを入れるよう依頼する際の選択肢のひとつ」として理解しておくと実務に役立ちます。
AWS WAFは Amazon CloudFront(CDN)、Application Load Balancer(ALB)、Amazon API Gateway、AWS AppSync などのAWSサービスと連携して動作します。インターネットからの通信がこれらのサービスを通るタイミングで検査が行われるため、バックエンドのサーバーに届く前に攻撃を遮断できる構造になっています。
AWS WAFの構造と仕組み
AWS WAFは「Web ACL(Access Control List)」と呼ばれるルールの集合体を作成し、それを保護対象のAWSリソースに関連付けることで機能します。
| 構成要素 | 説明 |
|---|---|
| Web ACL | ルールをまとめたポリシーのかたまり。CloudFrontやALBに紐づける |
| ルール(Rule) | 「このリクエストはブロック」などの条件と行動の定義 |
| マネージドルールグループ | AWSや外部ベンダーがあらかじめ用意した既製ルールセット |
| カスタムルール | 自社の要件に合わせて独自に作成するルール |
| ルールアクション | Allow(許可)/ Block(拒否)/ Count(カウントのみ)/ CAPTCHA |
ルールの評価順序
Web ACL内のルールには優先度(Priority) が設定され、番号が小さいものから順に評価されます。最初にマッチしたルールのアクションが適用されます。
リクエスト到着
│
├─ Priority 1: IP評価ルール → Block? → ブロック
├─ Priority 2: AWSマネージドルール → Block? → ブロック
├─ Priority 3: カスタムルール → Allow? → 通過
│
└─ どれにもマッチしない → デフォルトアクション(Allow / Block)
マネージドルールグループの種類
| ルールグループ名 | 用途 |
|---|---|
| AWS Managed Rules - Common Rule Set | SQLiやXSSなど一般的な攻撃を幅広くカバー |
| AWS Managed Rules - Known Bad Inputs | 悪意あるリクエストパターンをブロック |
| AWS Managed Rules - Bot Control | ボットのアクセスを検出・制御 |
| AWS Managed Rules - Anonymous IP List | VPN・Torなど匿名IPをブロック |
| サードパーティ(Fortinet・Imperva等) | AWS Marketplaceで購入できる専門ルール |
歴史と背景
- 2015年 — AWS WAFが初めて提供開始。当初はCloudFrontとの連携のみ
- 2016年 — Application Load Balancer(ALB)との連携に対応。EC2上のWebアプリを直接保護可能に
- 2019年 — 大幅な機能刷新(AWS WAF v2 へ移行)。Web ACLの料金体系が整理され、より柔軟なルール設定が可能に
- 2020年 — Bot Control マネージドルールが追加。ボットトラフィックの管理が本格化
- 2021年 — CAPTCHAアクションが追加。ボットをブロックするだけでなく、人間かどうかを確認するチャレンジを挟めるように
- 2022年 — Fraud Control(アカウント乗っ取り保護) などの高度な機能が追加
- 現在 — AWSセキュリティサービス群(AWS Shield、Amazon GuardDuty等)と統合され、総合的なセキュリティ基盤の一部として位置づけられている
WAFが重要になった背景には、Webアプリへの攻撃の増加があります。かつては「ファイアウォールを入れればOK」でしたが、HTTPSを使った巧妙な攻撃はネットワーク層のファイアウォールでは防げません。そこでWebアプリの通信内容まで検査するWAFが普及しました。
他のWAF・セキュリティサービスとの比較
AWS WAFは単独でなく、他のサービスや競合製品と比較して選定されることがあります。
AWS WAF vs 他のWAFサービス比較
| 比較項目 | AWS WAF | Cloudflare WAF | オンプレWAF(専用機器) |
|---|---|---|---|
| 導入方式 | クラウド(マネージド) | クラウド(マネージド) | 物理機器・仮想アプライアンス |
| 初期コスト | 低い(従量課金) | 低い(月額プラン) | 高い(機器購入・設置) |
| AWSとの親和性 | ◎ ネイティブ連携 | △ CloudFront等と競合 | △ 別途構成が必要 |
| ルールの柔軟性 | ○ カスタム可能 | ○ カスタム可能 | ◎ 非常に細かく設定可能 |
| 管理の手間 | 少ない | 少ない | 多い(専任担当者が必要) |
| AWS以外の環境 | × AWS専用 | ◎ どこでも使える | ◎ どこでも使える |
発注時のポイント: システムがAWSで構築されているなら、まずAWS WAFを検討するのが自然な選択です。マルチクラウドや独自データセンターが絡む場合はCloudflareやオンプレWAFも選択肢に入ります。
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 9110 | HTTP Semantics(HTTPの仕様。WAFが検査する通信の標準) |
| RFC 7235 | HTTP/1.1 認証フレームワーク(認証周りの不正リクエスト検査に関連) |
関連用語
- WAF(Webアプリケーションファイアウォール) — Webアプリ層の攻撃を防ぐファイアウォールの総称
- SQLインジェクション — データベースを不正操作するWebアプリへの代表的攻撃手法
- XSS(クロスサイトスクリプティング) — Webページに悪意あるスクリプトを埋め込む攻撃
- AWS Shield — AWSのDDoS攻撃対策サービス。WAFと組み合わせて使われる
- CloudFront — AWSのCDNサービス。AWS WAFを関連付ける主要な接続先のひとつ
- ALB(Application Load Balancer) — AWSの負荷分散サービス。WAFの保護対象として連携する
- ファイアウォール — ネットワーク層で通信を制御するセキュリティの基本技術
- DDoS攻撃 — 大量リクエストでサービスを停止させる攻撃。Shieldと組み合わせて防御する