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 ドキュメントの残りの部分を引き続き確認します。