誤遮断とすりぬけの難しい関係:Cloudflareのマネージドルールがあえてブロックしない理由
Cloudflareのセキュリティ機能を使い始めたとき、こんな疑問を持ったことはありませんか?
「マネージドルールを有効にしたのに、明らかに怪しいアクセスがブロックされていない…これで本当に大丈夫なの?」
実は、これはCloudflareの設計思想によるものです。今回は、誤遮断(false positive)とすり抜け(false negative)のトレードオフについて、実務的な視点で解説します。
Cloudflareのマネージドルールは保守的
Cloudflareの公式マネージドルール(WAF Managed Rules、Bot Managementなど)は、デフォルトではかなり保守的な設定になっています。
つまり、「怪しいけど確実に攻撃とは言い切れない」アクセスは、基本的にブロックしません。
これは品質が低いという意味ではなく、誤遮断による業務影響を最小限にするための意図的な設計です。
ブロックしない具体例
実際にどんなケースがブロックされないのか、いくつか例を見てみましょう。
1. グレーゾーンのBot Score
Bot Managementでは、アクセスに対して0〜100のBot Scoreが付与されます(数値が低いほどボットの可能性が高い)。
明らかに自動化されているっぽいアクセスでも、Bot Scoreが微妙なラインだと、デフォルトではブロックされません。人間とボットの判定が難しいケースでは、「疑わしきは罰せず」というスタンスです。
2. デフォルト閾値に達しないアクセス頻度
異常なアクセスパターンでも、Rate Limitingのデフォルト閾値に達していなければスルーされます。
通常のユーザーよりも明らかに高頻度でアクセスしているIPがあっても、Cloudflareのデフォルト設定では「これくらいは正常の範囲内」と判断されることがあります。サイトによって「正常なアクセス頻度」は大きく異なるためです。
3. アポストロフィを含む正規の入力
フォームに出版社名や英文を入力したときにアポストロフィが含まれていても、すぐにはブロックされません。
アポストロフィはSQLインジェクション攻撃でよく使われる文字ですが、英語圏では普通の文章にも頻繁に登場します。また、技術ブログのコメント欄にサンプルコードを投稿するような正当な用途もあります。
文字列だけで攻撃と判断すると、正規ユーザーの入力を大量に誤遮断してしまうため、Cloudflareは文脈も含めて総合的に判断しています。
なぜブロックしないのか
誤遮断の影響は甚大
正規のユーザーやビジネス上重要なアクセスを誤ってブロックしてしまうと、その影響は計り知れません:
- ECサイトで購入手続き中のユーザーがブロックされる
- 重要な取引先からのAPIアクセスが拒否される
- 検索エンジンのクローラーが遮断されてSEOに悪影響
攻撃を1回すり抜けさせるより、正規ユーザーを1回誤遮断する方が、ビジネスへのダメージは大きいのです。
「正常な通信」は顧客ごとに違う
ニュースサイトなら数分に一度のアクセスが普通でも、ゲームサーバーなら秒単位で大量のAPIコールが正常かもしれません。
Cloudflareは世界中のあらゆる業種のサイトを守っているため、デフォルト設定は最大公約数的にならざるを得ません。すべての顧客に適した「ちょうどいい厳しさ」は存在しないのです。
すり抜けは後から対処できる
誤遮断は即座に顧客クレームやビジネス損失につながりますが、攻撃のすり抜けは(深刻ではあるものの)ログを見て後から対策を追加できます。
この非対称性も、保守的な設定を選ぶ理由の一つです。
どんな追加設定が必要なのか、運用のポイント
では、実際にセキュリティを強化するにはどうすればいいのでしょうか。
1. カスタムルールで段階的に厳しくする
まずはチャレンジから始めましょう。
いきなりブロックにすると誤遮断のリスクがあるからです。
Bot Scoreの低いアクセスに対してチャレンジを表示し、数日〜数週間ログを監視します。誤遮断がないことを確認してから、徐々にブロックに切り替えたり、閾値を調整していきます。
2. 自サイトに合わせたRate Limitingを設定
あなたのサイトの「正常なアクセスパターン」を把握した上で、カスタムルールを追加します。
例えば、ログイン試行やAPI呼び出しなど、特定のエンドポイントに対して適切な頻度制限を設定します。ECサイトと社内システムでは適切な閾値が全く異なるため、自サイトのログを分析することが重要です。
3. ログモニタリングを習慣化する
Security EventsやFirewall Eventsを定期的に確認し、以下をチェックします:
- チャレンジを通過できなかったアクセスは本当に攻撃だったか
- Allowされているアクセスの中に怪しいパターンはないか
- 特定のIPやUser-Agentからの異常なアクセスはないか
この地道な作業が、誤遮断を避けながらセキュリティを高めるカギです。
4. 環境ごとに設定を変える
開発環境では厳しめの設定でテストし、本番環境では慎重に展開するのが基本です。
Cloudflareの環境別設定機能を使えば、同じドメインでも環境ごとに異なるセキュリティポリシーを適用できます。まずはステージング環境で新しいルールの影響を確認してから、本番に適用しましょう。
まとめ
誤遮断とすり抜けは、セキュリティ運用における永遠のジレンマです。
Cloudflareのマネージドルールが保守的なのは、誤遮断による致命的な影響を避けるための合理的な判断です。
この記事のポイント
- デフォルトは保守的:マネージドルールは誤遮断を最小限にする設計
- 代表的なグレーゾーン:Bot Score微妙なライン、アクセス頻度、正規の特殊文字入力
- 段階的にチューニング:チャレンジ → ログ確認 → ブロック調整のサイクル
重要なのは、「デフォルト設定を有効にしたから安全」と考えるのではなく、自サイトの特性に合わせて段階的にチューニングしていくことです。
あなたのサイトに「ちょうどいい」設定は必ず見つかります。
この記事が、Cloudflare運用のヒントになれば幸いです。