
この記事では、WebサイトにおけるBotアクセスへの対応について記載します。
- 関連サービス
- Web保守・運用サービス(ホスティング)
はじめに
Botとは?
Bot(ボット)は、指定されたタスクや処理を自動化するプログラムやアプリケーションのことを指します。本記事では特に、Webサイトの情報を取得(スクレイピング)する "Webクローラー" について説明します。
Webクローラーとは?
Webサイト内のテキスト等の情報を読み込み、それを自身のプログラムに登録するものとなります。これで登録された情報を利用して、様々な用途に情報を役立てます。
良い使い方
- Google等の検索エンジンにより、Webサイトの情報が検索にヒットしやすいようにする
- AIで利用されるLLM(Large Language Models)に情報を登録し、AIがより幅広く最新の情報を回答できるように利用する
良くない使い方
- 取得したデータを自身が運営する別サイトに転記して、コンテンツを模倣する
- Webサイトに多数アクセスを実施、サーバーに高負荷をかけることでシステムをダウンさせる
今回のお話
「AIベンダーのBotがサイトにDDoS攻撃レベルの影響を与えた。」という記事がニュースサイトに掲載されていました。GIGAZINEの記事「OpenAIのクローラーボットが3Dスキャンデータ販売サイトをほぼDDoS攻撃な徹底スクレイピングでダウンさせていた」で詳しく報じられています。
実は弊社も同様の事象に遭遇/対応したことがあります。
今回の事象が発生した際のご提供形態
- ご依頼者様:海外向けのブランド製品を展開されている製造メーカー
- 制作会社様:該当ブランド製品のサイト制作に特化されたベンダー
- 弊社:本案件にて制作会社様にて、インフラストラクチャの構築/保守運用が難しいとのことでご依頼
本件の弊社ホスティングサービスについて
該当のホスティングサービスでは、ご依頼者様の想定した数以上のWebサイトが制作会社様によって運用されており、システムの動作が若干重くなる要因が含まれておりました。
こちらに関しては、ご依頼者様と制作会社様の間で情報共有ができていなかった事項がありましたので、当社にて間に入り内容を後日調整させていただきました。
本事項に関しては、弊社の「Web保守・運用サービス(ホスティング)」の記事をご覧ください。
実際の障害対応事例
制作会社様が認識していないBotによる大量アクセスが発生し、システムのレスポンスが遅延していました。
このBotは複数のサイトパスに対して断続的にアクセスをしており、サーバーの負荷を増大させていました。
アクセスログイメージ
***.***.***.*** - - [22/Jan/2025:10:20:05 +0000] "GET /hoge/company HTTP/1.1" 200
***.***.***.*** - - [22/Jan/2025:10:20:07 +0000] "GET /hoge/blog/?date=20220918 HTTP/1.1" 200
***.***.***.*** - - [22/Jan/2025:10:20:07 +0000] "GET /hoge/blog/?date=20220924 HTTP/1.1" 200
***.***.***.*** - - [22/Jan/2025:10:20:07 +0000] "GET /hoge/blog/?date=20221007 HTTP/1.1" 200
...etc
サイト数やサイト構成といった条件がこのBotアクセスの挙動と重なった結果、突発的な負荷増大によりアプリケーションサーバーのミドルウェアが機能を停止し、エラーが発生していました。
弊社はホスティングのみを担当しており、ミドルウェアはサポート対象外でしたが、緊急対応として以下の措置を実施しました。
対応内容
- 監視サーバからのアラートを確認
- CPU負荷が極端に高まっており、システムへのレスポンスが芳しくないことを確認
- Webサーバーのログをチェック
- 上述したようなBotアクセスがあったことを確認したため、以下を実施
- ご依頼者様、制作会社様に状況報告
- レスポンス改善の暫定対策案として、対象Botアクセスの一時的ブロック処理をご提案
- 対策案の了承を得たため、緊急対応として以下を実施
- BotのIPレンジを確認し、ブロック処理を適用
- UserAgentから該当Botを特定し、対応方法調査
- 上記対応でシステムのパフォーマンスが平静になったことを確認
- ご依頼者様に事象詳細/対応を報告し、制作会社様に上述の調査内容を連携
上記でアクセスのあったクローラーについて
この際のBotは、"OpenAI"の名称がついたものでした。当時はそこまで情報が豊富ではなく、対応に苦慮しましたが、今では OpenAI や Anthropic といった主要なAIベンダーが、自社のクローラーに関する詳細な情報と対応方法を公開していて、「どうしておくべきか?」が広く知られるようになってきています。
意図しないBotへの対策について
通常では、以下のようにrobots.txtに許諾を記載することで対象外にすることになっています。
AIクローラー対策をしたrobots.txtのサンプル
# AI生成クローラーの制限
User-agent: GPTBot
Disallow: /
User-agent: ChatGPT-User
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: PerplexityBot
Disallow: /
User-agent: anthropic-ai
Disallow: /
User-agent: Claude-Web
Disallow: /
User-agent: Cohere-ai
Disallow: /
User-agent: Omgilibot
Disallow: /
# 検索エンジンクローラーは許可
User-agent: Googlebot
Allow: /
User-agent: Bingbot
Disallow: /
しかし、そのベンダーが利用しているWebクローラーの仕様によってはこの制限を回避し、Webサイトの情報をBotが取得するケースもあります。
上述の記事でも言及がありますが、Perplexity等が採用しているクローラーはこのファイルを無視する挙動があることが報告されています。
そのため、従来の「robots.txt」での対応では足りない部分が出てきており、インフラストラクチャレベルでのフィルタリングやBot挙動を分析する仕組みが求められています。
どう対応していくのか
以前は、上述のような対応を実施する必要がありましたが、現在はこの課題に特化したWAF(Web Application Firewall)やBot Controlなどのソリューションが登場しています。これらのソリューションは、CDNと組み合わせて"多層的"に攻撃に対応することが推奨されています。
※CDNに関しては、以下の弊社コラム記事をご覧ください。
デジコン技術コラム:なぜ動画配信にCDNが必要なのか?
Botへの対応策として提供されている上記は、ベンダーが開発した独自のエンジン/検知ルールによりBotの振る舞いを判定して、良性と悪性であるかをリアルタイムで解析します。そして、リストを構築し、それに準拠したブロック動作やレポートを提供するソリューションです。
上記サービスの使い分けを簡単に整理すると以下のようになります。
セキュリティソリューションの役割
CDN(Content Delivery Network)
Webサイトのコンテンツを世界中のサーバーに分散配置し、ユーザーに最も近い場所から配信するプロダクトです。大規模なアクセスを効率的に捌くことで、システムの安定性を確保し、高速なレスポンスを実現し、DDoS攻撃などの大量アクセスからシステムを保護する第一の防衛線としても機能します。
WAF(Web Application Firewall)
Webアプリケーションへの攻撃を検知・防御する専門的なセキュリティプロダクトです。SQL(Structured Query Language)インジェクションやクロスサイトスクリプティングなど、アプリケーション層での攻撃や不正なリクエストを識別し、ブロックすることでWebサイトとユーザーの安全を確保します。
Bot Control
システムへのBotアクセスを識別・制御する専用のセキュリティプロダクトです。機械学習を活用してBotの行動を分析し、良性・悪性の判定を行い、WAFだけでは対応が難しい高度なBot攻撃に対して、より詳細な制御を実施します。多くの場合、WAFのオプション機能として提供されています。
ソリューションの代表例
主要なBot対策ソリューションとして、Akamai Bot Manager と AWS WAF Bot Control があります。
現在は弊社でもこれらのソリューションを導入しており、BotやDDoSといった攻撃への対策を実施しています。
このように検知数やBotの傾向も分析することが可能です。


Tips:実はrobots.txtの確認は漏れがち?
以前に、「ある時期を境にシステムのパフォーマンスが想定より出なくなった。」と制作会社様にご相談をいただいたことがあり、調査したことがございます。
インフラストラクチャやアプリケーションサーバーの設定等を確認したところ、設定等に問題はないように見受けられましたが、ログをチェックしているとBingBotのアクセスが特定時期より増加していることがわかり、robots.txtの記述に問題があることがありました。
本来は以下のように設定されるはずが、ファイルの誤った修正により、想定しないアクセスが発生している状況でした。
想定robots.txtサンプル
User-agent: Googlebot
Allow: /
User-agent: Bingbot
Disallow: /
User-agent: Otherbot_1
Disallow: /
User-agent: Otherbot_2
Disallow: /
実態robots.txtサンプル
User-agent: Googlebot
Allow: /
User-agent: Otherbot_1
Disallow: /
User-agent: Otherbot_2
Disallow: /
この事例から分かるように、サイト/システムのパフォーマンスはインフラストラクチャ側に目が行きがちですが、その上位に存在するファイルの記述方法でも大きく変化します。
robots.txtの誤記に気づきにくい背景として、設定ミスがエラーログに表示されない場合が挙げられ、定期的に設定を見直すことが重要です。また上述しているBot Controlでも同様にリスト形式で指定しブロックする機能が存在しますので、そちらでも対応することが可能です。
最後に
AIやWebの利便性が高まっていくことと比例して、それらを支える技術となっているBotによるシステム影響も大きくなっています。そのため、従来型の回避/防御方法だけでなく、CDN、WAF、Bot Controlといったセキュリティソリューションを複数の防御層で組み合わせた対策の導入と、継続した保守が重要です。
弊社のエンジニアチームは、セキュリティプロダクトに関する知見も有しておりますので、お客様のシステムに最適なセキュリティソリューションをご提案いたします。Webサイトにトラフィック/攻撃が多くシステムが重くなってしまい困っているなどございましたら、お気軽にお問い合わせください。
