+ 作るログイン
図を読み込んでいます…
1 / 14
Cloudflare のすべて ― 1機能ずつ、仕組みと存在理由から / 全35本

Cloudflare 07:ボット対策 ― 人か機械かを見分ける

発行
アニメモ公式
版
第1版
改訂
コマ
全14

サイトに来るのは人だけではありません。検索エンジンのような良いボット、買い占めや総当たりをする悪いボット、方針しだいの AI クローラー。Cloudflare がそれらを見分ける信号とボットスコア、確認済みボット、Bot Fight Mode・Super Bot Fight Mode・Bot Management の違い、AI のクローラーへの方針の決め方、そして良い機械まで止めてしまう落とし穴を説明します。

サイトに来るのは、人だけではない

あなたのサイトのアクセスログを開くと、人間のブラウザ以外からのリクエストがたくさん並んでいるはずです。プログラムが自動でサイトにアクセスするものを、まとめてボットと呼びます。Cloudflare の集計でも、インターネットの通信のかなりの割合がボットからのものです。

ボットは、それ自体が悪いものではありません。

ボット何をしているか
Googlebot など検索エンジンに載せるために、ページを読みに来る
死活監視サイトが落ちていないか、数分おきに確かめる
買い占めボット限定品やチケットを、人より速く買い占める
総当たりボット漏れた ID とパスワードでログインを試す
価格の抜き取り競合の価格や在庫を、全ページから自動で集める
AI クローラーAI の学習や回答のために、ページを読みに来る

困るのは、これらがどれも同じ HTTP のリクエストに見えることです。中身は正しいので、05号の WAF では止まりません。1つ1つの回数を抑えても、ボットは IP を変えてくるので、06号のレート制限だけでは足りません。

しかも、ブラウザの名乗り(User-Agent)は、送る側が自由に書けます。「私は Googlebot です」と書くだけなら、誰にでもできます。名乗りを信じて通すと、悪いボットに素通りされます。

※この号の内容は 2026年9月時点の情報です。とくに AI のクローラーに関する機能と既定の設定は、動きの速い分野です。導入のときは必ず公式のドキュメントで確かめてください。

  • Cloudflare のすべて 07 ― ボット対策
  • 1 / 14
  • サイトに来るのは、人だけではない
  • 人のブラウザ
  • Googlebot
  • 死活監視
  • 買い占めボット
  • 総当たりボット
  • 価格の抜き取り
  • AI クローラー
  • どれも同じ HTTP のリクエストに見える。中身が正しいので WAF(05)では止まらない
  • 名乗り(User-Agent)は自由に偽れる。「Googlebot です」と書くだけなら誰でもできる
  • 通信の大きな割合は機械(ボット)。良いものも悪いものも混ざる。

良いボット・悪いボット・使い方次第

ボット対策の難しさは、全部止めればよいわけではないところにあります。

Googlebot を止めれば、検索結果にあなたのサイトが出なくなります。死活監視を止めれば、落ちたときに気づけません。スマホアプリのように、自分のサービスの一部がプログラムからアクセスしていることもあります。一方で、買い占めや総当たりのボットを通せば、お客さんやアカウントが被害を受けます。

そこでボット対策は、単に「機械を止める」のではなく、止めたい機械だけを止めることを目指します。図のように、訪問者を3つに分けて考えると整理しやすくなります。

分類例方針
通したい人のブラウザ、検索エンジン、死活監視、自分のアプリ止めない
止めたい買い占め、総当たり、抜き取り、スパムの投稿止める・確認を出す
方針しだいAI のクローラーサイトの考え方で決める

3つ目の AI のクローラーは、ここ数年で急に増えた新しい種類です。自分の記事を AI の回答に使ってほしい人もいれば、無断で学習に使われたくない人もいます。正解は1つではないので、自分で方針を決めて設定することになります。これはあとのページで詳しく見ます。

  • Cloudflare のすべて 07 ― ボット対策
  • 2 / 14
  • 良いボット・悪いボット・使い方次第
  • 通したい
  • 止めたい
  • 方針しだい
  • 人のブラウザ
  • 買い占めボット
  • AI クローラー
  • Googlebot
  • 総当たりボット
  • 死活監視
  • 価格の抜き取り
  • 全部止めると検索に載らない。全部通すと買い占められる。

どうやって、人か機械かを見分けるのか

Cloudflare は、1つの手がかりだけで人か機械かを決めません。たくさんの信号を重ねて判断します。

信号中身
既知の指紋通信を始めるときの TLS の挨拶や HTTP の送り方には、ソフトごとの癖がある。JA3 や JA4 と呼ばれる指紋で、「本物の Chrome」と「Chrome を名乗る Python のプログラム」を見分けられる
機械学習Cloudflare を流れる膨大な通信から学んだ、ボットらしさのパターン
振る舞い1つのサイトだけでなく、たくさんのサイトでの動き方。人には無理な速さや、決まりきった順番
JavaScript の検査ページの中で小さな検査を動かし、本物のブラウザの環境かどうかを確かめる
送り元の網家庭の回線ではなく、クラウドのデータセンターから来ているか

ここで効いてくるのが、Cloudflare の規模です。1つのサイトだけを見ていては、あるリクエストがボットかどうかは分かりにくいものです。でも、同じ指紋のリクエストが世界中の何千ものサイトで同じ動きをしていれば、それはほぼ確実にボットです。00号で見た「無料の利用者の通信も、見分けるための材料になる」とは、このことです。

  • Cloudflare のすべて 07 ― ボット対策
  • 3 / 14
  • どうやって、人か機械かを見分けるのか
  • 既知の指紋
  • ツールや通信ライブラリ特有の、TLS や HTTP の癖(JA3/JA4 など)
  • 機械学習
  • 膨大な通信から学んだ「ボットらしさ」のパターン
  • 振る舞い
  • サイト全体での動き方。人にはありえない速さや順番
  • JavaScript の検査
  • ブラウザで小さな検査を動かし、本物のブラウザか確かめる
  • 送り元の網
  • クラウドのデータセンターから来ているか
  • 1つの手がかりでは決めない。たくさんの信号を重ねる。

ボットスコア:1〜99 で「人らしさ」を表す

見分けた結果は、ボットスコアという数字で表されます。1〜99 の値で、低いほど機械らしく、高いほど人らしいことを表します。

図の目盛りの上に、訪問者を置いてみました。人のブラウザは右の高いほうに、買い占めや総当たりのボットは左の低いほうに並びます。

スコア目安
1ほぼ確実に機械
2〜29機械らしい
30〜99人らしい

スコアの細かい値をルールの中で使えるのは、Enterprise の Bot Management です。たとえば「スコアが30未満なら止める」「ログイン画面だけは50未満でも確認を出す」のように、自分のサイトに合わせて閾値を決められます。Free・Pro・Business のボット対策でも、内部では同じような判断が行われていて、その結果を「確実に機械」「たぶん機械」といった分類として使います。

ここで1つ問題があります。図の左下の Googlebot です。Googlebot もプログラムなので、スコアは低くなります。でも、止めたくはありません。これをどう扱うかが、次のページです。

  • Cloudflare のすべて 07 ― ボット対策
  • 4 / 14
  • ボットスコア:1〜99 で「人らしさ」を表す
  • 買い占めボット
  • 価格の抜き取り
  • 総当たりボット
  • 人のブラウザ
  • 1:ほぼ確実に機械
  • ← 30未満は機械らしい
  • 99:ほぼ確実に人
  • Googlebot
  • Googlebot も機械なのでスコアは低い。でも止めたくない
  • 低いほど機械らしい。ルールで「30未満なら止める」と書ける。

確認済みボット:名乗りが本物かを Cloudflare が確かめる

Googlebot のような「良いボット」を通すために、Cloudflare は確認済みボット(verified bots)の一覧を持っています。

大事なのは、名乗りを信じるのではなく、本物かどうかを確かめていることです。たとえば、「Googlebot」と名乗るリクエストが来たら、その送り元の IP を逆引きして Google のドメインになっているか、さらに正引きして同じ IP に戻るか、といった方法で確かめます。検索エンジン、死活監視、SEO のツールなど、公開された方法で確かめられるボットが一覧に入っています。

図で、Googlebot が目盛りから離れて別の列に移ったのは、このためです。スコアは低くても、「確認済みのボット」として別扱いになり、ボット対策の設定でふつうは許可します。

一方、IP を偽って「Googlebot」を名乗るボットは、この確認に通りません。ふつうのボットとして、スコアで判定されます。

自分でボットを作ってサービスを提供している場合は、Cloudflare に申請して確認済みボットに入れてもらう方法もあります。また最近は、ボットがリクエストに電子署名を付けて身元を示す仕組み(Web Bot Auth)も使われ始めています。

  • Cloudflare のすべて 07 ― ボット対策
  • 5 / 14
  • 確認済みボット:名乗りが本物かを Cloudflare が確かめる
  • Googlebot
  • 確認済みボット(verified bot)として別扱い
  • 買い占めボット
  • 価格の抜き取り
  • 総当たりボット
  • 人のブラウザ
  • 1:ほぼ確実に機械
  • ← 30未満は機械らしい
  • 99:ほぼ確実に人
  • 偽の「Googlebot」は確認に通らないので、ふつうのボットとして扱われる
  • IP と逆引きなどで確かめた「良いボット」の一覧。止めずに通せる。

Bot Fight Mode:無料のスイッチ1つ

ここからは、プランごとに使えるボット対策を見ていきます。図の左の3段が、その全体像です。いちばん上が、Free プランで使える Bot Fight Mode です。

Bot Fight Mode は、管理画面のスイッチ1つでオンにできます。オンにすると、Cloudflare が「よく知られた悪いボット」と判断したリクエストに、確認(チャレンジ)を出して止めます。確認済みボットは通します。個人のブログや小さなサイトで、スパムの投稿やしつこい抜き取りに困っているなら、まず試す価値があります。

ただし、手軽さと引き換えに、細かい調整ができません。

できることできないこと
オン・オフ場所ごとに外す(「/api だけ対象外」など)
確認済みボットを通すWAF の Skip で外す

いちばん注意したいのは2列目です。Bot Fight Mode は、ドメイン全体にかかり、WAF のカスタムルールの Skip でも外せません。そのため、スマホアプリの API や、外部サービスからの Webhook のように、「機械からのアクセスが正しい」場所があるサイトでは、それらまで止めてしまうことがあります。オンにしたら、自分のアプリや連携が動いているかを必ず確かめてください。

  • Cloudflare のすべて 07 ― ボット対策
  • 6 / 14
  • Bot Fight Mode:無料のスイッチ1つ
  • Bot Fight Mode
  • Free でも使える。オンにするだけ
  • Free。オンにするだけ
  • 確認済みボットは通す
  • Super Bot Fight Mode
  • Pro・Business。種類ごとに動作
  • 場所ごとの除外ができない
  • Bot Management
  • Skip でも外せない(API も対象)
  • Enterprise。スコアをルールで使う
  • よく知られたボットに確認を出す。細かい調整はできない。

Super Bot Fight Mode:種類ごとに動作を選ぶ

Pro と Business のプランでは、Super Bot Fight Mode が使えます。Bot Fight Mode より細かく、ボットの種類ごとに動作を選べるのが特徴です。

種類選べる動作使えるプラン
確実に機械(Definitely automated)許可・確認・止めるPro・Business
たぶん機械(Likely automated)許可・確認・止めるBusiness
確認済みボット(Verified bots)許可・止めるPro・Business

ほかに、画像や CSS などの静的ファイルにもボット対策をかけるかどうか、ブラウザで JavaScript の検査を動かすかどうか、といった設定もあります。

もう1つ大きな違いは、WAF のカスタムルールの Skip で、場所ごとに外せることです。たとえば「/api/ の下は Super Bot Fight Mode を飛ばす」と書けば、自分のアプリの通信を守りながら、それ以外のページではボットを止められます。Bot Fight Mode で API が止まって困っていた人にとっては、これが Pro に上げる理由になります。

基本の方針は、「確実に機械」は止めるか確認を出し、「確認済みボット」は許可する、です。「たぶん機械」には人が混ざることもあるので、止めるより確認(Managed Challenge)のほうが安全です。

  • Cloudflare のすべて 07 ― ボット対策
  • 7 / 14
  • Super Bot Fight Mode:種類ごとに動作を選ぶ
  • Bot Fight Mode
  • 確実に機械
  • 止める/確認
  • Free。オンにするだけ
  • たぶん機械
  • Business から
  • Super Bot Fight Mode
  • 確認済み
  • 許可が基本
  • Pro・Business。種類ごとに動作
  • 静的ファイル
  • 守るか選べる
  • Bot Management
  • Enterprise。スコアをルールで使う
  • WAF の Skip で、場所ごとに外せる
  • 「確実に機械」「たぶん機械」「確認済み」ごとに、許可・確認・止める。

Bot Management:スコアを自分のルールで使う

Enterprise の Bot Management では、4ページ目で見た1〜99のボットスコアを、自分のルールの中で直接使えます。

図の右は、05号で見た WAF のカスタムルールに、ボットスコアを組み合わせた例です。

cf.bot_management.score lt 30
and not cf.bot_management.verified_bot
and http.request.uri.path eq "/login"

「スコアが30未満で、確認済みボットではなく、ログイン画面へのリクエスト」に Managed Challenge を出します。ほかのページには影響しません。

項目中身
cf.bot_management.score1〜99 のボットスコア
cf.bot_management.verified_bot確認済みボットなら真
cf.bot_management.static_resource画像や CSS などの静的ファイルへのリクエストなら真

このように、場所ごとに厳しさを変えられるのが Bot Management の強みです。ログインや購入のような大事な場所は厳しく、記事のページはゆるく、といった使い分けができます。スコアはログにも残るので、どれくらいのボットが来ているかを分析し、閾値を調整していけます。

ボットスコアは、Workers(18号)の中でも request.cf から読めるので、アプリの中で「ボットらしい相手には軽い応答を返す」といった使い方もできます。

  • Cloudflare のすべて 07 ― ボット対策
  • 8 / 14
  • Bot Management:スコアを自分のルールで使う
  • Bot Fight Mode
  • # カスタムルール(05号の式)
  • Free。オンにするだけ
  • cf.bot_management.score lt 30
  • and not
  • cf.bot_management.verified_bot
  • Super Bot Fight Mode
  • and http.request.uri.path
  • Pro・Business。種類ごとに動作
  • eq "/login"
  • → Managed Challenge
  • Bot Management
  • Enterprise。スコアをルールで使う
  • 「ログインだけ厳しく」のように、場所ごとに閾値を変えられる。

AI のクローラー:載せたいか、学ばせたいか

最後に、ここ数年で大きな話題になっている AI のクローラーです。AI の会社は、モデルの学習や、質問への回答のために、Web のページを大量に読みに来ます。

困るのは、サイトの側に見返りが少ないことです。検索エンジンは、ページを読む代わりに、検索結果からお客さんを送ってくれます。AI は、ページを読んで回答を作りますが、利用者は元のサイトを訪れないことが多いのです。

Cloudflare は、この問題にいくつかの機能で応えています。

機能中身
AI Crawl Controlどの AI のクローラーが、どれくらい来ているかを見る。以前の AI Audit の後継
AI ボットを止める全プランで使えるスイッチ。対象の一覧は Cloudflare が更新する
管理された robots.txt「AI の学習には使わないで」という宣言を、robots.txt に自動で足す
Pay per crawlAI のクローラーに、読むたびに料金を求める(非公開ベータ)

2026年には、AI のクローラーを目的ごと(検索・エージェント・学習など)に分けて扱う方向に仕組みが見直され、新しいドメインなどの既定の設定も変わっています。「気づいたら AI に止められていた」「止めたつもりが通っていた」ということがありうるので、自分のドメインの設定を管理画面で一度確かめてください。

気をつけたいのは、検索と AI の境目があいまいなことです。1つのクローラーが検索と AI の両方に使われることもあります。止めた結果、検索にも出なくなっていないかを確かめましょう。

  • Cloudflare のすべて 07 ― ボット対策
  • 9 / 14
  • AI のクローラー:載せたいか、学ばせたいか
  • AI クローラー
  • AI Crawl Control
  • どの AI がどれだけ来たかを見る
  • AI ボットを止める
  • 全プランのスイッチ。一覧は自動更新
  • 管理された robots.txt
  • 学習に使わないでと宣言
  • Pay per crawl
  • 読むたびに料金(非公開ベータ)
  • 2026年は既定の設定が見直されている。自分のドメインの設定を管理画面で確かめる
  • 目的(検索・エージェント・学習)ごとに、許可・止める・課金を選ぶ。

導入:プランに合った1つをオンにする

ボット対策は、管理画面のドメインのセキュリティ > ボット(Security > Bots)から設定します。表示の場所は変わることがあるので、見つからないときは公式のドキュメントで確かめてください。

順番やること補足
1自分のプランで使えるものを確かめるFree は Bot Fight Mode、Pro・Business は Super Bot Fight Mode
2オンにする確認済みボットは「許可」にしておく
3数日、セキュリティのログを見る何が止められているか
4止めてはいけないものを外すSuper Bot Fight Mode なら WAF の Skip で
5AI のクローラーの方針を決める止める・許可する・目的ごとに分ける

いちばん大事なのは、自分のサービスの中にある「正しい機械」を先に洗い出すことです。

正しい機械の例気をつけること
スマホアプリブラウザではないので、確認の画面を通れない
Webhook決済や外部サービスからの通知
自社の監視や連携のサーバークラウドのデータセンターから来る

これらがある Free のサイトで Bot Fight Mode をオンにするときは、とくに慎重に確かめてください。外せないからです。

  • Cloudflare のすべて 07 ― ボット対策
  • 10 / 14
  • 導入:プランに合った1つをオンにする
  • プランを確認
  • ボットをオン
  • 数日ログ
  • 除外を作る
  • AI の方針
  • API・Webhook・アプリの通信が止まっていないかを最初に確かめる
  • Bot Fight Mode は除外できないので、API がある Free のサイトは慎重に
  • セキュリティ > ボット。まず「確認済みボットは許可」を守る。

料金と制限

ボット対策は、プランによってはっきり3段に分かれています。次の表は 2026年9月時点の内容です。

プラン使えるもの細かさ
FreeBot Fight Mode、AI ボットを止めるスイッチオン・オフのみ。場所ごとに外せない
ProSuper Bot Fight Mode「確実に機械」と「確認済み」に動作を選べる。Skip で外せる
BusinessSuper Bot Fight Mode「たぶん機械」にも動作を選べる
EnterpriseBot Management(別契約)1〜99 のスコアをルールで使える。詳しい分析

AI Crawl Control の基本的な機能は、全プランで使えます。Pay per crawl は、2026年9月時点では非公開ベータで、申し込みが必要です。

ボット対策の各機能は、名前や提供範囲の見直しが比較的多い分野です。導入のときは、公式の料金ページとドキュメントで最新の内容を確かめてください。

  • Cloudflare のすべて 07 ― ボット対策
  • 11 / 14
  • 料金と制限
  • Free
  • Bot Fight Mode・AI ボットを止めるスイッチ
  • Pro
  • Super Bot Fight Mode(確実に機械への動作)
  • Business
  • Super Bot Fight Mode(たぶん機械まで)
  • Enterprise
  • Bot Management(1〜99のスコア・詳しい分析)
  • 2026年9月時点。提供範囲は変わるので、公式の料金ページで確かめること
  • 無料のスイッチから、スコアを使える企業向けまで3段。

よくある落とし穴

落とし穴何が起きるかどうするか
自分のアプリまで止めるBot Fight Mode で API や Webhook が止まる。外せない正しい機械を洗い出してから。必要なら Super Bot Fight Mode で Skip
名乗りで許可するhttp.user_agent contains "Googlebot" で許可すると、偽の Googlebot も通る確認済みボット(verified_bot)で判断する
AI を止めて検索からも消える検索と AI の両方に使われるクローラーもある止めたあと、検索での表示を確かめる
ボット対策だけで総当たりを防ごうとする本物のブラウザを操るボットもあるレート制限(06)、Turnstile(08)、アカウント側の対策と重ねる
ログを見ない止めすぎにも、止め漏れにも気づかないオンにした直後は、セキュリティのログを毎日見る

ボット対策の事故は、ほとんどが「良い機械まで止める」形で起きます。しかも、止められた相手は人間ではないので、苦情が来ません。「なぜか Webhook が届かない」「なぜか監視が失敗する」という、原因の分かりにくい形で表に出ます。オンにしたら、自分のサービスの連携が動いているかを必ず確かめてください。

  • Cloudflare のすべて 07 ― ボット対策
  • 12 / 14
  • よくある落とし穴
  • Bot Fight Mode で、自分のアプリや Webhook の通信が止まる
  • User-Agent の名乗りだけで Googlebot を許可する
  • AI のクローラーを止めたつもりで、検索にも載らなくなる
  • ボット対策だけで、ログインの総当たりを防げると思う
  • 確認済みボットは許可。止める前にログで確かめる
  • ボット対策の事故の多くは、「良い機械」まで止めること。

他の号とのつながり

ボット対策は、「人か機械か」を見る守りです。ほかの守りとは見ているものが違うので、重ねて使います。

号機能見るもの
04DDoS 対策量の洪水
05WAF1本の中身。ボットスコアも式で使える
06レート制限同じ相手からの回数
07ボット対策(この号)人か機械か
08Turnstileフォームを送ったのが人間か

この号で何度か出てきた Managed Challenge(怪しいときだけ確認を挟む仕組み)は、次の08号で扱う Turnstile と同じ技術の上に立っています。Turnstile は、その確認を、あなたのサイトのフォームの中に置けるようにしたものです。

ボットの傾向を長い期間で見る方法は 32号(分析とログ)で、Workers の中でボットスコアを使う方法は 18号で扱います。

  • Cloudflare のすべて 07 ― ボット対策
  • 13 / 14
  • 他の号とのつながり
  • Cloudflare のエッジ(世界中の拠点)
  • DDoS 対策(04)
  • WAF(05)
  • 利用者
  • レート制限(06)
  • オリジン
  • ブラウザ・アプリ
  • ボット対策(この号)
  • あなたのサーバー
  • Turnstile(08):フォームで確認
  • Managed Challenge の裏の仕組みは 08号の Turnstile と共通
  • ボットの傾向は分析(32)で見る。ルールの式は 05号と同じ
  • 人か機械かはこの号。フォームで確かめるなら08の Turnstile。

まとめ:良い機械は通し、悪い機械だけ止める

この号で見たことをまとめます。

項目内容
なぜ要るか通信の多くはボット。中身は正しく、名乗りは偽れるので、WAF やレート制限だけでは足りない
見分け方指紋・機械学習・振る舞い・JavaScript の検査などを重ねる
ボットスコア1〜99。低いほど機械らしい
確認済みボット名乗りが本物か確かめた良いボット。ふつうは許可
FreeBot Fight Mode。スイッチ1つ。場所ごとに外せない
Pro・BusinessSuper Bot Fight Mode。種類ごとに動作。Skip で外せる
EnterpriseBot Management。スコアを自分のルールで使う
AI のクローラー目的ごとに方針を決める。既定の設定を確かめる

ボットを見分けるのは Cloudflare の仕事ですが、どこまで止めるかを決めるのは、あなたの仕事です。次の08号では、フォームの送信が人間によるものかを確かめる Turnstile を見ていきます。

  • Cloudflare のすべて 07 ― ボット対策
  • 14 / 14
  • まとめ:良い機械は通し、悪い機械だけ止める
  • Googlebot
  • 確認済みボット(verified bot)として別扱い
  • 買い占めボット
  • 価格の抜き取り
  • 総当たりボット
  • 人のブラウザ
  • 1:ほぼ確実に機械
  • ← 30未満は機械らしい
  • 99:ほぼ確実に人
  • Free は Bot Fight Mode、Pro・Business は Super、Enterprise はスコア
  • 見分けるのは Cloudflare、どこまで止めるかを決めるのは自分。

0 件のコメント

読み込み中…

権利侵害・不適切な内容の連絡: [email protected]