Web Application Firewall ポリシー (WAF) には、一般的な脆弱性や悪用から Web アプリケーションを保護するためのマネージド ルール セット (Default Rule Set (DRS)/Core Rule Set (CRS)) が用意されています。
なお、DRS 2.1 以降/CRS を使用する場合、既定で「異常スコアリング」モードが構成されます。
この「異常スコアリング」モードは、Web 要求でルールに合致、検出された場合、WAF の動作モードが「防止」あっても直ぐにブロックせず、異常スコアの合計がしきい値 (5 以上) を超えるとブロックされるものとなります。
異常スコアの値は、重要度によって以下のとおり決められており、各ルールごとに重要度が設定されていますが、ルールに対する重要度が何であるのかについて、Microsoft から公開されていないようです。
| ルールの重要度 | 異常スコア値 |
|---|---|
| CRITICAL (Critical) | 5 |
| ERROR (エラー) | 4 |
| WARNING (警告) | 3 |
| NOTICE (注意事項) | 2 |
Azure Monitor ログ (ApplicationGatewayFirewallLog) から確認しても、ルールに重要度に関する情報が存在していなかったため、下記 Github リポジトリの情報をもとにマネージド ルール セット (OWASP CRS 3.2) の各ルールに対する重要度を確認、表として纏めました。
- OWASP Core Rule Set (CRS) rules
https://github.com/coreruleset/coreruleset/tree/v3.2/master/rules
- マネージド ルール セット (OWASP CRS 3.2) に対する重要度一覧
- General
- REQUEST-911-METHOD-ENFORCEMENT
- REQUEST-913-SCANNER-DETECTION
- REQUEST-920-PROTOCOL-ENFORCEMENT
- REQUEST-921-PROTOCOL-ATTACK
- REQUEST-930-APPLICATION-ATTACK-LFI
- REQUEST-931-APPLICATION-ATTACK-RFI
- REQUEST-932-APPLICATION-ATTACK-RCE
- REQUEST-933-APPLICATION-ATTACK-PHP
- REQUEST-941-APPLICATION-ATTACK-XSS
- REQUEST-942-APPLICATION-ATTACK-SQLI
- REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION
- REQUEST-944-APPLICATION-ATTACK-JAVA
- Known-CVEs
- 参考・関連リンク
スポンサーリンク
マネージド ルール セット (OWASP CRS 3.2) に対する重要度一覧
General
| ルール ID | 説明 | 重要度 |
|---|---|---|
| 200002 | 要求本文を解析できませんでした。 | 不明 |
| 200003 | マルチパートの要求本文が厳密な検証に失敗しました。 | 不明 |
| 200004 | 可能性のあるマルチパートによる不一致の境界。 | 不明 |
REQUEST-911-METHOD-ENFORCEMENT
| ルール ID | 説明 | 重要度 |
|---|---|---|
| 911100 | メソッドがポリシーによって許可されていません。 | CRITICAL |
REQUEST-913-SCANNER-DETECTION
| ルール ID | 説明 | 重要度 |
|---|---|---|
| 913100 | セキュリティ スキャナーに関連付けられている User-Agent が検出されました。 | CRITICAL |
| 913101 | スクリプティング/汎用 HTTP クライアントに関連付けられている User-Agent が検出されました。 | CRITICAL |
| 913102 | Web クローラー/ボットに関連付けられている User-Agent が検出されました。 | CRITICAL |
| 913110 | セキュリティ スキャナーに関連付けられている要求ヘッダーが検出されました。 | CRITICAL |
| 913120 | セキュリティ スキャナーに関連付けられている要求ファイル名/引数が検出されました。 | CRITICAL |
REQUEST-920-PROTOCOL-ENFORCEMENT
| ルール ID | 説明 | 重要度 |
|---|---|---|
| 920100 | 無効な HTTP 要求行です。 | WARNING |
| 920120 | マルチパート/フォームデータのバイパスを試行しました。 | CRITICAL |
| 920121 | マルチパート/フォームデータのバイパスを試行しました。 | CRITICAL |
| 920160 | Content-Length HTTP ヘッダーが数値ではありません。 | CRITICAL |
| 920170 | 本文コンテンツがある GET または HEAD 要求です。 | CRITICAL |
| 920171 | 転送エンコードがある GET または HEAD 要求です。 | CRITICAL |
| 920180 | POST 要求に Content-Length ヘッダーがありません。 | WARNING |
| 920190 | 範囲 : 無効な最終バイト値です。 | WARNING |
| 920200 | 範囲 : フィールドが多すぎます (6 以上)。 | WARNING |
| 920201 | 範囲 : pdf 要求のフィールドが多すぎます (35 以上)。 | WARNING |
| 920202 | 範囲 : pdf 要求のフィールドが多すぎます (6 以上)。 | WARNING |
| 920210 | 複数の/競合している接続ヘッダー データが見つかりました。 | WARNING |
| 920220 | URL エンコード悪用攻撃が試行されました。 | WARNING |
| 920230 | 複数の URL エンコードが検出されました。 | WARNING |
| 920240 | URL エンコード悪用攻撃が試行されました。 | WARNING |
| 920250 | UTF8 エンコード悪用攻撃が試行されました。 | WARNING |
| 920260 | Unicode 全/半角悪用攻撃が試行されました。 | WARNING |
| 920270 | 要求に無効な文字が含まれています (null 文字)。 | CRITICAL |
| 920271 | 要求に無効な文字が含まれています (印字できない文字)。 | CRITICAL |
| 920272 | 要求に無効な文字が含まれています (ascii 127 より下の印字できる文字以外)。 | CRITICAL |
| 920273 | 要求に無効な文字が含まれています (非常に厳格なセット以外)。 | CRITICAL |
| 920274 | 要求ヘッダーに無効な文字が含まれています (非常に厳格なセット以外)。 | CRITICAL |
| 920280 | 要求にホスト ヘッダーがありません。 | WARNING |
| 920290 | ホスト ヘッダーが空です。 | WARNING |
| 920300 | 要求に Accept ヘッダーがありません。 | NOTICE |
| 920310 | 要求に空の Accept ヘッダーがあります。 | NOTICE |
| 920311 | 要求に空の Accept ヘッダーがあります。 | NOTICE |
| 920320 | User Agent ヘッダーがありません。 | NOTICE |
| 920330 | User Agent ヘッダーが空です。 | NOTICE |
| 920340 | 要求にコンテンツは含まれていますが、Content-Type ヘッダーがありません。 | NOTICE |
| 920341 | コンテンツを含む要求には、Content-Type ヘッダーが必要です。 | CRITICAL |
| 920350 | ホスト ヘッダーが数値 IP アドレスです。 | WARNING |
| 920420 | 要求のコンテンツの種類がポリシーによって許可されていません。 | CRITICAL |
| 920430 | HTTP プロトコルのバージョンがポリシーによって許可されていません。 | CRITICAL |
| 920440 | URL ファイル拡張子がポリシーによって制限されています。 | CRITICAL |
| 920450 | HTTP ヘッダーがポリシーによって制限されています (%{MATCHED_VAR})。 | CRITICAL |
| 920460 | 異常なエスケープ文字です。 | CRITICAL |
| 920470 | 無効な Content-Type ヘッダーです。 | CRITICAL |
| 920480 | Content-Type ヘッダー内の文字セット パラメーターを制限します。 | CRITICAL |
REQUEST-921-PROTOCOL-ATTACK
| ルール ID | 説明 | 重要度 |
|---|---|---|
| 921110 | HTTP 要求スマグリング攻撃です。 | CRITICAL |
| 921120 | HTTP 応答分割攻撃です。 | CRITICAL |
| 921130 | HTTP 応答分割攻撃です。 | CRITICAL |
| 921140 | ヘッダーによる HTTP ヘッダー インジェクション攻撃です。 | CRITICAL |
| 921150 | ペイロードによる HTTP ヘッダー インジェクション攻撃です (CR/LF を検出)。 | CRITICAL |
| 921151 | ペイロードによる HTTP ヘッダー インジェクション攻撃です (CR/LF うぃ検出)。 | CRITICAL |
| 921160 | ペイロードによる HTTP ヘッダー インジェクション攻撃です (CR/LF および header-name を検出)。 | CRITICAL |
| 921170 | HTTP パラメーター汚染です。 | 不明 |
| 921180 | HTTP パラメーター汚染です (%{TX.1})。 | CRITICAL |
REQUEST-930-APPLICATION-ATTACK-LFI
| ルール ID | 説明 | 重要度 |
|---|---|---|
| 930100 | パス トラバーサル攻撃です (/../)。 | CRITICAL |
| 930110 | パス トラバーサル攻撃です (/../)。 | CRITICAL |
| 930120 | OS ファイル アクセスが試行されました。 | CRITICAL |
| 930130 | 制限付きファイル アクセスが試行されました。 | CRITICAL |
REQUEST-931-APPLICATION-ATTACK-RFI
| ルール ID | 説明 | 重要度 |
|---|---|---|
| 931100 | リモート ファイル インクルード (RFI) 攻撃の可能性あり : IP アドレスを使用している URL パラメーター | CRITICAL |
| 931110 | リモート ファイル インクルード (RFI) 攻撃の可能性あり : URL ペイロードと共に使用される一般的な RFI 脆弱性パラメーター名 | CRITICAL |
| 931120 | リモート ファイル インクルード (RFI) 攻撃の可能性あり : 末尾の疑問符 (?) と共に使用される URL ペイロード | CRITICAL |
| 931130 | 可能性のあるリモート ファイル インクルード (RFI) 攻撃 : ドメイン外参照/リンク | CRITICAL |
REQUEST-932-APPLICATION-ATTACK-RCE
| ルール ID | 説明 | 重要度 |
|---|---|---|
| 932100 | リモート コマンド実行 : UNIX コマンド インジェクション | CRITICAL |
| 932105 | リモート コマンド実行 : UNIX コマンド インジェクション | CRITICAL |
| 932106 | リモート コマンド実行 : UNIX コマンド インジェクション | CRITICAL |
| 932110 | リモート コマンド実行 : Windows コマンド インジェクション | CRITICAL |
| 932115 | リモート コマンド実行 : Windows コマンド インジェクション | CRITICAL |
| 932120 | リモート コマンド実行 : Windows PowerShell コマンドが見つかりました。 | CRITICAL |
| 932130 | リモート コマンド実行 : Unix シェル式または Confluence の脆弱性 (CVE-2022-26134) または Text4Shell (CVE-2022-42889) が見つかりました。 | CRITICAL |
| 932140 | リモート コマンド実行 : Windows FOR/IF コマンドが見つかりました。 | CRITICAL |
| 932150 | リモート コマンド実行 : Unix コマンドの直接実行が試行されました。 | CRITICAL |
| 932160 | リモート コマンド実行 : Unix シェル コードが見つかりました。 | CRITICAL |
| 932170 | リモート コマンド実行 : Shellshock (CVE-2014-6271) | CRITICAL |
| 932171 | リモート コマンド実行 : Shellshock (CVE-2014-6271) | CRITICAL |
| 932180 | 制限付きファイル アップロードが試行されました。 | CRITICAL |
| 932190 | リモート コマンド実行: ワイルドカードのバイパス方法が試行されました。 | CRITICAL |
REQUEST-933-APPLICATION-ATTACK-PHP
| ルール ID | 説明 | 重要度 |
|---|---|---|
| 933100 | PHP インジェクション攻撃 : 開始または終了タグが見つかりました。 | CRITICAL |
| 933110 | PHP インジェクション攻撃 : PHP スクリプト ファイルのアップロードが見つかりました。 | CRITICAL |
| 933111 | PHP インジェクション攻撃 : PHP スクリプト ファイルのアップロードが見つかりました。 | CRITICAL |
| 933120 | PHP インジェクション攻撃 : 構成ディレクティブが見つかりました。 | CRITICAL |
| 933130 | PHP インジェクション攻撃 : 変数が見つかりました。 | CRITICAL |
| 933131 | PHP インジェクション攻撃 : 変数が見つかりました。 | CRITICAL |
| 933140 | PHP インジェクション攻撃 : I/O ストリームが見つかりました。 | CRITICAL |
| 933150 | PHP インジェクション攻撃 : 危険度の高い PHP 関数名が見つかりました。 | CRITICAL |
| 933151 | PHP インジェクション攻撃 : 危険度が中程度の PHP 関数名が見つかりました。 | CRITICAL |
| 933160 | PHP インジェクション攻撃 : 危険度の高い PHP 関数呼び出しが見つかりました。 | CRITICAL |
| 933161 | PHP インジェクション攻撃 : 低い値の PHP 関数呼び出しが見つかりました。 | CRITICAL |
| 933170 | PHP インジェクション攻撃 : シリアル化されたオブジェクトが挿入されています。 | CRITICAL |
| 933180 | PHP インジェクション攻撃 : 関数呼び出しが見つかりました。 | CRITICAL |
| 933190 | PHP インジェクション攻撃 : PHP の終了タグが見つかりました。 | CRITICAL |
| 933200 | PHP インジェクション攻撃 : ラッパー スキームが検出されました。 | CRITICAL |
| 933210 | PHP インジェクション攻撃 : 関数呼び出しが見つかりました。 | CRITICAL |
REQUEST-941-APPLICATION-ATTACK-XSS
| ルール ID | 説明 | 重要度 |
|---|---|---|
| 941100 | libinjection を経由した XSS 攻撃が検出されました。 | CRITICAL |
| 941101 | libinjection を経由した XSS 攻撃が検出されました。 このルールでは、Referer ヘッダーを持つ要求が検出されます。 |
CRITICAL |
| 941110 | XSS フィルター - カテゴリ 1 : スクリプト タグ ベクター | CRITICAL |
| 941120 | XSS フィルター - カテゴリ 2 : イベント ハンドラー ベクター | CRITICAL |
| 941130 | XSS フィルター - カテゴリ 3 : 属性ベクター | CRITICAL |
| 941140 | XSS フィルター - カテゴリ 4 : JavaScript URI ベクター | CRITICAL |
| 941150 | XSS フィルター - カテゴリ 5 : 許可されていない HTML 属性 | CRITICAL |
| 941160 | NoScript XSS InjectionChecker : HTML インジェクション | CRITICAL |
| 941170 | NoScript XSS InjectionChecker : 属性インジェクション | CRITICAL |
| 941180 | ノード検証コントロールのブラックリスト キーワード | CRITICAL |
| 941190 | スタイル シートを使用する XSS - 攻撃が検出されました。 | CRITICAL |
| 941200 | VML フレームを使用する XSS - 攻撃が検出されました。 | CRITICAL |
| 941210 | 難読化された JavaScript または Text4Shell を使用した XSS (CVE-2022-42889) - 攻撃が検出されました。 | CRITICAL |
| 941220 | 難読化 VB Script を使用する XSS - 攻撃が検出されました。 | CRITICAL |
| 941230 | 'embed' タグを使用する XSS - 攻撃が検出されました。 | CRITICAL |
| 941240 | 'import' もしくは 'implementation' 属性を使用する XSS - 攻撃が検出されました。 | CRITICAL |
| 941250 | IE XSS フィルター - 攻撃が検出されました。 | CRITICAL |
| 941260 | 'meta' タグを使用する XSS - 攻撃が検出されました。 | CRITICAL |
| 941270 | 'link' href を使用する XSS - 攻撃が検出されました。 | CRITICAL |
| 941280 | 'base' タグを使用する XSS - 攻撃が検出されました。 | CRITICAL |
| 941290 | 'applet' タグを使用する XSS - 攻撃が検出されました。 | CRITICAL |
| 941300 | 'object' タグを使用する XSS - 攻撃が検出されました。 | CRITICAL |
| 941310 | US-ASCII 非整形式エンコード XSS フィルター - 攻撃が検出されました。 | CRITICAL |
| 941320 | 可能性のある XSS 攻撃が検出されました - HTML タグ ハンドラー | CRITICAL |
| 941330 | IE XSS フィルター - 攻撃が検出されました。 | CRITICAL |
| 941340 | IE XSS フィルター - 攻撃が検出されました。 | CRITICAL |
| 941350 | UTF-7 エンコード IE XSS - 攻撃が検出されました。 | CRITICAL |
| 941360 | JavaScript の難読化が検出されました。 | CRITICAL |
REQUEST-942-APPLICATION-ATTACK-SQLI
| ルール ID | 説明 | 重要度 |
|---|---|---|
| 942100 | libinjection を経由した SQL インジェクション攻撃が検出されました。 | CRITICAL |
| 942110 | SQL インジェクション攻撃 : 一般的なインジェクション テストが検出されました | WARNING |
| 942120 | SQL インジェクション攻撃 : SQL 演算子が検出されました | CRITICAL |
| 942130 | SQL インジェクション攻撃 : SQL トートロジーが検出されました。 | CRITICAL |
| 942140 | SQL インジェクション攻撃 : 共通 DB 名が検出されました | CRITICAL |
| 942150 | SQL インジェクション攻撃 | CRITICAL |
| 942160 | sleep() または benchmark() を用いた、ブラインド sqli テストを検出しました。 | CRITICAL |
| 942170 | 条件付きクエリも含めた、SQL ベンチマークとスリープ インジェクション試行を検出しました | CRITICAL |
| 942180 | 基本的な SQL 認証のバイパスの試行 1/3 を検出しました。 | CRITICAL |
| 942190 | MSSQL コード実行と情報収集の試行を検出しました。 | CRITICAL |
| 942200 | MySQL コメント/スペース難読化インジェクションとバッククォートの終了を検出しました。 | CRITICAL |
| 942210 | チェーンされた SQL インジェクション試行 1/2 を検出しました。 | CRITICAL |
| 942220 | 整数オーバーフロー攻撃を検出しました。これらは、skipfish から取得されます。ただし、3.0.00738585072007e-308 は "マジック番号" クラッシュであるため除きます。 | CRITICAL |
| 942230 | 条件付き SQL インジェクション試行を検出しました。 | CRITICAL |
| 942240 | MySQL 文字セット スイッチと MSSQL DoS 試行を検出しました。 | CRITICAL |
| 942250 | MATCH AGAINST、MERGE、EXECUTE IMMEDIATE インジェクションを検出しました。 | CRITICAL |
| 942251 | HAVING インジェクションを検出しました。 | CRITICAL |
| 942260 | 基本的な SQL 認証のバイパスの試行 2/3 を検出しました。 | CRITICAL |
| 942270 | 基本的な sql インジェクション (mysql oracle などの共通攻撃文字列) を検出しました。 | CRITICAL |
| 942280 | Postgres pg_sleep インジェクション、waitfor delay 攻撃、データベース シャットダウン試行を検出しました。 | CRITICAL |
| 942290 | 基本的な MongoDB SQL インジェクション試行を検出しました。 | CRITICAL |
| 942300 | MySQL コメント、条件、および ch(a)r インジェクションを検出しました。 | CRITICAL |
| 942310 | チェーンされた SQL インジェクション試行 2/2 を検出しました。 | CRITICAL |
| 942320 | MySQL および PostgreSQL ストアド プロシージャ/関数インジェクションを検出しました。 | CRITICAL |
| 942330 | 従来の SQL インジェクション プローブ 1/2 を検出しました。 | CRITICAL |
| 942340 | 基本的な SQL 認証のバイパスの試行 3/3 を検出しました。 | CRITICAL |
| 942350 | MySQL UDF インジェクションと、その他のデータ/構造操作試行を検出しました。 | CRITICAL |
| 942360 | 連結された基本的な SQL インジェクションと SQLLFI 試行を検出しました。 | CRITICAL |
| 942361 | キーワード alter または union に基づいて基本的な SQL インジェクションを検出しました。 | CRITICAL |
| 942370 | 従来の SQL インジェクション プローブ 2/2 を検出しました。 | CRITICAL |
| 942380 | SQL インジェクション攻撃です。 | CRITICAL |
| 942390 | SQL インジェクション攻撃です。 | CRITICAL |
| 942400 | SQL インジェクション攻撃です。 | CRITICAL |
| 942410 | SQL インジェクション攻撃です。 | CRITICAL |
| 942420 | 制限された SQL 文字の異常検出 (Cookie) : 特殊文字数を超過しました (8)。 | WARNING |
| 942421 | 制限された SQL 文字の異常検出 (Cookie) : 特殊文字数を超過しました (3)。 | WARNING |
| 942430 | 制限された SQL 文字の異常検出 (引数) : 特殊文字数が超過しました (12)。 | WARNING |
| 942431 | 制限された SQL 文字の異常検出 (引数) : 特殊文字数を超過しました (6)。 | WARNING |
| 942432 | 制限された SQL 文字の異常検出 (引数) : 特殊文字数を超過しました (2)。 | WARNING |
| 942440 | SQL コメント シーケンスが検出されました。 | CRITICAL |
| 942450 | SQL 16 進数エンコードが識別されました。 | CRITICAL |
| 942460 | メタ文字の異常検出アラート - 反復する非単語文字 | WARNING |
| 942470 | SQL インジェクション攻撃です。 | CRITICAL |
| 942480 | SQL インジェクション攻撃です。 | CRITICAL |
| 942490 | 従来の SQL インジェクション プローブ 3/3 を検出しました。 | CRITICAL |
| 942500 | MySQL のインライン コメントを検出しました。 | CRITICAL |
REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION
| ルール ID | 説明 | 重要度 |
|---|---|---|
| 943100 | 可能性のあるセッション固定攻撃 : HTML への Cookie 値の設定 | CRITICAL |
| 943110 | 可能性のあるセッション固定攻撃 : SessionID パラメーター名とドメイン外参照元 | CRITICAL |
| 943120 | 可能性のあるセッション固定攻撃 : 参照元のない SessionID パラメーター名 | CRITICAL |
REQUEST-944-APPLICATION-ATTACK-JAVA
| ルール ID | 説明 | 重要度 |
|---|---|---|
| 944100 | リモート コマンドの実行 : Apache Struts、Oracle WebLogic | CRITICAL |
| 944110 | リモート コマンドの実行 : ペイロード実行の可能性を検出します (CVE-2017-9805) | CRITICAL |
| 944120 | リモート コマンドの実行 : 可能性のあるペイロード実行とリモート コマンド実行 (CVE-2015-5842) | CRITICAL |
| 944130 | 不審な Java クラスが検出されました。 | CRITICAL |
| 944200 | Java 逆シリアル化 Apache Commons の悪用 - マジック パイトが検出されました。 | CRITICAL |
| 944210 | Java シリアル化の使用の可能性 - マジック パイトが検出されました。 | CRITICAL |
| 944240 | リモート コマンドの実行 : Java シリアル化 (CVE-2021-44228、CVE-2021-45046) | CRITICAL |
| 944250 | リモート コマンドの実行 : 疑わしい Java メソッドが検出されました。 | CRITICAL |
Known-CVEs
| ルール ID | 説明 | 重要度 |
|---|---|---|
| 800100 | Log4j の脆弱性 (CVE-2021-44228、CVE-2021-45046) を検出、軽減するためのルール。 | 不明 |
| 800110 | Spring4Shell 相互作用の試行。 | 不明 |
| 800111 | Spring Cloud ルーティング式インジェクション - CVE-2022-22963 が施行されました。 | 不明 |
| 800112 | Spring Framework の安全でないクラス オブジェクトの悪用 - CVE-2022-22965 が施行されました。 | 不明 |
| 800113 | Spring Cloud Gateway Actuator インジェクション - CVE-2022-22947 が施行されました。 | 不明 |
参考・関連リンク
- Azure Web アプリケーション ファイアウォール (WAF) ポリシーの概要 | Microsoft Learn
https://learn.microsoft.com/ja-jp/azure/web-application-firewall/ag/policy-overview - CRS 規則グループと規則 – Azure Web Application Firewall | Microsoft Learn
https://learn.microsoft.com/ja-jp/azure/web-application-firewall/ag/application-gateway-crs-rulegroups-rules - OWASP ModSecurity Core Rule Set | OWASP Foundation
https://owasp.org/www-project-modsecurity-core-rule-set/


