管理する必要があるのは、悪意のあるボットだけではありません。ボット管理戦略では、悪意のあるボットを軽減しながら、正当なボットをブロックしないようにする必要があります。
この記事を読み終えると、以下のことができるようになります。
関連コンテンツ
是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!
記事のリンクをコピーする
ボットは、インターネットを介したWebプロパティの操作を自動化するコンピュータープログラムです。私たちは、意図的にWebサイトに悪影響を及ぼすものではないボット、または悪意のないタスクを実行するボットを「正当な」ボットと呼んでいます。正当なボットは悪意のあるボットと似た特性を持つことがあるため、悪意のあるボットだけをブロックするのは難さがあります。
正当なボットにはさまざまな種類があり、それぞれが異なるタスクのために設計されています。以下に例を示します。
Webサイトの管理者は、悪意のあるボットトラフィックを除外する一方で、誤って「正当な」ボットまでブロックしてしまわないように注意する必要があります。たとえば、多くのWebサイトは、通常、検索エンジンからのWebクローラーボットを通過させます。仮にこれらのボットを拒否してしまうと、そのWebサイトが検索結果に表示されなくなってしまいます。
不正なボットは、データを盗んだり、ユーザーアカウントに侵入したり、オンラインフォームからジャンクデータを送信したり、その他の悪意のあるアクティビティを実行できます。悪意のあるボットの種類には、クレデンシャルスタッフィングボット、コンテンツスクレイピングボット、スパムボット、およびクリック詐欺ボットがあります。
優れたボット管理は、Webサイトのrobots.txtファイルにルールを適切に設定することから始まります。robots.txtファイルは、Webサーバー上にあるテキストファイルで、ホストされているWebサイトまたはアプリケーションにアクセスするボットのルールを指定します。ここにルールを書くことで、ボットに、クロールできるページとクロールできないページ、フォローするリンクとフォローしないリンクなど、ボットの挙動に関する指示を定義します。Cloudflareでは、こうしたルールの設定を簡単に行えるようにするためのマネージドrobots.txtサービスを提供しています。
正当なボットにも、robots.txtファイルで宣言された設定に従うものと従わないものがあります。たとえば、Googleは、「Webサイトの所有者が自分のサイトの特定のページをGoogleの検索結果に表示させたくない場合、robots.txtファイルにルールを記述することで、Googlebotがそのページをインデックスしないようにできる」としています。同様に、LLMのトレーニングにWebサイトのコンテンツを使用されたくない場合も、robots.txtファイルに記述することでその意向を示すことができます。ただし、robots.txtファイルがボットからのWebサイトへのアクセスを強制的に防ぐことはできず、一部のボット運用者はそれを無視してアクセスさせることができます。
許可リストは、イベントのゲストリストのようなものだと考えてください。ゲストリストに載っていない人がイベントに参加しようとすると、セキュリティ担当者がそれを阻止します。リストに載っている人なら誰でも自由にイベントに参加できます。招待されていないゲストは不適切な振る舞いでパーティーを台無しにする可能性があるため、このようなアプローチが必要です。
ボットの管理では、基本的には許可リストが機能します。許可リストとは、あるWebプロパティへのアクセスを許可されているボットのリストです。通常これは、「ユーザーエージェント」と呼ばれる情報、またはボットのIPアドレス、またはその両方の組み合わせを使用して機能します。ユーザーエージェントとは、Webサーバーに対するユーザー(またはボット)の種類を識別するためのテキスト文字列です。
検索エンジンに属するエージェントなど、許可された正当なボットのユーザーエージェントのリストを維持し、リストにないボットをブロックすることにより、Webサーバーは正当なボットへのアクセスを確保できます。
Webサーバーは、既知の悪意を持つボットのブロックリストを持つこともできます。
ネットワークのコンテキストにおいてブロックリストとは、サーバー、ネットワーク、またはWebプロパティへのアクセスが許可されていないIPアドレス、ユーザーエージェント、またはその他のオンラインIDのインジケーターのリストです。これは、許可リストを使用する場合とは少し異なるアプローチです。ブロックリストに基づいたボット管理戦略では、特定のボットをブロックし、他のすべてのボットを通過させますが、許可リスト戦略は、特定のボットのみを通過させ、他のすべてのボットをブロックします。
悪意のあるボットがユーザーエージェント文字列を偽造して、最初はあたかも正当なボットのように見せかけることがあります。これは泥棒が招待客リストにある人物の偽の身分証を使用してイベントに入り込むようなものです。
したがって、行動分析や機械学習など、なりすましを検出するアプローチに組み合わせて、正当なボットの許可リストを利用する必要があります。これにより、既知の正当なボットを許可するだけでなく、悪意のあるボットと未知の正当なボットの両方を積極的に特定できます。
ほとんどのAIツールは、Webのコンテンツを使用して自らをトレーニングします。AIクローラーボットは、最新のコンテンツを収集するためにウェブを巡回します。これは、対象となるWebサイトのビジネスモデルによって「正当」なボットとも「悪意」のあるボットとも捉えることができます。
たとえば、AIボットによる継続的なクロールがサーバーの負荷を高めたり、通信量が増えて帯域幅コストがかさんでしまうなどの問題が発生する場合があります。また、自社のオリジナルコンテンツで収益を上げているWebサイト(広告ベースの収益モデルなど)では、AIツールがそのコンテンツを使ってユーザーの質問に直接回答してしまうことで、ユーザーがWebサイトに訪れなくなり、ビジネスに悪影響を及ぼすこともあります。
ボットマネージャー製品は、正当なボットにはWebプロパティへのアクセスを許可する一方、悪意のあるボットをブロックし、Webサイト管理者がAIクローラーやツールと上手く付き合えるようにするための製品です。Cloudflare Bot Managementは、ネットワーク全体のトラフィックに対して機械学習と行動分析を活用し、悪意のあるボットを検出しながら、正当なボットを自動的かつ継続的に許可(ホワイトリスト化)します。さらに、マネージドrobots.txtを使用することで、Cloudflareは、Webサイトのrobots.txtファイルを自動的に更新して、Webサイト管理者の意図を反映することができます。また、Cloudflareの「クロールごとに課金」機能により、Webサイト管理者は特定のAIクローラーを許可またはブロックしたり、クロールごとにクローラーの運用者に課金することも可能になります。
良性ボットとは、インターネット上で自動的にタスクを実行するコンピュータプログラムのうち、悪意を持たず、Webサイトに有害な影響を与えることないもののことです。例えば、WebページをインデックスしてWebサイトを利用しやすくする検索エンジンクローラー、著作権侵害コンテンツを検出する著作権保護ボット、障害が発生していないかどうかを確認するサイト監視ボットなどは良性ボットの一種です。
Webサイトでボット対策を行う場合、良質なボットと悪質なボットを区別する必要があります。サイトが検索結果に表示されるためには、検索エンジンのクローラーのような良性ボットに対してサイトのアクセスを許可する必要があります。一方で、AIクローラーのような良質なボットもきちんとした指示がなければ、大量のリクエストを送信してサイトの帯域幅コストを増加させたり、バックエンドサーバーに負荷をかける場合があります。
robots.txtファイルは、Webサーバー上に置くテキストファイルで、ボットにルールを伝えるためのものです。このファイルに記載するルールで、クロールを許可するページ、辿って良いリンク、許可するクロールの頻度をボットに指示することができます。これは良性ボット管理の初歩的な対策ですが、一部、これらのルールを無視するボットもあります。
一般的に、許可リストと拒否リストのどちらかを使用する方法があります。許可リストにWebプロパティへのアクセスを許可するボットをリストすることで、それ以外のボットはブロックされます。拒否リストはその逆でアクセスを拒否するボットを指定するもので、それ以外のボットは許可されます。
許可リストだけでは十分でない場合があります。悪性ボットは、許可リストを回避するために自分自身を偽装することがあります。そのため、許可リストは、行動分析や機械学習などの他の仕組みと組み合わせて、悪性ボットの活動を検出できるようにする必要があります。
ボット管理ソリューションは、良性ボットを許可し、悪性ボットをブロックするだけでなく、Webサイト所有者が様々な種類のクローラーに指示を出せるように設計されています。例えば、Cloudflare Bot Managementは、機械学習と行動分析を活用し、悪意のあるボットを検出しながら、正当なボットを自動的かつ継続的に許可(ホワイトリスト化)します。