User-AgentとRefererは信用できない|WordPressログから見るBotの偽装例

WordPressサイトを公開すると、アクセスログにはさまざまなリクエストが記録されます。

その中には、一見すると「Google」や「Facebook」など、信頼できそうなアクセス元に見えるものもあります。

しかし実際には、それらがすべて本物とは限りません。

この記事では、実際のサーバーログをもとに、User-AgentやRefererを偽装したBotの挙動を解説します。

WordPressを公開すると、実際にどのようなアクセスが来るのかは、以下の記事でも詳しく解説しています。

WordPress公開直後にBotアクセス|favicon取得から分かるスキャンの特徴

User-Agent(ユーザーエージェント)とは

User-Agent(UA)とは、アクセスしてきたクライアント(ブラウザやBot)が自分の情報を名乗るための文字列です。

例えば以下のような情報が含まれます。

  • OS(Windows / Mac / Linux)
  • ブラウザ(Chrome / Safari など)
  • バージョン情報

一見すると、どんな環境からアクセスしているかが分かる便利な情報ですが、この値は簡単に変更できます。


Referer(リファラー)とは何か

Refererとは、「どこから来たか」を示す情報です。

例えばGoogle検索からアクセスした場合、以下のような値が入ることがあります。

https://www.google.com/

ただし現在はプライバシー保護のため、検索キーワードはほとんど送信されません。

また、RefererもUser-Agentと同様に自由に偽装できます。


BotがUAとRefererを偽装している実際のログ

以下は、実際に同一IPから数秒で行われたアクセスログです。

192.109.200.41 → /wp-login.php
Referer: https://www.facebook.com/
UA: Chrome (Windows)

192.109.200.41 → /wp-login.php
Referer: https://www.google.com/
UA: Safari (Mac)

192.109.200.41 → /wp-admin/
Referer: なし
UA: Chrome (Linux)

WordPressでは、このようにログインページや管理画面を狙ったアクセスが日常的に発生します。

実際のスキャン内容については、こちらの記事でも詳しく解説しています。

WordPressの「/wp-login.php」スキャンとは│アクセスログ分析


Botと判断できる不自然なアクセスの特徴

このログには、明らかに人間ではありえない挙動が含まれています。

OSとブラウザが短時間で変化

  • Windows → Mac → Linux
  • Chrome → Safari → Chrome

数秒の間に環境が変わることは通常ありえません。

Refererがコロコロ変わる

  • Facebook
  • Google
  • リファラーなし

これも自然なユーザー行動ではありません。

アクセス先が不自然

すべて以下のURLに集中しています。

  • /wp-login.php
  • /wp-admin/

これはWordPressサイトを探す典型的なスキャン行動です。


なぜBotは偽装するのか

BotがUser-AgentやRefererを偽装する理由は主に以下です。

  • 単純なフィルタリング回避
  • 人間のアクセスに見せかけるため
  • セキュリティ検知を回避するため

ただし今回のように、挙動まで偽装できていないケースも多く見られます。


User-AgentやRefererだけで判断してはいけない理由

これらの情報は「自己申告」にすぎません。

  • User-Agent → 自分で好きに名乗れる
  • Referer → 自分で好きに付けられる

そのため、これらだけを見て「安全なアクセス」と判断するのは危険です。


Botを見分けるポイント|重要なのは挙動

ログ分析で重要なのは「何をしているか」です。

以下のような特徴があればBotの可能性が高くなります。

  • 短時間で連続アクセス
  • 同一IPで複数パターンのリクエスト
  • WordPress特有のURLを狙う
  • UAやRefererが頻繁に変わる

今回のログはこれらすべてに該当しています。


WordPressでできる最低限の対策

今回のようなスキャンは防ぐというより、前提として受け入れるものです。

その上で、以下の対策が有効です。

  • ログインURLの変更
  • WAFの有効化
  • 不要なエンドポイントの制限
  • 管理画面へのアクセス制限(必要に応じて)

今回のログでも、すべて403でブロックされており、適切に防御されています。

WordPress初心者向けのセキュリティ対策はこちらで詳しく解説しています


まとめ|User-AgentやRefererは容易に偽装可能

User-AgentやRefererは、一見すると信頼できる情報に見えますが、どちらも簡単に偽装できます。

そのため、「どこから来たか」「どんなブラウザか」だけで判断するのは危険です。

見るべきなのは、どのURLに、どのタイミングでアクセスしているかといった実際の動きです。

ログを見るときは、表示されている情報ではなく、アクセスの流れやパターンに注目することが大切です。

アクセスログから分かるBotの挙動については、他の記事でも実例をもとに解説しています。

気になる方はあわせてご覧ください。

このブログの運営環境

  • WordPress
  • GeneratePress
  • エックスサーバー

エックスサーバー公式サイト