Bot Fight Mode は、ドメイン上のボットトラフィックの検出と軽減を助ける、シンプルな無料プロダクトです。有効にすると、次を行います。
- 既知のボットのパターンに一致するトラフィックを識別します
- 計算コストの高いチャレンジを発行し、クライアントに CPU 負荷の高い計算を強制して、ボットが自動リクエストを送るコストを上げます
- 該当する場合、Bandwidth Alliance ↗ のパートナーにボットを無効化するよう通知します
Bot Fight Mode と Super Bot Fight Mode は、Bot Management ↗ 製品と同じ基盤技術を使います。具体的には、これらの製品は次のとおりです。
- エンドポイント制限なしでドメイン全体を保護します
- WAF カスタムルールではカスタマイズ、調整、再設定できません
これらの製品はインターネット上の悪意ある行為者への対策として設計されていますが、API やモバイルアプリのトラフィックにもチャレンジすることがあります。より細かい制御が必要な場合は、Bot Management for Enterprise へアップグレードしてください。
カスタムルール、Managed Rules、Bot Fight Mode など、複数のアプリケーションセキュリティ機能を使っている場合は、これらの機能がどのように連携するか、どの順序で実行されるかを把握することが重要です。詳細は セキュリティ機能の相互運用性 を参照してください。
Bot Fight Mode の利用を始めるには:
-
Cloudflare ダッシュボードで Security Settings ページを開きます。
Settings を開く ↗ -
Bot traffic で絞り込みます。
-
Bot fight mode を開きます。
-
Bot fight mode をオンにします。
Bot Fight Mode がアプリケーションのトラフィックに問題を起こしている場合は、無効にできます。
Bot Fight Mode を無効にするには:
-
Cloudflare ダッシュボードで Security Settings ページを開きます。
Settings を開く ↗ -
Bot traffic で絞り込みます。
-
Bot Fight Mode に移動します。
-
Bot Fight Mode をオフにします。
AI ボットをブロックする を参照してください。
ボット関連のアクションは、Security > Analytics を開き、Events タブを選ぶと確認できます。このプロダクトがチャレンジしたリクエストは、Service 欄に Bot Fight Mode と表示されます。ボットトラフィックの傾向を観察、分析、追跡できます。
WAF カスタムルールや Page Rules で Bot Fight Mode をバイパスまたはスキップすることはできません。Bot Fight Mode は Ruleset Engine では動かず、別の評価パイプラインで動作するためです。そこでは Skip、Bypass、Allow アクションは効果がありません。
特定のトラフィック(自前の API クライアントや監視ツールなど)に例外を作る必要がある場合は、代わりに Super Bot Fight Mode を使います。Super Bot Fight Mode は Ruleset Engine 上で動き、Skip ルールに対応しています。
IP Access rules がある場合でも Bot Fight Mode は発火できます。ただし、IP Access rule が先にリクエストに一致した場合は発火しません。
Bot Fight Mode のお客様では、JavaScript Detections は automatically enabled and cannot be disabled です。
Content Security Policy(CSP) を使っている場合、JavaScript Detections を実装するには追加の手順が必要です。
/cdn-cgi/challenge-platform/以下をすべて許可します。CSP では、オリジンドメインから配信されるスクリプトを許可する必要があります(script-src self)。nonce付きの script タグについて:-
CSP が script タグに
nonceを使っている場合、Cloudflare は CSP レスポンスヘッダーを解析し、注入するスクリプトにこれらの nonce を追加します。 -
CSP が script タグに
nonceを使っておらず、JavaScript Detections が有効な場合、Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self'". Either the 'unsafe-inline' keyword, a hash ('sha256-b123b8a70+4jEj+d6gWI9U6IilUJIrlnRJbRR/uQl2Jc='), or a nonce ('nonce-...') is required to enable inline execution.のようなコンソールエラーが出ることがあります。unsafe-inlineの使用は強く非推奨です。代わりに、CDN で解析・対応している CSP のnonceを script タグで使うことを推奨します。
-