TL

Cloud Service

Bot Management

機械学習とふるまい分析で自動化トラフィックを見分け、悪質ボットだけを選別遮断できる。AWS の WAF Bot Control に近い位置づけ。

中級セキュリティ信頼性パフォーマンス効率
最終更新: 2026-06-28公式ドキュメント ↗
TL;DR要点だけ先に
  • 1.機械学習・ふるまい分析・シグネチャの組み合わせでリクエストごとにボットスコアを算出する。
  • 2.検索エンジン等の善良ボットは許可しつつ、スクレイピングや不正ログインの自動化を選別して遮断できる。
  • 3.エッジ(Cloudflare のネットワーク上)で判定するため、オリジンのアプリ改修なしに導入できる。

解決する課題

  • スクレイピングによる価格情報や在庫データの無断収集、コンテンツの窃取を防ぎたい
  • クレデンシャルスタッフィングや総当たりログインなど、自動化された不正ログイン試行を防ぎたい
  • **在庫買い占め(スニーカーボット等)**やクーポン不正利用など、自動化による業務妨害を止めたい
  • 検索エンジンのクローラーなど善良な自動化(Good Bot)は通しつつ、悪質な自動化だけを選別したい
  • User-Agent 偽装やヘッドレスブラウザなど、単純なルールでは見抜けない高度な自動化に対応したい
  • オリジン側のアプリケーションを改修せずに、エッジ側だけでボット対策を導入したい

主要概念と用語

  • Bot Score(ボットスコア): リクエストごとに算出される、自動化されている確からしさを示すスコア。値が低いほど自動化の可能性が高いと判定される
  • 機械学習検出(ML Detection): 大量のトラフィックパターンから学習したモデルで、既知・未知のボットのふるまいを検出する仕組み
  • ふるまい分析(Behavioral Analysis): マウス操作やリクエスト間隔など、人間とスクリプトで異なる挙動の特徴を継続的に観測して判定する手法
  • JA3/JA4 フィンガープリント: TLS ハンドシェイクの特徴から、クライアントの実装(ブラウザかツールか)を識別する技術
  • Verified Bot(検証済みボット): 検索エンジンや監視サービスなど、素性が確認された善良な自動化を許可リストとして扱う仕組み
  • Definitely Automated / Likely Automated / Likely Human / Verified Human: ボットスコアを人が理解しやすいカテゴリに分類したラベル
  • JS チャレンジ / Managed Challenge: 疑わしいリクエストに対し、ブラウザでの検証やチャレンジを課して人間かどうかを確認する仕組み
  • Super Bot Fight Mode: 中小規模プラン向けに用意された、設定項目を絞った簡易版のボット対策モード
  • 静的リソース保護: 画像や CSS などの静的ファイルへのアクセスにもボット判定を適用できる設定

仕様・制限・クォータ

  • ボットスコアや高度な検出機能の提供範囲は契約プランによって異なり、フル機能は上位プランで利用できる
  • 判定はエッジ(Cloudflare のネットワーク)上でリクエスト単位に行われ、オリジンのアプリケーションコードの変更は不要
  • ルールはWAF のカスタムルールやレート制限と組み合わせて、スコアに応じたアクション(許可・チャレンジ・遮断・ログ記録)を細かく設定できる
  • Verified Bot の一覧は Cloudflare 側で継続的に更新されており、検索エンジンなど素性の確認された自動化を誤って遮断しないよう配慮されている
  • JavaScript を実行できないクライアント(一部の API クライアント等)では、JS チャレンジ系の判定が正しく機能しない場合がある
  • 挙動学習の性質上、導入直後はスコアの精度が安定するまで時間を要することがあり、まずログ観察から始める運用が推奨される
いきなり遮断せず段階導入を

Bot Management を初めて有効化する際は、まずログ記録のみのアクションでスコアの分布と正規トラフィックへの影響を観察し、誤検知が少ないことを確認してから遮断やチャレンジに切り替えると安全です。

内部の仕組み

Bot Management は、リクエストが Cloudflare のエッジに到達した時点で複数のシグナルを組み合わせてボットスコアを算出します。評価に使われる要素には、機械学習モデルによるトラフィックパターン分析、TLS ハンドシェイクの特徴(JA3/JA4 フィンガープリント)、HTTPヘッダーやリクエストの整合性、そして継続的なふるまい分析が含まれます。

これらのシグナルは Cloudflare のグローバルネットワーク全体から集まる大量のトラフィックをもとに学習・更新されており、単一のサイトだけでは見えないボットネットの傾向や新しい自動化ツールの特徴も検出対象になります。算出されたスコアは、検索エンジンなど身元が確認された Verified Bot かどうかの判定と組み合わされ、最終的に「人間らしさ」の指標としてリクエストに付与されます。

このスコアは WAF のカスタムルールやページルールの条件式として参照でき、スコアに応じて許可・Managed Challenge(チャレンジの提示)・遮断・ログ記録といったアクションを振り分けられます。判定はオリジンサーバーに到達する前のエッジ側で完結するため、悪質なボットのトラフィックはオリジンの負荷にならずに処理されます。

スコアだけに依存しない設計を

ボットスコアは強力な判定材料ですが単体で完璧ではありません。ログイン試行にはレート制限、フォーム送信には CAPTCHA 系のチャレンジなど、エンドポイントの性質に応じた多層的なルールと組み合わせることで誤検知・見逃しの双方を減らせます。

設計パターン / ベストプラクティス

  • 段階的にアクションを強める: 導入初期はログ記録のみとし、スコアの分布を観察してからチャレンジ・遮断へ段階的に昇格させる
  • エンドポイントごとに閾値を変える: ログインや検索など負荷の高いエンドポイントは厳しめに、静的コンテンツ配信は緩めになど、用途に応じてスコア閾値を調整する
  • Verified Bot は明示的に許可: 検索エンジンなど善良なクローラーを誤って遮断しないよう、許可ルールを優先順位の高い位置に置く
  • レート制限と併用する: 単発のボット判定だけでなく、短時間の異常なリクエスト頻度もレート制限ルールで別途検出する
  • チャレンジは重要な操作に絞る: ログインやチェックアウトなど不正利用の影響が大きい操作にチャレンジを課し、閲覧系には過度な摩擦を与えない
  • API トラフィックは別ルールを検討: JavaScript を実行しない正規の API クライアントを誤検知しないよう、トークン認証などと組み合わせて判定する

運用・監視

  • ボットスコアの分布やアクションごとのヒット数をログ・分析画面で継続的に確認し、誤検知の兆候を早期に把握する
  • 遮断やチャレンジのルールを変更した際は、正規トラフィックのエラー率やコンバージョン率への影響を前後で比較する
  • 新しい自動化ツールやボットネットの手口は変化し続けるため、定期的にルールとスコア閾値を見直す運用を組み込む
  • 誤検知の申告があった場合は、該当リクエストのスコアと判定根拠をログで確認し、必要に応じて許可ルールで例外を追加する
  • WAF のカスタムルールやレート制限のログと突き合わせ、ボット対策全体としての防御効果を評価する

コスト

項目課金の考え方備考
Bot Management 機能契約プランに応じた利用可否・機能範囲高度な検出機能は上位プランで提供
ルール評価WAF ルール・レート制限と合わせて評価既存の WAF 契約の範囲で動作することが多い
ログ・分析ログ保持期間や分析機能はプランに依存詳細な分析には上位プランが必要な場合がある

具体的な料金体系はプランや契約形態によって変わるため、最新の料金ページで確認してください。判定自体はエッジ側で完結し、オリジン側のコンピューティングリソースを消費しない点がコスト構造上の特徴です。

セキュリティ

  • 多層防御の一部として位置づける: Bot Management 単体に頼らず、WAF のカスタムルール、レート制限、認証強化と組み合わせて防御を厚くする
  • 善良ボットの許可を明確化: 検索エンジンなどの Verified Bot を誤遮断しないことは、SEO や外部連携の観点でも重要
  • チャレンジのバイパス耐性を意識: JS チャレンジのみに依存すると高度な自動化に突破される可能性があるため、ふるまい分析やフィンガープリントも合わせて評価する
  • 機微なエンドポイントを優先保護: ログイン・パスワードリセット・決済など、悪用時の被害が大きい機能から優先的にルールを設計する
  • ログの継続的なレビュー: 判定結果を定期的に見直し、新しい攻撃パターンへのルール追随を怠らない
アンチパターン

すべてのボット判定をいきなり遮断に設定し、検証なしで本番投入するのは避けるべきです。検索エンジンのクローラーや正規の監視ツールまで巻き込んで遮断してしまうと、SEO低下やサービス監視の欠落につながります。必ずログ観察を経てから段階的に厳格化してください。

関連サービス・比較

WAF のカスタムルールが最も関連の深いサービスです。WAF がシグネチャやルール条件による防御を担うのに対し、Bot Management は機械学習とふるまい分析による自動化判定に特化しており、両者を組み合わせて使うのが一般的です。

観点Bot ManagementWAF カスタムルール
主な目的自動化トラフィックの判定と選別既知の攻撃パターン・条件による防御
判定方法機械学習・ふるまい分析・フィンガープリントシグネチャ・条件式のマッチング
典型的な用途スクレイピング対策・不正ログイン対策SQLi/XSS 等の攻撃遮断
善良な自動化への配慮Verified Bot として許可リスト化IP/条件による個別許可が中心
組み合わせスコアを WAF ルールの条件として利用可能Bot スコアを条件式に組み込み可能

ハンズオン / CLI例

# 1. wrangler でログイン・アカウント確認
wrangler login
wrangler whoami

# 2. ゾーンの WAF カスタムルール一覧を確認(Bot スコアを条件に含むルールの確認用)
wrangler zones list

# 3. Cloudflare API 経由で Bot Management の設定状況を取得
curl -s -X GET \
  "https://api.cloudflare.com/client/v4/zones/<zone_id>/bot_management" \
  -H "Authorization: Bearer <api_token>" \
  -H "Content-Type: application/json"

# 4. Bot スコアに基づくルールを含む WAF カスタムルールセットを取得
curl -s -X GET \
  "https://api.cloudflare.com/client/v4/zones/<zone_id>/rulesets/phases/http_request_firewall_custom/entrypoint" \
  -H "Authorization: Bearer <api_token>" \
  -H "Content-Type: application/json"
まずはログモードで挙動を確認

API やダッシュボードから設定を変更する前に、対象ルールをログ記録のみのアクションにして一定期間観察し、正規トラフィックのボットスコア分布を把握してから遮断・チャレンジへ移行すると安全です。

Cloudflare Service

Bot Managementを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

セキュリティ・ID

比較で見る軸

クラウド: Cloudflare / カテゴリ: セキュリティ・ID / 難易度: intermediate

導入後に効く点

検索エンジン等の善良ボットは許可しつつ、スクレイピングや不正ログインの自動化を選別して遮断できる。

先に潰すリスク

サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。

数字・仕様の読み方
クラウド
Cloudflare
カテゴリ
セキュリティ・ID
難易度
intermediate
関連資格
設計柱
security / reliability / performance

判断チェックリスト

  • 自社の用途が「セキュリティ・ID / security」に近いか確認する。
  • 強みである「機械学習・ふるまい分析・シグネチャの組み合わせでリクエストごとにボットスコアを算出する。」が本当に評価軸になるか確認する。
  • 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

セキュリティ・IDsecurityreliabilityperformance