AWS WAF のマネージドルール選定おさらい

AWS WAF のマネージドルール選定おさらい

AWS WAF のマネージドルール選定についておさらいします。
2026.01.05

コーヒーが好きな emi です。最近はカフェインを控えています。

近年、Web アプリケーションを狙ったサイバー攻撃はどんどん増加しています。SQL インジェクションやクロスサイトスクリプティング(XSS)といった攻撃から Web アプリケーションを守るために適切なセキュリティ対策が不可欠です。
本記事では私が過去に AWS WAF を導入した際に調査した AWS WAF のマネージドルールについて、基本的な仕組みからおさらいします。

簡単なおさらい

WAF とは

WAF(Web Application Firewall) とは、Web アプリケーションへの悪意あるアクセスを検知・遮断するためのセキュリティソリューションです。

従来のファイアウォールがネットワーク層(IP アドレスやポート番号)でのアクセス制御を行うのに対し、WAF はアプリケーション層(HTTP/HTTPS 通信の内容)を検査します。これにより、以下のような攻撃から Web アプリケーションを保護できます。

  • SQL インジェクション:データベースへの不正なクエリ挿入
  • クロスサイトスクリプティング(XSS):悪意あるスクリプトの埋め込み
  • ローカルファイルインクルージョン(LFI):サーバー内ファイルへの不正アクセス
  • DDoS 攻撃:大量リクエストによるサービス妨害
  • ボットによる不正アクセス:自動化された攻撃や情報収集

AWS WAF の仕組み

AWS WAF は CloudFront や ALB、API Gateway に紐づけて利用します。

WAF で作成する一番外枠のコンポーネントが Web ACL(アクセスコントロールリスト)です。Web ACL にマネージドルールやカスタムルールを紐づけてセキュリティ機能を高めます。
aws-waf-managed-rule-selection_1

紐づけたルールに該当する通信が来た場合のアクションとして、Allow, Block, Count, CAPTCH, Challenge を選択できます。

Challenge アクションについては以下記事も参照ください。
https://dev.classmethod.jp/articles/aws-waf-what-is-challenge-action/

WAF はクライアント(ユーザー)と Web サーバーの間に配置され、すべての HTTP/HTTPS リクエストを検査します。

AWS WAF のマネージドルールとは

AWS WAF のマネージドルールとは、AWS やセキュリティベンダーがあらかじめ作成・管理しているルールセットです。

マネージドルールのメリットとしては以下の点があげられます。

  • セキュリティの専門家が作成したルールをそのまま利用可能
  • 数クリックで有効化でき、すぐに保護を開始
  • 新しい脅威に対応したルールが自動的に更新される
  • ルールのメンテナンスを AWS やベンダーに任せられる

AWS が提供するマネージドルールは、AWS WAF の標準料金に含まれる無料のルールグループと、追加料金が発生する有償のルールグループがあります。無料のルールグループだけでも、OWASP Top 10 に含まれる主要な脆弱性への対策が可能です。

https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/aws-managed-rule-groups-list.html

AWS マネージドルール以外にも、AWS Marketplace を通じて以下のような 3rd Party ベンダーが提供するマネージドルールを利用できます。

  • Adobe Managed Services
  • Cloudbric Corp.
  • Cyber Security Cloud Inc.
  • F5
  • Fortinet
  • GeoGuard
  • Imperva
  • ThreatSTOP

https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/marketplace-rule-groups.html

ベンダー提供のルールは、より高度な脅威検知や特定の業界・ユースケースに特化した保護が必要な場合に検討するとよいです。別途サブスクリプション料金が発生します。

WAF ルールグループの選定

以下表で AWS WAF で利用可能なマネージドルールグループについて解説します。

無料のルールグループ

AWS WAF の標準サービス料金を超える追加料金なしで利用できる無料のルールグループです。★がついているのは、私が過去に有効化して導入したことがあるルールです。

選択 マネージドルール Capacity 概要
ベースラインルールグループ
Core rule set(コア ルール セット)
名前:AWS-AWSManagedRulesCommonRuleSet
700 Web アプリケーションに一般的に適用できるルールが含まれています。OWASP Top 10 に含まれるリスクの高い脆弱性に関連するルールも含まれており、さまざまな脆弱性に関して Web アプリケーションを保護します。 コアルールセット (CRS) マネージドルールグループ
Admin protection(管理者保護)
名前:AWS-AWSManagedRulesAdminProtectionRuleSet
100 公開されている管理ページへの外部アクセスをブロックできるルールが含まれています。管理アクセス権を第三者に乗っ取られるリスクの軽減に役立ちます。 管理者保護マネージドルールグループ
Known bad inputs(既知の不正な入力)
名前:AWS-AWSManagedRulesKnownBadInputsRuleSet
200 脆弱性を悪用する既知の不正な要求パターンをブロックするルールが含まれています。脆弱性を含むアプリが攻撃されるリスクを軽減できます。 既知の不正な入力マネージドルールグループ
ユースケース固有のルールグループ
SQL database
名前:AWS-AWSManagedRulesSQLiRuleSet
200 SQL インジェクション攻撃など、SQL データベースの悪用を防ぐルールが含まれています。未承認のクエリがリモートで挿入される等の攻撃を防ぐことができます。 SQL データベースマネージドルールグループ
Linux operating system(Linuxオペレーティングシステム)
名前:AWS-AWSManagedRulesLinuxRuleSet
200 LFI 攻撃など、Linux 固有の脆弱性を悪用する要求パターンをブロックするルールが含まれています。ファイルの内容を公開したり、攻撃者がアクセスできないはずのコードを実行したりする攻撃を防ぐことができます。 Linux オペレーティングシステムマネージドルールグループ
POSIX operating system(POSIX オペレーティング・システム)
名前:AWS-AWSManagedRulesUnixRuleSet
100 LFI攻撃など、POSIX や POSIX 準拠の OS に固有の脆弱性を悪用する要求パターンをブロックするルールが含まれています。ファイルの内容を公開したり、アクセスを許可してはならないコードを実行したりする攻撃を防ぐことができます。 POSIX オペレーティングシステムマネージドルールグループ
Windows operating system(Windows オペレーティング システム)
名前:AWS-AWSManagedRulesWindowsRuleSet
200 Windows 固有の脆弱性 (PowerShell コマンドなど) の悪用に関連する要求パターンをブロックするルールが含まれています。攻撃者が不正なコマンドを実行したり、悪意のあるコードを実行したりする攻撃を防ぐことができます。 Windows オペレーティングシステムマネージドルールグループ
PHP application(PHP アプリケーション)
名前:AWS-AWSManagedRulesPHPRuleSet
100 安全でない PHP 関数の挿入など、PHP の使用に固有の脆弱性を悪用する要求パターンをブロックするルールが含まれています。サーバに PHP が使用される場合は適用するのがおすすめです。 PHP アプリケーションマネージドルールグループ
WordPress application(WordPressアプリケーション)
名前:AWS-AWSManagedRulesWordPressRuleSet
100 WordPress に固有の脆弱性の悪用に関連するリクエストパターンをブロックするルールが含まれています。WordPress を利用される場合は適用するのがおすすめです。 WordPress アプリケーションマネージドルールグループ
IP 評価ルールグループ
Amazon IP reputation list(Amazon IP レピュテーションリスト)
名前:AWS-AWSManagedRulesAmazonIpReputationList
25 Amazon 脅威インテリジェンスという、Amazon が収集している脅威や攻撃方法、既知の不正な IP アドレスなどに関する情報を含むデータベースに基づくルールが含まれています。ボットや既知の不正な IP アドレスからのアクセスをブロックする場合に便利です。 Amazon IP 評価リストマネージドルールグループ
Anonymous IP list(匿名 IP リスト)
名前:AWS-AWSManagedRulesAnonymousIpList
50 VPN・プロキシ・Torノード等、アクセス元を隠す匿名通信を可能にするサービスから発信されたリクエストをブロックできるルールが含まれています。自分の身元を隠そうとする不正アクセスを遮断することができます。 匿名 IP リストマネージドルールグループ

★がついているルールグループの WCU 合計:1,375

一般的な Web アプリケーションを保護するため有効化が推奨されているルールについては以下記事が参考になりますので、ご参照ください。
https://www.wafcharm.com/jp/blog/how-to-choose-aws-managed-rules/

有償のルールグループ

AWS WAF の標準サービス料金を超える追加料金が発生する有償のルールグループです。

マネージドルール Capacity 概要
AWS WAF Fraud Control Account Creation Fraud Prevention (ACFP)
名前:AWS-AWSManagedRulesACFPRuleSet
50 アプリケーションの登録・アカウント作成エンドポイントへのリクエストを検査し、不正なアカウント作成の試みを検出・ブロックします。IP アドレスやセッション単位での一括作成の検知、侵害された認証情報の使用防止など、多角的な方法で悪意あるアカウント作成からアプリケーションを保護します。AWS WAF Fraud Control アカウント作成不正防止 (ACFP) ルールグループ
Account takeover prevention(AWS WAF Fraud Control アカウント乗っ取り防止 (ATP))
名前:AWS-AWSManagedRulesATPRuleSet
50 アプリケーションのログインエンドポイントへのリクエストを検査し、盗まれた認証情報の使用や異常なログイン試行を検出・ブロックします。ダークウェブで流出した認証情報データベースとの照合や、IP アドレス・セッション単位での不審なリクエスト集計、ログイン失敗率の追跡により、アカウント乗っ取りを防止します。AWS WAF Fraud Control アカウント乗っ取り防止 (ATP) ルールグループ
Bot Control(AWS WAF Bot Control)
名前:AWS-AWSManagedRulesBotControlRuleSet
50 リソース消費やダウンタイム、悪意あるアクティビティを引き起こすボットからのリクエストを検出・管理します。「共通」レベルでは従来の検出技術で一般的なボットを識別し、「ターゲットを絞った」レベルではブラウザ調査やフィンガープリント、機械学習を活用して自己識別しない高度なボットも検出・軽減します。AWS WAF Bot Control ルールグループ
AntiDDoS Protection for Layer 7 attacks(AWS WAF 分散サービス拒否 (DDoS) 防止)
名前:AWS-AWSManagedRulesAntiDDoSRuleSet
50 DDoS 攻撃に関与しているか、その可能性が高いリクエストを検出して管理するルールです。AWS WAF 分散サービス拒否 (DDoS) 防止ルールグループ

コストに関して

Web ACL で使用される Web ACL キャパシティーユニット(WCU)

AWS WAF は Web ACL キャパシティーユニット(WCU)を使用して、必要なリソースを計算および制御します。

おわりに

過去に AWS WAF の導入を実施した際の経験を書き残していなかったので、改めて記載しました。ルール選定についてはいろいろな方が様々な観点で既に記事されていると思いますが、自身の導入経験として残しておきます。どなたかのお役に立てば幸いです。

本記事への質問やご要望については画面下部のお問い合わせ「DevelopersIOへのご意見」からご連絡ください。記事に関してお問い合わせいただけます。

参考

https://dev.classmethod.jp/articles/custom-rule-groups-were-created-in-aws-waf-and-logs-were-checked-in-cloudwatch-logs-while-checking-behaviour/

https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/aws-managed-rule-groups-list.html

https://www.wafcharm.com/jp/blog/aws-waf-managed-rules/

https://aws.amazon.com/waf/pricing/

https://dev.classmethod.jp/articles/awswaf-access-deny/

https://www.wafcharm.com/jp/blog/how-to-choose-aws-managed-rules/

この記事をシェアする

FacebookHatena blogX

関連記事