WAF 高度なルール設定 - AWS WAF vs Azure WAF
AWS WAF と Azure WAF を比較し、マネージドルールグループ、レートベースルール、Bot Control、カスタムレスポンスなど AWS WAF の高度なルール設定の優位性を解説します。
WAF の役割と AWS WAF のアーキテクチャ
Web Application Firewall (WAF) は、SQL インジェクション、クロスサイトスクリプティング (XSS)、CSRF などの Web アプリケーション攻撃からアプリケーションを保護するセキュリティサービスです。AWS WAF は CloudFront、Application Load Balancer (ALB)、API Gateway、AppSync、Cognito User Pools、App Runner、Verified Access の 7 つのサービスにアタッチでき、アプリケーションの入口で一貫したセキュリティポリシーを適用できます。Azure WAF は Application Gateway と Azure Front Door にアタッチ可能ですが、AWS WAF のように API Gateway やサーバーレスサービスに直接統合する柔軟性はありません。AWS WAF の料金は Web ACL あたり月額 5.00 USD、ルールあたり月額 1.00 USD、リクエスト 100 万件あたり 0.60 USD です。Azure WAF は Application Gateway の WAF v2 SKU で固定料金が月額約 350 USD (ゲートウェイ料金含む) からとなり、小規模アプリケーションでは AWS WAF の方がコスト効率に優れます。AWS WAF の Web ACL は最大 5,000 のルールキャパシティユニット (WCU) を持ち、複雑なルールセットを構築できます。
この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
マネージドルールグループと脅威インテリジェンス
AWS WAF マネージドルールは、AWS が管理する事前定義済みのルールグループで、OWASP Top 10 の脅威に対する保護を即座に適用できます。Core Rule Set (CRS) は SQL インジェクション、XSS、パストラバーサル、リモートファイルインクルージョンなどの一般的な攻撃パターンを検出します。AWS マネージドルールには、Amazon IP Reputation List (既知の悪意ある IP アドレスのブロック)、Anonymous IP List (VPN、Tor、プロキシからのアクセス検出)、Bot Control (ボットトラフィックの管理)、Account Takeover Prevention (アカウント乗っ取り防止)、Account Creation Fraud Prevention (不正アカウント作成防止) など、脅威インテリジェンスに基づく高度なルールグループが含まれます。Azure WAF も OWASP CRS 3.2 をサポートしますが、AWS のような Bot Control や Account Takeover Prevention に相当する専用のマネージドルールグループは提供されていません。AWS Marketplace では、Fortinet、F5、Imperva などのセキュリティベンダーが提供するサードパーティマネージドルールも利用でき、業界固有の脅威に対する保護を追加できます。マネージドルールの料金は、AWS 提供のルールグループが 100 万リクエストあたり 1.00〜10.00 USD です。
レートベースルールと DDoS 対策
AWS WAF のレートベースルール (Rate-Based Rules) は、特定の IP アドレスからのリクエスト数が 5 分間の評価ウィンドウで設定した閾値を超えた場合に、自動的にブロックする機能です。閾値は 100〜20,000,000 リクエスト/5 分の範囲で設定でき、アプリケーションの特性に応じた柔軟な制御が可能です。レートベースルールはさらに、スコープダウンステートメントと組み合わせることで、特定の URL パス (例: /api/login) や特定のヘッダー値を持つリクエストのみを対象にレート制限を適用できます。Azure WAF にもレート制限機能はありますが、Azure Front Door の WAF ポリシーに限定されており、Application Gateway の WAF では利用できません。AWS WAF は AWS Shield Advanced と統合することで、DDoS 攻撃に対する包括的な保護を実現します。Shield Advanced は L3/L4 の DDoS 攻撃を自動緩和し、WAF のレートベースルールが L7 の攻撃を処理する多層防御を構成します。Shield Advanced の料金は月額 3,000 USD ですが、DDoS 攻撃によるスケーリングコストの保護 (DDoS コスト保護) が含まれ、攻撃時の AWS 利用料金の増加分が返金されます。
Bot Control と不正アクセス防止
AWS WAF Bot Control は、Web アプリケーションへのボットトラフィックを可視化・管理する専用機能です。Common レベル (100 万リクエストあたり 1.00 USD) では、自己申告するボット (Googlebot、Bingbot など) の検証と、一般的なボットの検出・分類を行います。Targeted レベル (100 万リクエストあたり 10.00 USD) では、ブラウザフィンガープリンティング、JavaScript チャレンジ、CAPTCHA を組み合わせた高度なボット検出を提供し、スクレイピングボット、クレデンシャルスタッフィングボット、在庫買い占めボットなどの悪意あるボットを検出・ブロックします。Azure WAF にはこのような専用のボット管理機能がなく、カスタムルールで User-Agent ベースのフィルタリングを行う程度の対応に限られます。AWS WAF の Account Takeover Prevention (ATP) は、ログインページへの不正アクセスを検出する専用ルールグループで、盗まれた認証情報のデータベースとリクエストを照合し、クレデンシャルスタッフィング攻撃をリアルタイムでブロックします。ATP の料金はログイン試行 10,000 件あたり 1.00 USD で、月額 10.00 USD のサブスクリプション料金が加算されます。
カスタムレスポンスとログ分析
AWS WAF のカスタムレスポンス機能は、ルールに一致したリクエストに対して、カスタム HTTP ステータスコード (200〜599) とカスタムレスポンスボディ (HTML、JSON、プレーンテキスト) を返すことができます。たとえば、レート制限に達したリクエストに対して 429 ステータスコードと「リクエスト数が上限に達しました。しばらくしてから再試行してください。」というメッセージを返すことで、正当なユーザーに適切なフィードバックを提供できます。Azure WAF のカスタムレスポンスは、Azure Front Door の WAF ポリシーでステータスコードとレスポンスボディのカスタマイズが可能ですが、Application Gateway の WAF ではカスタムエラーページの設定に限定されます。AWS WAF のログは CloudWatch Logs、S3、Kinesis Data Firehose の 3 つの送信先に出力でき、CloudWatch Logs Insights でリアルタイムのクエリ分析が可能です。フルログには、リクエストの詳細 (IP アドレス、URI、ヘッダー、マッチしたルール、アクション) が含まれ、セキュリティインシデントの調査に活用できます。AWS WAF のダッシュボードでは、ブロックされたリクエスト数、ルールごとのマッチ数、トップ IP アドレスなどをリアルタイムで可視化できます。
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。
まとめ
AWS WAF は、CloudFront・ALB・API Gateway・AppSync を含む 7 つのサービスへの統合、AWS マネージドルールによる OWASP Top 10 対策、Bot Control による高度なボット管理、Account Takeover Prevention によるクレデンシャルスタッフィング対策、レートベースルールと Shield Advanced の多層 DDoS 防御、カスタムレスポンスによるユーザーフレンドリーなエラー処理など、Azure WAF にはない機能を多数提供しています。Web ACL 月額 5.00 USD からの低コストで開始でき、Azure WAF の Application Gateway SKU (月額約 350 USD〜) と比較して小規模アプリケーションのセキュリティ対策に適しています。Web アプリケーションのセキュリティ強化において、AWS WAF の柔軟性と脅威インテリジェンスの充実度は、エンタープライズレベルの保護を実現する強力な基盤です。
AWS の優位点
- AWS WAF は CloudFront、ALB、API Gateway、AppSync、Cognito、App Runner、Verified Access の 7 サービスに統合可能。Azure WAF は Application Gateway と Front Door の 2 サービスに限定
- Web ACL 月額 5.00 USD + ルール月額 1.00 USD + 100 万リクエスト 0.60 USD の従量課金で、Azure WAF の Application Gateway SKU (月額約 350 USD〜) より小規模環境でコスト効率が高い
- Bot Control の Targeted レベルでブラウザフィンガープリンティング、JavaScript チャレンジ、CAPTCHA を組み合わせた高度なボット検出を提供。Azure WAF には専用ボット管理機能なし
- Account Takeover Prevention (ATP) が盗まれた認証情報データベースとリクエストを照合し、クレデンシャルスタッフィング攻撃をリアルタイムでブロック
- レートベースルールは 100〜20,000,000 リクエスト/5 分の閾値設定が可能で、スコープダウンステートメントで特定 URL パスのみに適用可能
- カスタムレスポンスで HTTP ステータスコード (200〜599) とレスポンスボディ (HTML/JSON/テキスト) を自由に設定し、ユーザーフレンドリーなエラー処理を実現