Bot(ボット・プログラム)対策とは何か?

すべてのBotを止めるのではなく、アクセスごとに善玉と悪玉を見分ける防御設計

この記事の目次
  1. 人かBotか、善玉か悪玉かを見極める
  2. アクセス目的(Search / Agent / Training)で分けるAI時代のBot対策
  3. Bot対策機能の段階的な活用
  4. 他社のBot対策の概要
  5. DOMOの視点
  6. まとめ
  7. 覚えておきたい用語

Webサイトのセキュリティ対策において、「Bot(ボット)」の存在は避けて通れないテーマです。「Bot対策」と聞くと、プログラムによる自動アクセスをすべてブロックすることだと思われがちでしょう。しかし、すべてのBotを無差別に遮断してしまうと、Webサイトとしての目的を十分に果たせなくなり、結局はビジネス上の機会損失につながることになります。

というのも、Googleなどの検索エンジンのクローラーもBot、Webサイトの稼働状況をチェックする監視サービスもBotだからです。また、最近ではAI検索のデータ収集プログラムや、ユーザーの代わりにWebを閲覧、操作するAIエージェントも増えています。

一方で、以下のような悪質な目的を持ったBotが存在することも、また事実です。

  • 流出したIDとパスワードを大量に試す不正ログイン(Credential Stuffing)
  • ECサイトの人気商品やチケットの自動買い占め
  • 自社サイトのコンテンツや価格情報の無断大量取得(スクレイピング)
  • 問い合わせフォームへの大量スパム投稿

つまり、Bot対策の本質とは、すべての自動アクセスを止めることではなく、アクセスの目的や相手を見極め、必要なBotは通し、有害なBotだけをブロックすることにあります。

この節では、Webサイトの入口で求められるBot対策の基本と考え方、そしてAI時代における新しいアクセスの整理方法について解説します。

人かBotか、善玉か悪玉かを見極める

Bot対策の第一歩は、アクセスしてきた相手が「人間」なのか、「プログラム(Bot)」なのか、さらにそのBotが「有用」なBotか、「悪意」のあるBotかを正しく識別することです。

Cloudflare Radarが2025年3月第1週の通信を分析したところ、ログイン画面に対する認証リクエストの94%以上がBotによる自動アクセスでした。そのすべてが攻撃だったわけではないにせよ、通常のWebアクセス全体に占めるBotの割合と比べ、認証画面では自動アクセスの比率が非常に高かったことは確かです。

さらに同じ調査では、Botによる認証リクエストの65%以上で、過去に漏えいした認証情報が使われていました。ログイン画面では、1回のログイン要求が危険なものかどうかを見るのではなく、同じようなアクセスが何回繰り返されているか、自動操作ではないか、流出した認証情報が使われていないか、といったことまでを確認する必要があります。

また、悪意のあるBotは、通常のブラウザーになりすますために「User-Agent」という送信元情報を偽装してアクセスしてくることがよくあります。そのため、単に送信元情報を見るだけの単純な判定では、巧妙なBotを見抜くことができません。

現在のBot対策では、IPアドレスの評価、通信パターンの特徴、JavaScript実行の挙動、アクセス頻度など、複数の要素を組み合わせた判定が必要となっています。

Cloudflareでは、GoogleやBingなどの検索エンジンや主要なサービスなど、身元と振る舞いが確認された有用で良質なBotを「Verified Bot」として管理しています。これにより、検索エンジンの集客を阻害することなく、悪意のあるBotだけを安全に判別できる仕組みが整えられています。

出典: Cloudflare Radarのセキュリティインサイトを拡張し、新しいDDoS、漏洩した資格情報、ボットのデータセットを追加

出典: Cloudflare Docs: Verified Bots

アクセス目的(Search / Agent / Training)で分けるAI時代のBot対策

生成AIが急速に普及した現在、Bot対策の考え方も、そうした状況を反映して進化しています。従来のように、「良質なBot(検索エンジンなど)」は許可し、「悪意のあるBot」は遮断するという二者択一だけでは、多様化する企業のビジネス方針に対応しきれなくなってきたためです。

Cloudflareでは、AI関連の自動アクセスを行動目的によって主に以下の3つに分類して管理できるようになっています。

  • Search(検索、回答): コンテンツを収集、インデックス化し、AI検索や回答の引用に利用するアクセス
  • Agent(代理操作): ユーザーの依頼を受け、リアルタイムにWebサイトへアクセスして処理を行うアクセス
  • Training(AI学習): 生成AIモデルの学習や追加学習のために、コンテンツを大量収集するアクセス

例えば、企業メディアやWebサイトの運営者が、AI検索の回答には自社の情報を積極的に引用してほしいとすれば、SearchやAgentは許可すべきと考えるでしょう。一方、自社の独自コンテンツを無断でAIモデルの学習データとして持っていかれるのは困る、と考えるなら、Trainingは制限すべき、という判断を下すことになります。

単に「AIだから許可する/止める」ではなく、どういう目的でアクセスしてきたのかに応じて柔軟にコントロールすることが、これからのWebサイト運用において極めて重要なポイントとなります。

出典: Cloudflare Docs: Custom rules

Bot対策機能の段階的な活用

Cloudflareでは、Webサイトの規模やセキュリティ要件に応じて、次に示すような段階的なBot対策機能が用意されています。

  • Bot Fight Mode: Freeプランを含むすべてのプランで利用可能な基本的なBot対策
  • Super Bot Fight Mode: Botの種類(Verified Bot等)に応じて、ブロックやチャレンジ(画像認証等)などの細かなアクションを設定可能(Pro/Businessプラン)
  • Bot Management: 機械学習を用いてリクエストごとに1〜99の「Bot Score」を割り出し、精密に自動制御(Enterpriseプラン)

また、WAFやBot対策で不審だと判定された通信に対して、いきなり完全に遮断(Block)するのではなく、ユーザーのブラウザー上で自動的に安全性を確認する「Managed Challenge」を実行したり、短時間の過剰アクセスを抑える「Rate Limiting」を組み合わせたりすることで、正当なユーザーへの誤判定(誤検知)のリスクを低減することができます。

他社のBot対策の概要

高度なBot対策は、Cloudflareだけが提供しているものではありません。AWS、Akamai、Fastlyなど、それぞれ特徴的なBot対策機能を提供しています。

AWS WAFにはBot Controlがあり、CommonとTargetedという2段階の保護を用意しています。そのうちTargetedでは、ブラウザーの特徴、フィンガープリント、振る舞いなどを、機械学習などを使って判断し、高度なBot検知を実現しています。

Akamai Bot Managerも、検索クローラーなど、既知のBotから、ブラウザーを装う高度なBotまで、複数の検知方法を備え、Bot Scoreや行動分析を使って制御します。

Fastly Bot Managementは、エッジでBotを検知し、AIクローラー、ヘッドレスブラウザー、悪意のあるBotなどを分類して制御できます。

これらのうち、どの製品の機能が優れているか、ということよりも、自社の既存のWebシステムの基盤、Bot対策によって何をどう守りたいか、といった条件によって、最適なBot対策は変わってくるでしょう。

出典: AWS WAF Bot Control

出典: Akamai Bot Manager

出典: Fastly Bot Management

DOMOの視点

Botを一様に止めるのではなく、Botごとの事業価値を評価する

DOMOとしてBot対策を検討する際には、最初に「Botを何%減らすか」、といった数値目標を掲げる必要はないと考えます。

まず確認するのは、どのページに、どのような目的のBotアクセスが来ていて、それが自社の事業にとってプラスなのかマイナスなのか、という状況です。検索エンジンのクローラーやAI検索への情報提供は、Webサイトへの集客や認知拡大につながる貴重な流入経路です。一方で、ログイン画面への不正アクセスや商品の買い占め、フォームスパムなどは、直接的な被害やサーバー負荷を発生させるため、入口で確実に止める必要があります。

これからのBot対策は、人間か、Botかという二者択一ではありません。以下の4つの対応が考えられます。

  • 通す(検索エンジンや許可されたAIサービス)
  • 止める(不正ログイン、スパム、悪意ある攻撃)
  • 回数を抑える(過剰なスクレイピングや頻繁なデータ取得)
  • 観察する(用途が不明な新しいアクセス)

Webサイトの入口ごと、Botによるアクセスをこれら4種のアクションに整理して設計していくことこそが、事業価値を守りながら快適なWeb運用を維持するための本質的なアプローチとなるでしょう。

まとめ

Botは、人間の代わりにWebサイトへ自動アクセスするプログラムです。その目的は様々なので、以下に挙げるような基本方針で、柔軟な対応が必要となっています。

  • すべてのBotを止める必要はない: 検索エンジンなどの良質なBotは通過させ、不正ログインや買い占めなどの悪性Botだけを判別して排除
  • AI時代の目的別コントロール: AI関連のアクセスを「Search」、「Agent」、「Training」に分類し、ビジネス方針に合わせて対応
  • 入口ごとの段階的な運用: Bot Scoreや各種Challenge、Rate Limitingを組み合わせ、正当なユーザーにストレスを与えない運用

まずは自社のWebサイトにどのような自動アクセスが届いているか、現在の通信状況を可視化し、状況を把握することから始めましょう。

覚えておきたい用語

  • Bot: 人間の代わりにWebサイトへ自動アクセスし、特定の処理を行うプログラム
  • Credential Stuffing: 流出したIDとパスワードを使い、別サービスへのログインを大量に試す攻撃
  • スクレイピング: Webサイト上の情報をプログラムで自動収集する技術
  • User-Agent: アクセス元のブラウザやBotなどが自分の種類を伝える情報
  • Verified Bot: Cloudflareが身元と振る舞いを確認したBotやエージェント
  • Bot Score: アクセスがBotである可能性を1〜99で表すCloudflareの判定値
  • Bot Fight Mode: Cloudflareが提供する基本的なBot対策機能
  • Super Bot Fight Mode: Botの種類などに応じてより細かな制御を行うCloudflareのBot対策機能
  • Bot Management: Enterprise向けの高度なCloudflare Bot検知・制御機能
  • Challenge: アクセス元が人間かどうかなどを追加確認する処理
  • Rate Limiting: 一定時間内のアクセス回数などを制限する仕組み
  • AIクローラー: AI検索や学習などを目的としてWebコンテンツを自動取得するBot
  • AIエージェント: 利用者の依頼などに基づき、Webアクセスや外部サービスの操作を行うAIシステム

この章のほかの記事