セキュリティ製品 - ネットワーク

AWS WAF えーだぶりゅーえす わふ

WAFWebアプリケーションファイアウォールAWSセキュリティSQLインジェクションXSSマネージドルール
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 GatewayAWS 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 SetSQLiやXSSなど一般的な攻撃を幅広くカバー
AWS Managed Rules - Known Bad Inputs悪意あるリクエストパターンをブロック
AWS Managed Rules - Bot Controlボットのアクセスを検出・制御
AWS Managed Rules - Anonymous IP ListVPN・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 と関連サービスの位置づけ インターネット(外部からのリクエスト) HTTP / HTTPS トラフィック AWS Shield(DDoS防御) 大量リクエストによるサービス停止攻撃を自動緩和 AWS WAF(Webアプリケーションファイアウォール) SQLi / XSS / Bot など Webアプリ層の攻撃を検査・ブロック CloudFront CDN(配信の高速化) ALB ロードバランサー(負荷分散) API Gateway APIの入口管理 バックエンド(EC2 / Lambda / ECS など) 攻撃が届く前にWAFがブロックするため、安全に処理できる ※ WAFはCloudFront / ALB / API Gatewayに関連付けて動作する

AWS WAF vs 他のWAFサービス比較

比較項目AWS WAFCloudflare WAFオンプレWAF(専用機器)
導入方式クラウド(マネージド)クラウド(マネージド)物理機器・仮想アプライアンス
初期コスト低い(従量課金低い(月額プラン)高い(機器購入・設置)
AWSとの親和性◎ ネイティブ連携△ CloudFront等と競合△ 別途構成が必要
ルールの柔軟性○ カスタム可能○ カスタム可能◎ 非常に細かく設定可能
管理の手間少ない少ない多い(専任担当者が必要)
AWS以外の環境× AWS専用◎ どこでも使える◎ どこでも使える

発注時のポイント: システムがAWSで構築されているなら、まずAWS WAFを検討するのが自然な選択です。マルチクラウドや独自データセンターが絡む場合はCloudflareやオンプレWAFも選択肢に入ります。


関連する規格・RFC

規格・RFC番号内容
RFC 9110HTTP Semantics(HTTPの仕様。WAFが検査する通信の標準)
RFC 7235HTTP/1.1 認証フレームワーク(認証周りの不正リクエスト検査に関連)

関連用語