Skip to content

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

マネージドルールのトラブルシューティング

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

デフォルトでは、WAF のマネージドルールセットはほとんどの Web サイトと Web アプリケーションと互換性があります。ただし、誤検知と見逃しが起きることがあります。

  • 誤検知: 正当なリクエストが悪意のあるものとして検出され、緩和されること。
  • 見逃し: 緩和されず、オリジンサーバーに届いてしまった悪意のあるリクエスト。

誤検知の切り分け

正当なリクエストがブロックされた原因を特定するには、Security Events を使います。必要に応じてフィルターを追加し、レポート期間を調整します。

リクエストのどの部分がマネージドルールに一致したかを詳しく知るには、該当するマネージドルールセットで ペイロードログ を有効にします。ペイロードログは、各ルールを発火させた具体的な文字列を記録します(提供したキーペアで暗号化されます)。一致が誤検知かどうかを確認しやすくなります。まだ設定していない場合は、ペイロードログを設定 しておくと、次に誤検知を調べるときに一致ペイロードを利用できます。ペイロードログは Enterprise プランで利用できます。

マネージドルールが原因の誤検知が起きた場合は、次のいずれかを行います。

  • 例外を追加する: 例外 を使うと、特定のリクエストに対して WAF マネージドルールセット全体、または一部のルールの実行をスキップできます。

  • OWASP マネージドルールセットを調整する: ID が 、説明が 949110: Inbound Anomaly Score Exceeded のルールでブロックされたリクエストは、Cloudflare OWASP Core Ruleset を指します。解消するには、OWASP マネージドルールセットを設定 します。

  • 該当するマネージドルールを無効にする: オーバーライドを作成して、特定のルールを無効にします。誤検知は避けられますが、サイト全体のセキュリティも下がります。マネージドルールセットの設定は ダッシュボードの手順、オーバーライドの作成は API の手順 を参照してください。

追加の推奨事項

  • 特定の 1 本のルールが誤検知の原因なら、ルールセット全体ではなく、そのルールだけを無効にします。

  • Web サイトの管理者領域で誤検知が起きる場合は、サイトリソースの管理セクションに対してマネージドルールを無効にする 例外 を追加します。次のような式を使えます。

    http.host eq "example.com" and starts_with(http.request.uri.path, "/admin")

  • WAF マネージドルールセットは、標準的な HTTP リクエスト内容の検査向けです。バイナリ内容をアップロードするリクエスト(ファイルアップロードなど)は攻撃ペイロードに似て見え、誤検知の原因になることがあります。ファイルアップロードの悪意ある内容をスキャンするには、そのトラフィックをマネージドルールに頼るのではなく、悪意のあるアップロード検出 を使います。

見逃しの切り分け

見逃しを特定するには、オリジンサーバーの HTTP ログを確認します。

見逃しを減らすには、次のチェックリストを使います。

  • HTTP トラフィックを扱う DNS レコードは Cloudflare 経由でプロキシ されていますか。
    Cloudflare が緩和するのは、プロキシされたトラフィックのリクエストだけです。

  • ゾーンに WAF マネージドルールセット のいずれかをデプロイしていますか。
    ルールを適用するには、マネージドルールセットをデプロイ する必要があります。

  • 例外 でマネージドルールをスキップしていませんか。
    Security Events で、スキップされているリクエストを探します。必要なら、ブロックすべき攻撃トラフィックに一致するよう、例外の式を調整します。

  • デフォルトでは有効になっていない、必要なマネージドルールを有効にしていますか。
    WAF マネージドルールセットのルールは、すべてがデフォルトで有効ではありません。個々のマネージドルールを確認してください。

    • たとえば、Cloudflare は空のユーザーエージェントのリクエストをデフォルトで許可します。空のユーザーエージェントのリクエストをブロックするには、Cloudflare Managed Ruleset の ID のルールを有効にします。
    • 別の例: 緩和されていない SQL インジェクション(SQLi)攻撃をブロックしたい場合は、Cloudflare Managed Ruleset で sqli タグが付いた関連マネージドルールが有効になっていることを確認します。

    手順は マネージドルールセットを設定する を参照してください。

  • 攻撃トラフィックが、すべてのマネージドルールをスキップ するカスタムルールに一致していませんか。
    必要なら、攻撃トラフィックに適用されないよう、カスタムルールの式を調整します。

  • 攻撃トラフィックが、IP Access rules で許可した ASN、IP 範囲、または IP アドレスに一致していませんか。
    IP Access rules を見直し、許可ルールが攻撃トラフィックに一致していないことを確認します。

  • 悪意のあるトラフィックがオリジンの IP アドレスへ直接届き、Cloudflare の保護を迂回していませんか。
    オリジンサーバーでは、Cloudflare の IP アドレス 以外のトラフィックをすべてブロックします。

追加の推奨事項

上記を確認しても WAF のマネージドルールセットが特定の攻撃パターンを検出しない場合は、次を検討します。

  • シグネチャベースのマネージドルールを補うために、WAF 攻撃スコア を使います。攻撃スコアは、マネージドルールが一致しない場合でも、各リクエストが悪意のあるものである可能性を示すスコアで分類します。

  • 特定の攻撃パターンをブロックする カスタムルール を作成します。URI パス、クエリ文字列、HTTP リクエストヘッダーなどのフィールドで、悪意のあるリクエストに一致させます。

役に立ちましたか?