AWS Managed Rules for AWS WAF について整理

概要

AWS が提供している AWS Managed Rules for AWS WAF で、どんな攻撃を防御可能かを知りたい。

セキュリティ製品はレイヤーごとに防げる攻撃が違う。AWS の責任共有モデル と一緒に、どこをユーザ側で守っていかないといけないか理解する。

  • WAF : アプリケーション(SQLi, XSS, DDoS など)、Webサーバも一部
  • IPS(IDS) : TCP/HTTP、OS、Webサーバも一部
  • FW : L3/L4

AWS WAF ルール

大きく3種類ある。今回見ていくのは 2 の AWS が提供するマネージドルール。

  1. ユーザが自分で定義する
  2. AWS が提供するマネージドルール (AWS Managed Rules for AWS WAF)
  3. サードパーティが提供するマネージドルール (v2 に適用可能なやつ)
    • F5
    • Imperva
    • Fortinet
    • Cyber Security Cloud
    • GeoGuardなど

AWS Managed Rules for AWS WAF

AWS Managed Rules for AWS WAF は AWS が提供する AWS WAF 用のルール。
サードパーティ製マネージドルールと違いサブスクライブ料金はかからない。

今の所 AWS WAF v2 (new) の方にのみ提供している?

どんなルールがあるか

AWS Managed Rules for AWS WAF 一覧

現在 11 種類ある。「Anonymous IP List」は途中で増えたルールであるため、今後もルールは増えていくことが期待できる。

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

例えば、 PHP を利用していない Web アプリケーションに No.7 のルールは不要であり、サーバが Linux の場合は No.10 のルールは不要。
要件に合わせて適用すべきルールを選択していく必要がある。

Core rule set

AWS Managed Rules のなかで特に Capacity が大きいのが「Core rule set」。
このルールは OWASP Top 10 で指摘されている脆弱性に対する防御を行ってくれるとのこと。

AWS で OWASP というと以下のホワイトペーパーが公開されている。

日本語記事だと以下2つが詳しい。

どこから設定する?

Web ACL を作成から、 Add rules の「Add managed rule groups」→ AWS managed rule groups から確認できる。

参考

[アップデート] AWS WAF向けAWS製のManaged Rulesが出ました

AWS Managed Rules for AWS WAF を構成するCloudFormationテンプレートを作ってみた

[アップデート] AWS Managed Rules for AWS WAF に匿名 IP リストのルールが追加されました

新入社員のためのWAF(Web Application Firewall)入門

AWS, AWS WAF

Posted by さいき