AWS WAF マネージドルールの選び方

記事タイトルとURLをコピーする

こんにちは、マネージドサービス部テクニカルサポート課の坂口です。

今回は AWS WAF マネージドルールの選び方についてご紹介いたします。

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

AWS WAF マネージドルールは、AWS が提供しているルールセットであり、一般的なアプリケーションの脆弱性や望ましくないトラフィックからの保護を提供するマネージドサービスです。

docs.aws.amazon.com

AWS WAF マネージドルールグループ一覧

ルールグループ 説明 WCU
Admin protection 公開された管理ページへの外部アクセスをブロックできるルールが含まれています。これは、サードパーティ ソフトウェアを実行している場合、または悪意のある攻撃者がアプリケーションへの管理アクセスを取得するリスクを軽減したい場合に便利です。 100
Amazon IP reputation list このグループには、Amazon 脅威インテリジェンスに基づくルールが含まれています。これは、ボットやその他の脅威に関連するソースをブロックしたい場合に便利です。 25
Anonymous IP list このグループには、視聴者の ID の難読化を許可するサービスからのリクエストをブロックできるルールが含まれています。これには、VPN、プロキシ、Tor ノード、ホスティング プロバイダーからのリクエストが含まれる場合があります。これは、アプリケーションから自分の身元を隠そうとしている可能性のある閲覧者をフィルターで除外する場合に便利です。 50
Core rule set Web アプリケーションに一般的に適用されるルールが含まれます。これにより、OWASP の出版物に記載されている脆弱性を含む、幅広い脆弱性の悪用に対する保護が提供されます。 700
Known bad inputs 無効であることがわかっており、脆弱性の悪用または発見に関連するリクエスト パターンをブロックできるルールが含まれています。これは、悪意のある攻撃者が脆弱なアプリケーションを発見するリスクを軽減するのに役立ちます。 200
Linux operating system LFI 攻撃など、Linux 固有の脆弱性の悪用に関連するリクエスト パターンをブロックするルールが含まれています。これは、ファイルの内容を公開したり、攻撃者がアクセスすべきではないコードを実行したりする攻撃を防ぐのに役立ちます。 200
PHP application 安全でない PHP 関数の挿入など、PHP の使用に特有の脆弱性の悪用に関連するリクエスト パターンをブロックするルールが含まれています。これは、攻撃者がコードやコマンドをリモートで実行できるようにするエクスプロイトを防ぐのに役立ちます。 100
POSIX operating system LFI 攻撃など、POSIX/POSIX 系 OS に特有の脆弱性の悪用に関連するリクエスト パターンをブロックするルールが含まれています。これは、ファイルの内容を公開したり、アクセスを許可すべきではないコードを実行したりする攻撃を防ぐのに役立ちます。 100
SQL database SQL インジェクション攻撃など、SQL データベースの悪用に関連する要求パターンをブロックできるルールが含まれています。これは、不正なクエリのリモート挿入を防ぐのに役立ちます。 200
Windows operating system Windows 固有の脆弱性の悪用に関連する要求パターン (PowerShell コマンドなど) をブロックするルールが含まれています。これは、攻撃者が不正なコマンドを実行したり、悪意のあるコードを実行したりするエクスプロイトを防ぐのに役立ちます。 200
WordPress application WordPress アプリケーション グループには、WordPress サイト固有の脆弱性の悪用に関連するリクエスト パターンをブロックするルールが含まれています。 100

docs.aws.amazon.com

Web ACL Capacity Unit (WCU)

WCU はリソースの処理コストを表します。

Web ACL では、デフォルトで最大 1500 WCU まで使用できます。

そのため、WCU に収まるようにマネージドルールグループを選択する必要がございますが、AWS サポートへ上限緩和申請を行うことで、最大 5000 WCU まで拡張可能です。

docs.aws.amazon.com

AWS WAF マネージドルールグループの選び方

上記を踏まえて、以下の表にまとめました。

○:必須
△:システム要件により選択
▲:実行環境(OS)により選択

ルールグループ 要否 選択した理由 WCU 備考
Admin protection 管理ページを公開している場合は必要 100
Amazon IP reputation list Amazon 内でボットやその他脅威と判断された IP アドレスリストなので必要 25
Anonymous IP list 匿名 IP アドレスからのアクセスを許容できない場合は必要 50
Core rule set これ1つで幅広い脆弱性に対応出来るため必要 700
Known bad inputs 既知の脆弱性に関するルールのため必要 200
Linux operating system 実行環境が Linux の場合は必要 200 ※1
PHP application PHP を使用する場合は必要 100 ※2
POSIX operating system 実行環境が POSIX および POSIXと同等の場合は必要 100 ※3
SQL database DB を使用している場合は必要 200 ※4
Windows operating system 実行環境が Windows の場合は必要 200 ※5
WordPress application WordPress を使用している場合は必要 100 ※6
システム ルールグループ 合計WCU 備考
PHP以外 ◯ + △ + ▲(※1,3,4) 1575 Windows の場合は 1475
PHP ◯ + △ + ▲(※1,2,3,4) 1675 Windows の場合は 1575
WordPress ◯ + △ + ▲(※1,2,3,4,6) 1775 Windows の場合は 1675

まとめ

Windows + PHP 以外の場合を除いて、デフォルト上限の1500 WCU を超えるため、上限緩和申請が必要であることがわかりました。
なお、要件によっては必要・不要のルールグループがあるかと存じます。
あくまでも参考程度に留めてください。

坂口 大樹 (記事一覧)

マネージドサービス部テクニカルサポート課

2023年3月にサーバーワークス入社。

スパイスカレーが好きです。