Skip to content

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

悪意のあるボットにチャレンジを出す

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

Cloudflare の Bot Management は、リクエストがボットから来ている可能性をスコア化します。

ボット設定

ボット対策のカスタムルールを作る前に、Security Settings ページの Bot traffic で設定を確認します。組み込み機能は新しいボットシグネチャで自動更新され、カスタムルールの上限には含まれず、管理も簡単です。

用途 ボット設定
AI クローラー(GPTBot、ClaudeBot など)をブロックする Block AI bots
確実に自動化されたトラフィック(ボットスコア 1)をブロックする Definitely automated
自動化の可能性が高いトラフィック(ボットスコア 2〜29)にチャレンジを出す Likely automated
検証済みボット(Googlebot、Bingbot など)を許可する Verified bots
静的リソースにもボット対策を広げる Static resource protection
WordPress のループバックリクエストを許可する Optimize for WordPress

カスタムルールは、パスごとの保護(/api//login/ で扱いを変える)、独自のスコアしきい値(たとえば 30 ではなく 20 未満)、ボットスコアとほかのフィールドを組み合わせる条件、組み込み設定にない独自アクションが必要なときに役立ちます。

ボットスコアは 1 から 99 です。低いスコアは、リクエストがスクリプト、API サービス、または自動エージェントから来ていることを示します。高いスコアは、人が標準のデスクトップまたはモバイル Web ブラウザーから出したリクエストであることを示します。

これらの例では次を使います。

推奨ルール

最良の結果を得るには、次を行います。

  • ルールを適用する前に、Bot Analytics でトラフィックを把握します。
  • 小さく始めて、ボットのしきい値を徐々に上げます。

ルールは、サイトの性質 や誤検知への許容度によっても変わります。

一般的な保護

次の 3 つのカスタムルールは、悪意のあるボットに対する基本的な保護を提供します。

ルール 1: 検証済みボットをスキップする

ルール 2: 確実に自動と判断したトラフィックをブロックする

  • Expression: (cf.bot_management.score eq 1)
  • Action: Block
  • スコア 1 のトラフィックは、確実に自動です。ブロックしても偽陽性のリスクはごく小さいです。

ルール 3: 自動である可能性が高いトラフィックにチャレンジする

  • Expression: (cf.bot_management.score gt 1 and cf.bot_management.score lt 30)
  • Action: Managed Challenge
  • スコア 2〜29 は、自動である可能性が高い挙動を示します。チャレンジにより、正当なユーザーは通過でき、ボットは止まります。

ブラウザー、API、モバイルトラフィック向けの個別保護

ブラウザーエンドポイントを保護する

リクエストが確実に自動化されている(スコア 1)、または自動化の可能性が高い(スコア 2〜29)かつ、既知の善良なボットの一覧にない場合、Cloudflare はそのリクエストをブロックします。

  • : (cf.bot_management.score lt 30 and not cf.bot_management.verified_bot)
  • アクション: Block

API トラフィックを除外する

Bot Management は自動化されたユーザーを検出するため、正当な 自動トラフィックを明示的に許可する必要があります。これには 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"))
  • アクション: Block

モバイルトラフィック向けに調整する

Bot Management はモバイルトラフィックにより敏感なことがあるため、正当なリクエストをブロックしないよう、追加の条件を入れることがあります。

自社のモバイルアプリケーションからのリクエストを扱う場合は、その JA3 フィンガープリント に基づいて許可できます。

  • : (cf.bot_management.ja3_hash eq "df669e7ea913f1ac0c0cce9a201a2ec1")
  • アクション: Skip:
    • All remaining custom rules

それ以外の場合は、モバイルトラフィック向けにしきい値を下げます。次のルールは、確実に自動化されたモバイルトラフィックをブロックし、自動化の可能性が高いトラフィックにチャレンジを出します。

ルール 1:

  • : (cf.bot_management.score lt 2 and http.user_agent contains "App_Name 2.0")
  • アクション: Block

ルール 2:

  • : (cf.bot_management.score lt 30 and http.user_agent contains "App_Name 2.0")
  • アクション: Managed Challenge

ルールを組み合わせる

ドメインがモバイル、ブラウザー、API のトラフィックを扱う場合は、これらの例のルールを次の順に並べます。

静的リソースの保護

cf.bot_management.score フィールドを使ってカスタムルールを作ると、静的リソースはデフォルトで保護されます。

静的リソースを除外するには、ルール式に not (cf.bot_management.static_resource) を含めます。詳細は 静的リソースの保護 を参照してください。

その他の考慮事項

そこから、特定のリクエストパス(/login/signup)、よくあるトラフィックパターン、その他多くの特性に基づいて、カスタムルールを調整できます。

ルールの追加調整が必要かどうかを確認するには、Bot AnalyticsSecurity Events を確認してください。


その他のリソース

役に立ちましたか?