世界を動かす技術を、日本語で。

攻撃的なボットが私の週末を台無しにした

概要

Bear Blogで初の大規模障害発生。 原因はリバースプロキシの過負荷と監視システムの通知失敗。 インターネット上の悪質なボット増加が背景。 対策として監視・リソース強化や透明性向上を実施。 今後もボット対策と安定運用を継続予定。

Bear Blog初の大規模障害とその背景

  • 2025年10月25日、Bear Blogで初の大規模障害発生
  • リバースプロキシ がダウンし、カスタムドメインがタイムアウト
  • 監視ツール の通知失敗により、障害発見が遅延
  • 影響を受けたユーザーへの 謝罪

障害の根本原因

  • リバースプロキシ への過剰なリクエスト集中
  • 近年増加する 悪質なボット によるDDoS攻撃や過剰スクレイピング
  • 監視システムのプッシュ通知が 機能不全

現代ウェブのボット事情

  • AIスクレイパー :ChatGPTやAnthropicなど、LLM学習用データ収集
    • ユーザー主導の検索は許可、モデル学習用はブロック
  • 悪質なスクレイパー :脆弱性探索や機密ファイル(.env/.aws)狙い
    • 数百万件単位のリクエストを短期間でブロック
    • IPアドレスを頻繁にローテーション、携帯ネットワークASNs利用推測
    • アプリ開発者が無料アプリ経由でトンネル販売している可能性
  • 無秩序な自動化 :簡単なスクリプトで大量スクレイピング
    • 一般家庭PCでもVPSより高性能化、DDoSの温床

既存のボット対策

  • CloudflareのWAFルールとレートリミット 導入
  • 独自コードで不正ボットを検出・隔離
  • Zip BombやProof of Work検証も検討したが、複雑化回避のため未導入

今回の障害の詳細

  • 数百のブログがDDoS被害、数万ページ/分単位でリクエスト集中
  • サーバー自体のスケーリングは機能、 リバースプロキシ がボトルネック
  • 5年間無停止だったサーバーが初めてダウン
  • 監視システム の通知漏れが復旧遅延を招く
  • 通知設定やアプリ自体の問題は検証済みだが原因不明

今後の対策

  • 監視の冗長化 :2系統の監視サービスで電話・メール・SMS通知
  • リバースプロキシでのレートリミット・ボット対策 強化
    • サーバー負荷を約半減
  • リバースプロキシのリソース増強 :従来の5倍負荷に耐える設計
  • 自動再起動機能 :2分以上帯域ゼロなら自動リスタート
  • ステータスページ (https://status.bearblog.dev)新設で透明性向上

インターネットの現状と今後

  • 公開インターネットの大半は ボット によるアクセス
  • 悪質なボット増加で ウェブ運用の難易度上昇
  • 良質なインターネット空間維持のため、今後も ボット対策と安定運用 を継続
  • さらなる提案や相談は メール連絡 を推奨

まとめ

  • ボットとの イタチごっこ は今後も続く
  • 安定運用とユーザー保護のため 継続的な改善 に注力

Hackerたちの意見

すごいのは、これらのスクレイパーがスクレイピング中に何千ものIPアドレスを回していることだよね。だから、リクエストがモバイルデバイスのアプリを通じてトンネリングされているんじゃないかと思う。ASNsはだいたい携帯ネットワークだし。まだ推測の域だけど、アプリ開発者がアプリを無料で提供して、スクレイパーにトンネルアクセスを売ることで収益化する方法を見つけたんじゃないかな。ほんとにすごいし、影響を受けるデバイスの持ち主にとっては恐ろしいことでもあるよね!これについて何か裏付けがある?

これは実はよく知られている事実だよ。今は「住宅プロキシ」を売ってるサービスがたくさんあって、これらはいつもモバイルのIPアドレスなんだ。モバイルIPはCGNatを使っているから、IPをブロックするのも良くないんだよね。まるで都市全体をジオフェンスするようなもんだから。例えば、oxylabs、iproyal、brightdataとかがあるよ。最近、brightdataに直接悪用の苦情を出したんだけど、彼らのボットから何千ものリクエストを受けてたからね。面白いのは、苦情を認めた後も全然止まらなかったこと。

もしそこそこ成功しているアプリやSDK、ブラウザ拡張があれば、こういうことを追加するように頼まれることがあるよ。ほとんどの無料VPNサービスも、自分の帯域幅を貸し出してお金を稼いでると思う。

こんなのもあるよね。https://hola.org/ https://hola.org/legal/sdk https://hola.org/legal/sla > どうして無料なの? > > Hola Free VPN Proxy、Hola Fake GPS位置情報、Hola Video Acceleratorを無料で使う代わりに、あなたはBright Dataネットワークのピアになるかもしれません。そうすることで、Bright Data SDK SLAの利用規約を読み、受け入れたことに同意したことになります。プレミアムユーザーになることでオプトアウトできます。この「VPN」がこれらの住宅プロキシを支えているんだよね: https://brightdata.com/ こういう会社は他にもたくさんあると思う。

SIMファームも別の可能性のある説明だね。FBIが数週間前に何十万ものSIMを持つファームを摘発したばかりだし。

接続を使わせることで数ドル(そんなに多くはないけど)もらえるんだ。Cloudflareのビジネスモデル(データセンターのIPをブロックする)が無価値になることを願って、やってる。まだ引き出しは試してないから、詐欺かもしれないけど。これは違法じゃないよ(詐欺じゃない限り)。

これについては、7月にこの「ギャング」が私がホストしているいくつかのサイトを攻撃し始めたときに書いたよ: https://wxp.io/blog/the-bots-that-keep-on-giving 彼らはcolo(M247、Datacamp、HostRoyale、Oxylabsなど)と国際的な住宅用IPのミックスを使ってる。後者が住宅用アプリプロキシに関係してるんじゃないかと思う(bright SDKとか)。Oxylabsも有名なプロキシプロバイダーだから、これらのIPへの入り口になってるんじゃないかって思う。ウェブサーバーをホストするのは本当に面白い時代だね!

Pingoo (https://github.com/pingooio/pingoo)を見てみるといいかも。これは自動TLSを持つリバースプロキシで、単純なIPブロッキングを超えた高度なルールでボットをブロックできるよ。

うちでもこれを感じてる。私たちは、すべての本、ブックリスト、著者、ナレーター、出版社がSEO用の独立したウェブページとして利用できる書籍ストリーミングプラットフォームを運営していて、数百万ページもあるんだ。この6ヶ月は地獄のような状況になってる。理由はいくつかあるけど、1. レート制限を無視するのが普通になった 2. ボットがUAで自分を特定しなくなった 3. ボットがVPNや似た技術を使ってIPレート制限を回避している 4. ボットがNobleTLSやJA3Cloakのようなツールを使ってja3レート制限を回避している 5. 一部の正当なLLM企業も上記のことをしてトレーニングデータを集めているようだ。私たちは彼らに自社を知ってもらいたいから、必ずしもブロックしたいわけじゃないんだ。正直、もう諦めそう。大規模で悪質なトラフィックを特定する安全な方法がなくなってしまったし、利用可能なバリエーションでは静的に生成できない。CDNキャッシュ(fastlyに感謝)を使っても、カタログが広すぎてキャッシュを完全に満たしながらページをタイムリーに更新するのは難しい。解決策は、オリジンサーバーをスケールアップすることかな… /shrug 本気で言うと、ボットにデータを取得するもっと効率的な方法を教えられたらいいな。マーケティングページに行くことで余計な負担をかけるのではなく、書籍情報を取得するために私たちのオープンAPIを使ってほしい。

原則として、中央サービスを使って悪質なIPをスケールで特定することは可能だと思う。つまり、毎千ページのヒットをシンプルなUDPパケットで報告すれば、中央トラッカーの負荷は非常に低く、悪用されているIPのブルームフィルターを公開するのに十分なデータを得られる。例えば、100万ビットであれば、かなり低い誤検出率になるよ。(もし悪質なIPが約1万件だけなら、正直、LRUカウンターを維持して全てを列挙するだけで済む。)追跡されたサイト全体で毎時10億ヒットがあっても、トラッカーサービスへの流入は約50KB/sに過ぎない。個々の参加サイトは、ソースIPごとに多くのヒットを受けるわけではないけど、数十サイトを集約すれば悪質な行為者が浮き彫りになるはず。クライアントは1時間ごとにブルームフィルターを引き出して(80KBのダウンロード)、一致するリクエストをドロップすればいい。今どきのLLMなら、これのバックエンドを1日か2日でコーディングできるだろうし、RasPiで動くはず。どこかの組織が責任を持ってインフラと広告を提供しなきゃね。

同じく、俺も数百のWordPressサイトを持ってるけど、ボットの活動がここ1、2年でめっちゃ増えた。AIのスクレイパーはかなり攻撃的で、例えばサイトにたくさんのパラメータがあると、ボットが全ての可能なパラメータを試そうとして狂ったようにリクエストを送ってくる。時々、掘り下げて新しいルールを考えて、大量にブロックしようとするけど、AIがGoogleを置き換えるかもしれないし、AIのデータベースに入ってないのも心配なんだ。

信頼できない会社の独自の単一ソース製品に頼るのは嫌だけど、(無料の)Cloudflare Turnstileは俺には合ってる。これだけが効果があった。アプリ内の「危険/高価な」(偶然ハニーポットみたいな)パスだけを保護して、実際にクローラーに取得してほしいものはそのままにしてる。それで十分なんだ。SEOのためにクローラーに俺のものをたくさん取得してもらいたいけど、Googleに独占させたくないし、聞いたこともないような良いクローラーにもアクセスしてほしい。でも、リソースを無駄にしたくはないんだ。

Hacker Newsで議論の続きを見る