WordPressサイトを公開すると、アクセス解析やサーバーログに海外からのアクセスが大量に記録されることがあります。
特にアメリカからのアクセスが多く、「これって全部攻撃なの?」と不安に感じたことはないでしょうか。
私のサイトでも、公開直後からアメリカIPアドレスによるアクセスが多数確認されました。
ログを詳しく見ていくと、/.env や /.git/config など、明らかに脆弱性を探るようなリクエストが送られてきています。
こうした挙動を見ると、すべてが攻撃者のように思えますが、実は少し事情が違います。
結論|海外ボットは「攻撃者」と「調査ボット」が混在している
結論から言うと、こうしたスキャンの中には、
- 攻撃者によるスキャン
- セキュリティ企業や研究者による調査
の両方が含まれています。
つまり、あなたのサイトには攻撃目的のボットと、調査目的のボットが混ざってアクセスしている状態です。
実際に確認されたスキャン内容(アクセスログ例)
私の環境で確認されたアクセスには、次のようなものがあります。
/.env/.git/config/wp-login.php/admin/api
これらはすべて、脆弱性の有無を確認するために機械的にスキャンされる代表的なパスです。
重要なのは、これらのアクセスはサイトの内容(日本語・英語)ではなく、サーバーの構造を対象にしているという点です。
※ .env や .git/config などのパスは、機密情報を狙ったスキャンとしてよく知られています。
▶ /.env スキャンの詳細はこちら
▶ /wp-login.php スキャンの詳細はこちら
セキュリティ企業と攻撃者の共通点
ここが少し意外なポイントです。
セキュリティ企業と攻撃者は、実はかなり似た動きをします。
- 同じURLにアクセスする
- 同じようなリクエストを送る
- 同じクラウド環境(アメリカIPアドレス)を使う
ログだけを見ると、ほとんど区別がつきません。
セキュリティ企業と攻撃者の違いは、その後の行動
両者の違いは、スキャン後の行動にあります。
セキュリティ企業・研究者
- 脆弱性を確認するまで
- 攻撃や侵入は行わない
- 結果を分析・サービスに活用
攻撃者
- 脆弱性を見つけたら即利用
- 情報の取得や改ざんを行う
- マルウェア設置や踏み台化
つまり、同じスキャンでも「そこで止まるか」「攻撃に進むか」が決定的な違いです。
なぜ許可なくスキャンされるのか
ここも気になるポイントですが、インターネットの仕組み上、公開されているWebサイトには誰でもアクセスできます。
そのため、
- 軽いリクエスト(GET)
- 負荷の低いスキャン
については、一般的に問題とされないケースが多いのが現実です。
ただし、
- 大量アクセス
- パスワード総当たり
- 実際の侵入行為
などは明確に攻撃とみなされます。
ログだけで安全かどうかを見分けるのは不可能
ここが一番大事です。
- User-Agentは偽装できる
- IPアドレスはクラウドで共通化されている
- 挙動もほぼ同じ
そのため、「これは安全なスキャンか?」「これは攻撃か?」をログだけで判断することはほぼ不可能です。
海外ボットを完全に遮断する必要はあるのか?
結論から言うと、海外ボットを完全に遮断する必要はありません。
海外からのアクセスには、
- 攻撃者
- セキュリティ企業の調査
- 検索エンジンのクローラー
などが混ざっており、危険なアクセスだけを正確に見分けることはできません。
また、IPアドレスや国単位でブロックしても、
- 攻撃者もクラウドを使う
- IPアドレスは簡単に変わる
- 正常なアクセスも巻き込む
といった理由から、完全な対策にはなりません。
重要なのは、アクセスをブロックすることではなく、すべての外部アクセスを前提として安全に運用することです。
WordPressで取るべき基本的なセキュリティ対策
結論としてはシンプルです。
すべてのスキャンを外部からのアクセスとして扱い、適切に防御することが重要です。
具体的には、
- WAFの有効化
- 不要なファイルの非公開
- ログの継続的な監視
など、基本的な対策を行うことで十分に対応できます。
こうしたボットの挙動を把握するためには、アクセスログを確認できる環境が重要になります。
▶ WordPressのセキュリティ対策は何からやるべきか│初心者向けに最低限の設定を解説
まとめ|すべてのアクセスを前提に防御する考え方
WordPressサイトに来る海外ボットは、すべてが攻撃者ではありません。
その中には、セキュリティ企業や研究者によるスキャンも含まれています。
しかし、
- 挙動は攻撃者とほぼ同じ
- ログでは区別できない
という現実があります。
そのため、安全なアクセスかどうかを考えるよりも、すべて防御対象として扱うという考え方が大事です。
