異常な海外流入とサーバー過負荷、ディドスだろうか? L7攻撃の分析と解決策

数日前から WordPress ブログへの海外流入が異常に増加ボットによる訪問ではないかと疑われ、ウェブホスティング会社に連絡して問い合わせると、正常なユーザーという回答を聞きました。問題は、異常な訪問者が同時に集まりながら頻繁にCPU使用率が急増し、訪問後すぐに離脱して滞留時間が急減する問題が現れています。

昨年の8月と9月の1ヶ月で極度 ディドス(DDoS)攻撃がありましたが、今回の海外でのDirect流入の急増はディドス攻撃と似ています。昨年の攻撃に加わったIPの一部が今回の流入にも含まれています。まず、クラウドフレアと連動して一部の国をブロックするなど、対策を講じました。訪問者の急増は下落傾向が戻ってきたが、依然として高い水準であり、クラウドプレイで中国など一部の国を遮断したが、遮断された国でも引き続き高い数値で訪問流入となることが示されています。

異常な海外流入とサーバー過負荷、ディドスだろうか? L7攻撃の分析と解決策

L7アプリケーション層攻撃またはスラッシング(リソースの枯渇)

数日前から異常に海外からの流入が増加し、CPU使用率が急増し、Googleアナリティクスで滞留時間が急落するなど問題が発生しています。短時間で同時接続ユーザー(同接者)が急増するパターンが繰り返されています。クラウドウェイズでは正常なユーザーだそうですが、ディドス攻撃と似た様相です。ディドス攻撃のように大量流入ではなく適度に高い流入でサーバーに負担となっており、SEOに問題となっています。

このような攻撃を何と言うのかを見てみると、この現象は単なるディドスではなく、次のような用語で定義できるということですね。

  • L7アプリケーション層攻撃(L7 HTTP Flood): 帯域幅をいっぱいにするディドスとは異なり、実際のユーザーが接続するかのようにHTTPリクエストを送信してサーバーのCPUとDBリソースをいじる攻撃です。
  • スラッシング/リソース消耗攻撃: サーバーが余裕があるほど「適度に高い」流入を維持し、サーバーを遅くし、最終的に検索エンジンボット(Googlebot)が接続したときにサイトがゆっくり応答するように誘導し、 SEOスコアを食べるのが重要です。
  • スクレーピングボット攻撃(Scraping/Crawling Attack): コンテンツを不正に掻き取るために多数のボットを動員するときに発生します。滞留時間が短い理由は、ページのテキストだけを傷つけてすぐに抜け出すからです。

異常な海外流入増加問題対応方法

問題認識:異常な海外流入増加

数日前から訪問者数が急増し、普段より3~4倍多くの流入が行われています。

問題認識:異常な海外流入増加

流入経路を見てみると Direct(ダイレクト) 流入が正確に60%を記録している オーガニック検索が37.88%に直接流入が数日間に圧倒的に増加しました。

  • 直接: 60.08%
  • Organic Search: 37.88%
  • 滞在時間(アクティブユーザーあたりの平均参加時間):1分以上から30秒に急落

問題は、これらの直接流入の平均滞留時間が7秒と非常に低いです。ただ訪問して離脱してSEOに非常に悪い影響を与えるようです。

昨日は夜明けの時間ですが、Google Analyticsで 過去 30 分間のアクティブユーザー数が 419 と言わない数字が表示されました。

異常な海外流入攻撃

クラウドウェイズに連絡するとボットではなく正常な訪問者という回答をしました。

次のように対応するため、訪問者の流入増加傾向が崩れましたが解決されませんでした。

  • クラウドフレア(Cloudflare)でプロキシを有効にする
  • 中国、香港、ドイツなど、異常な訪問者数が多い国のブロックルールを追加

中国などの一部の国をブロックするように設定していますが、その国からまだ多くの訪問者が流入しています。

トラブルシューティング

クラウドフレアで特定の国をブロックしても流入し続ける理由

クラウドフレア(Cloudflare)で中国や香港など一部の国の流入を遮断したにもかかわらず、流入が続く理由は大きく3つと見られると言われています。

  1. VPNとプロキシ(Proxy)バイパス
    • 攻撃者が使用するボットネットが中国に本拠地を置いていても、経由地へ アメリカ、日本、さらには韓国の一般家庭のIPを使用します。商用VPNだけでなく、ハッキングされた世界中のパーソナルPCやIoT機器を利用するため、国家遮断だけでは限界があります。
  2. クラウドフレアを通さない直接攻撃(Origin IPの公開):これは最も致命的です。攻撃者がクラウドフレアの保護膜を通過するのではなく、 サーバーの実際のIP(Origin IP)を調べて直接接続する場合です。
    • クラウドフレア設定前のIPが公開されたか、メール配信サーバーなどを通じてIPが流出したときに発生します。
    • この場合、クラウドフレアでどんな国をブロックしてもサーバーに直接入ってくる攻撃は防げません。
  3. サーバーホスティング会社(私の場合は「クラウドウェイズ」)の判断基準の違い
    • クラウドウェイズの立場では、各リクエストが正常なHTTP規格を備えて入ってくるため、「異常な攻撃ログがない(正常なユーザーだ)」と答えた可能性が高いです。しかし、「意図」が悪意のあるボットは、管理者が直接行動パターン(Rate Limiting)で制御する必要があります。

セキュリティルールで「ブロック」の代わりに「JSチャレンジ」に設定してフィルタリングする

Cloudflareで中国などの特定の国をブロックする際のセキュリティルールでは、ブロック'を設定してブロックする場合、正しくブロックできない場合は、'ブロック「代わりに」JSチャレンジ'に設定することを検討できます。これにより、実際のブラウザから流入しないボットはここでほとんどフィルタリングされると言われます。

クラウドフレアセキュリティルール

実際にこの措置を講じます。 攻撃強度が1/10程度に減少しました。流入の多い海外国をさらに追加して(JSチャレンジに設定して)ブロックすると、ボット訪問者数がさらに減るように見えます。

ボットがクラウドフレアのJavaScriptチャレンジに詰まって攻撃が食い込まれずSEO指標を汚染できなくなると、攻撃者もコスト問題で攻撃を放棄することになります。

👉「JSチャレンジ」より「管理チャレンジ」に設定すると、ボットはブロックし、通常の人間ユーザーは通過させてユーザー体験(UX)に有利だそうです。

追加の処置:IPブロック

クラウドウェイズを利用すれば、過度に流入するIPを確認してブロックすることができます。私は過去1日間に過度に訪問したIPアドレス3つを確認してクラウドフレアを通じてブロックし、.htaccessファイルにもコードを追加してブロックしました。

クラウドウェイズの場合は、アプリケーションマネージャページの Monitoring » Analytics » Traffic » IP Requestsで上位10個のIPアドレスを確認できます。期間を1時間または1日にして多く流入するIPをチェックし、異常なことはブロックを考慮することができます。 (Googleボットやビングボットなど検索ボットはブロックしないように注意してください。)

IP流入確認

他のウェブホスティングを利用している場合は、その会社に連絡して過度に流入しているIPを確認してもらうように求めることができます。

IPがGoogleボットやBingBotなどの通常の検索エンジンIPでない場合は、大胆にブロックできます。

SEOツール・バックリンク分析ボットなどスパムボットをブロックする

ウェブサイト運営者の許可なしに無断でコンテンツを収集し、サーバーリソースを消費して、サイトのパフォーマンスに悪影響を及ぼすスパムボットを特定してブロックすることを検討できます。

クラウドウェイでは ボットトラフィック タブでリクエストの多いボットを確認できます。

ボットトラフィック

上記では、Brakrowlerというボットが15分の間に過度に多く流入していることを示しています。 Barkrowlerは、フランスのマーケティングおよびSEO分析会社である「Babbar」が運営するクローラーで、ウェブサイトのバックリンク構造を分析し、データを収集するために世界中のWebページを大量に掻き取っているサードパーティのSEOボットといわれています。これらのスパムボットはブロックできます。

私は.htaccessファイルとrobots.txtファイルを介してスパムボットをブロックするコードを追加しました。

結果

クラウドフレアで一部の国家流入に対してJSチャレンジを設定し、クラウドウェイズから異常に頻繁に流入するIPをチェックしてブロックするため、Googleアナリティクスで訪問者の流入が定常状態に戻りました。

Google Analyticsの訪問者の流入回復

悪意のあるボットが過度に侵入すると、Google Analyticsの統計情報が汚染され、トラフィックが増加するとサーバーリソースが不足し、サイトが遅くなったりダウンしたりする可能性があります。

理由なしに訪問者が異常に増加する場合は、原因を特定して対応してください。

攻撃の目的

攻撃者が大規模 ディドス(DDoS)ようにサーバーを完全にダウンさせることなく、「適度に高い」流入でいじめには、いくつかの凶暴で計算された目的があると言えます。次のように大きく4つの程度で要約できます。

1.競争サイトのSEO破壊(最も有力な理由)

現在経験している症状(滞留時間の急落、CPU使用率の急増)はSEOにとって致命的です。

  • 遅い応答速度: ボットがサーバーリソースを占有すると、Googleボットが私のサイトにアクセスしたときに応答が遅くなります。 Googleは遅いサイトの検索順位を下げます。
  • ユーザーエクスペリエンス指標の悪化: Googleは、実際のユーザーの滞在時間と出口レートを参照しています。ボットの流入によって「0秒」または数秒で出てくるトラフィックが蓄積すると、Googleはこのサイトのコンテンツ品質が低いと判断してランクを落とすことができます。
  • 結果: 競争関係にあるサイト運営者が私のサイトのランクを引き下げるために、このような「否定的なSEO(Negative SEO)」攻撃を代理店に依頼することが多いと言われています。

2. コンテンツ不正収集(Scraping)

単に攻撃ではなく、私のブログのコンテンツを丸ごと複製していこうという目的です。

  • 自動投稿用データ: 私の記事をリアルタイムで掻き取って自分の「ガベージブログ」やAI学習用データとして使うためです。
  • コスト削減: 攻撃者はJavaScriptを実行していない手頃な価格のボットを大量に回して、できるだけ早くテキストのみを抽出しようとします。この過程で、サーバーは多数の要求を処理し、過度のトラフィックを引き起こします。

スクレイピングで他のサイトのコンテンツを不正に傷つけることがよくあります。数年前、ある方が私のティーストーリーブログのコンテンツを無断でスクレイピングすることがありました。当時のティーストーリーにお問い合わせいただいたため、通常の訪問と言いながら、遮断などの措置は取ってくれませんでした。

👉過去1日間に接続したIPをチェックしてみたところ、いくつかのIPが非常に高い頻度で接続していることを確認しました。ジェミナイとパープレクシティに聞いてみると、そのIPはグーグルボットやビングボットのような検索ボットではなく、スクレイピングに使われているIPである可能性が非常に高いそうです。だからそのIPをブロックしました。頻繁にIP要求をチェックして過度に訪問するIPは正常なIPかどうかを確認した後に異常なIPであると疑われる場合はブロックするのも一つの方法のようです。

3. セキュリティ脆弱性の探索 (Vulnerability Scanning)

攻撃者は本格的なハッキングの前にサーバーの反応を見ることができます。

  • さまざまなパスでアクセスしようとすると、管理者ページ(wp-admin)または特定のプラグインの脆弱性があるかどうかを突き止める過程でトラフィックが発生します。
  • サーバーが過負荷のために一時的なエラー(500エラーなど)を発生したときに公開されるシステム情報を収集することもあります。

WordPressはセキュリティに強いですが、アップデートを無視するとセキュリティに脆弱になります。

  1. WordPress、テーマ、プラグインなどを常に最新バージョンに保ちます。
  2. 長い間更新ができず、放置するプラグインは削除
  3. パスワードを他のユーザーと共有しない
  4. セキュリティプラグインのインストール
  5. 定期的な バックアップ

プラグインは、可能な限り必要なプラグインのみをインストールすることをお勧めします。多くのプラグインをインストールすると競合が発生する可能性があり、誤って作成されたプラグインはサーバーリソースを迅速に使い果たし、サーバーの過負荷を引き起こす可能性があります。

4. 広告収入とサーバー費用の打撃

広告の無効なクリックの誘導: AdSense 同じ広告がある場合は、ボットが広告に触れて「無効なトラフィック」でアカウントを停止したり、広告の収益を傍受したりできます。

サーバーコストの圧迫:クラウドウェイズなどの従量制やリソース制限のあるホスティングを使用する場合は、トラフィックの超過コストを引き起こすか、サーバーの仕様を無理にアップグレードして経済的損失を引き起こすことが目的です。

最後に、

正常でない訪問者の流入が突然急増した場合は、原因を特定して対応することが重要であると考えられます。

10年以上 WordPress ブログを運営しながら、今回の攻撃のような現象は初めて経験します。 直接流入急増→滞留時間急落→SEO破壊が目的ではないかと推定されます。

昨年に発生した大規模なディドス攻撃の場合、対応方法がはっきりしっかりと対応して防げましたが、このような症状は攻撃か実際の訪問者の流入かをチェックするのが容易ではなく、対応方法もケースごとに異なり、防御が容易ではないようです。

最初は Facebook、X.com、スレッド、カトクダントークバンなどを通じて流入するのではないかと推定したが、韓国だけでなく中国、東南アジア、ヨーロッパなど世界中の様々な国で夜明け時間帯をはじめ、頻繁に訪問者が増加するパターンを見せてボット訪問のような異常な訪問であるようだと思いました。

私のような問題を経験している場合は、症状に基づいて問題を分析し、対応方法を決定することを検討することができます。

参照

コメントを残す

コメントを残す