デフォルトでは、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 のマネージドルールセットが特定の攻撃パターンを検出しない場合は、次を検討します。