悪質なボットへの対策
Cloudflareのボット管理機能は、リクエストがボットから発信される可能性をスコアリングします。
ボットスコアは1から99の範囲です。低いスコアは、リクエストがスクリプト、APIサービス、または自動エージェントから来ていることを示します。高いスコアは、リクエストが標準のデスクトップまたはモバイルウェブブラウザから人間によって発行されたことを示します。
これらの例では、以下を使用します:
cf.bot_management.scoreを使用してボットからのリクエストをターゲットにしますcf.bot_management.verified_botを使用して既知の良いボット ↗からのリクエストを特定しますcf.bot_management.ja3_hashを使用して特定のJA3フィンガープリントをターゲットにします
最良の結果を得るために:
- ボット分析を使用して、ルールを適用する前にトラフィックについて学びます。
- 小さく始めて、時間をかけてボットの閾値を上げていきます。
あなたのルールは、サイトの性質や誤検知に対する許容度に応じて異なる場合があります。
以下の3つのルールは、悪質なボットに対する基本的な保護を提供します:
ルール1:
- 式:
(cf.bot_management.verified_bot) - アクション: スキップ:
- 残りのカスタムルールすべて
ルール2:
- 式:
(cf.bot_management.score eq 1) - アクション: ブロック
ルール3:
- 式:
(cf.bot_management.score gt 1 and cf.bot_management.score lt 30) - アクション: 管理されたチャレンジ
リクエストが自動化されていることが確実な場合(スコア1)または自動化されている可能性が高い場合(スコア2から29)で、既知の良いボットのリストにない場合、Cloudflareはリクエストをブロックします。
- 式:
(cf.bot_management.score lt 30 and not cf.bot_management.verified_bot) - アクション: ブロック
ボット管理は自動化されたユーザーを検出するため、良い自動化トラフィックを明示的に許可する必要があります — これにはAPIやパートナーAPIが含まれます。
この例は、ブラウザ専用ルールと同じ保護を提供しますが、APIへの自動化トラフィックを許可します。
- 式:
(cf.bot_management.score lt 30 and not cf.bot_management.verified_bot and not starts_with(http.request.uri.path, "/api")) - アクション: ブロック
ボット管理はモバイルトラフィックに対してより敏感である可能性があるため、正当なリクエストをブロックしないように追加のロジックを加えることを検討するかもしれません。
自分のモバイルアプリケーションからのリクエストを処理している場合、その特定のJA3フィンガープリントに基づいて許可することができます。
- 式:
(cf.bot_management.ja3_hash eq "df669e7ea913f1ac0c0cce9a201a2ec1") - アクション: スキップ:
- 残りのカスタムルールすべて
そうでない場合、モバイルトラフィックのために低い閾値を設定することができます。以下のルールは、確実に自動化されたモバイルトラフィックをブロックし、可能性のある自動化トラフィックにチャレンジを行います。
ルール1:
- 式:
(cf.bot_management.score lt 2 and http.user_agent contains "App_Name 2.0") - アクション: ブロック
ルール2:
- 式:
(cf.bot_management.score lt 30 and http.user_agent contains "App_Name 2.0") - アクション: 管理されたチャレンジ
あなたのドメインがモバイル、ブラウザ、APIトラフィックを処理する場合、以下の順序でこれらの例のルールを配置することをお勧めします:
- APIトラフィックのルール
- モバイルトラフィックのルール
- ブラウザトラフィックのルール
静的リソースは、cf.bot_management.scoreフィールドを使用してカスタムルールを作成する際にデフォルトで保護されます。
静的リソースを除外するには、ルール式にnot (cf.bot_management.static_resource)を含めます。詳細については、静的リソースの保護を参照してください。
そこから、特定のリクエストパス(/loginや/signup)、一般的なトラフィックパターン、またはその他の多くの特性に基づいてカスタムルールを調整できます。
ボット分析やセキュリティイベントを確認して、ルールの調整が必要かどうかを確認してください。