WAF ルールは、XML 変数(XPath 式を含む)を使用して、調査する必要がある XML 要求本文のフラグメントを指定します。
例:
SecRule XML:/* text_to_match "id:1,phase:2,log,deny,status:403"
XML 要求のテキスト表現が text_to_match
と一致する場合、WAF は要求をブロックします。XML 例外は、XPath 式(XML:/*
など)を使用して指定することもできます。
WAF ルールは、XML:/*
式を使用して、XML 要求本文全体の処理を有効にします。WAF 例外で XPath 式を使用することは非常に効果的で、WAF を構成して XML ドキュメント全体のチェックをスキップしたり、XML ドキュメントの一部のみを WAF 検査から選択的に除外したりできます。
一般的なシナリオでは、CRS ルールで誤検出の WAF ヒットが生成された場合、推奨される支援ワークフローセクションに記載されている手順に従って、特定のルールによる XML 処理を無効にすれば十分です。また、ユーザーが例外を手動で構成し、XPath 式を指定して、ドキュメントの一部を WAF ルールの処理から除外することもできます。
例:XML 要求本文:
<example> <username>joe</username> <password>!@#$%</password> </example>
WAF ルールでヒットが生成される:
match element: XML:/*
推奨される支援ワークフロー オプションに従うと、一致要素 XML:/*
が使用されて、ルール 12345
による XML ドキュメント全体の処理が無効になります。ルールレベルの例外を作成し、一致要素を XML:/example/password
として指定して、WAF ヒットに関係する要素のみを除外することもできます。その結果、WAF は XML ドキュメントの残りの部分を引き続き確認します。