Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

ルールフェーズの相互作用

最終更新 Markdown で表示Agent セットアップ

Cloudflare は、リクエスト処理の機能を フェーズ 単位で評価します。単独では正しいルールでも、別の製品がすでにリクエストを変更または終了していると、動きが変わることがあります。

カスタムルールは書き換え後の URL に対して評価されます

Cloudflare は カスタムルール より先に URL Rewrite Rules を適用します。

Transform Rule が /public-login/internal/login に書き換えると、以降の WAF フェーズは書き換え後のパスを評価します。

つまり、次のようになります。

  • /public-login に一致するカスタムルールは、書き換え後に発火しないことがあります。
  • /internal/login に一致するカスタムルールは、訪問者が /public-login をリクエストしていても発火することがあります。

対処方法

カスタムルールを切り分けるときは、WAF 評価の前に Rewrite Rule が URL を変えていないかを確認します。Trace を使うと、例のリクエストに対するルールの評価順を確認できます。

詳しくは、フェーズ一覧 のリクエスト実行順を参照してください。

IP Access rules はカスタムルールをバイパスできます

IP Access rules は、WAF カスタムルールより先に実行されます。

Allow アクションの IP Access rule がリクエストに一致すると、Cloudflare はそのリクエストに対して、以降のカスタムルールを評価しません。

意味すること

  • 式が正しくても、特定の IP アドレスに対してカスタムルールが「発火しない」ように見えることがあります。
  • 送信元 IP アドレスを早すぎる段階で許可すると、ほかのアプリセキュリティの処理(カスタムルール)が動かなくなります。

対処方法

リクエストが想定外にカスタムルールをバイパスしている場合は、まず一致する IP Access rules を確認します。

Skip と Allow の動きは異なります

IP Access rules の Allow アクションは、WAF カスタムルールで使える Skip アクションとは動きが異なります。

IP Access rules の Allow アクションは、WAF カスタムルール、レート制限ルール、WAF マネージドルール(国レベルのエントリを除く)、非推奨のファイアウォールルールをバイパスします。一致は Security Events に表示されません。許可されたリクエストは、ログやトラッキング用のルールを含め、WAF カスタムルールに到達しません。

WAF カスタムルールの Skip アクションは、WAF マネージドルールなど、特定のアプリケーションセキュリティ製品またはコンポーネントを選択的にスキップするよう Cloudflare に指示します。Skip アクション付きカスタムルールの設定によっては、ほかのセキュリティ製品はリクエストを評価し、ブロックすることがあります。

WAF カスタムルールに Allow アクションはありません。一致したリクエストが何をバイパスするかを制御するには、Skip アクションを使い、スキップする製品またはフェーズを選びます。

対処方法

意図した動きになるよう、設定(IP Access rules と Skip アクション付きカスタムルール)を確認します。

WAF マネージドルールセット の特定ルールが、許可したいリクエストをブロックしている場合は、WAF マネージドルール全体をスキップするのではなく、マネージドルールの例外 を作成して、特定のリクエストに対して特定のマネージドルールまたはルールセットをスキップできます。

Page Rules は現行ルールと同じリクエストビューを使いません

Page Rules はレガシーの動作であり、現行の Rules 製品と完全には一致しません。

混在した設定では、次のようなことが起きることがあります。

  • 書き換えがカスタムルールとマネージドルールに影響する
  • 同じパスを対象に見える Page Rule と現行ルールで、結果が異なる

対処方法

可能であれば、古い Page Rules の動作を現行の Rules 製品へ移行し、リクエストを 1 つのモデルで評価するようにします。

推奨する切り分け手順

WAF の判定が正しく見えない場合は、次を確認します。

  1. 先に実行されたリクエストの書き換えがないか確認します。
  2. 一致する IP Access rules がないか確認します。
  3. リクエストがカスタムルールのフェーズで止まる想定だったか、以降のフェーズをスキップする想定だったかを確認します。
  4. カスタムルールに一致したあとでも、マネージドルールが実行されていないかを確認します。
  5. 利用できる場合は Trace で、フェーズごとの実際の結果を確認します。

役に立ちましたか?