※本記事にはプロモーションが含まれています。
WordPressを運用していると、サーバーのアクセスログに海外IPアドレスからのアクセスが記録されることがあります。
「海外からアクセスされている…危険なのでは?」
「全部ブロックした方がいいのでは?」
そう感じる方も多いと思います。
この記事では、実際のログをもとに、海外IPアクセスの正体と、ブロックすべきかどうかの判断基準を解説します。
海外IPアドレスからアクセスが来る理由
① 自動スキャン(Bot)
最も多いのがこちらです。
世界中のサーバーを対象に、以下のようなURLが自動的にチェックされています。
/wp-login.php/xmlrpc.php/wp-json/wp/v2/users/.env/.git/config
これは特定のサイトを狙っているわけではなく、インターネット上のWordPressサイトを片っ端から探している状態です。
つまり、海外IPアドレス=あなたが狙われている、ではありません。
② クラウドサービス経由のアクセス
Google、AWS、Cloudflareなどのクラウドサービスを経由したアクセスもあります。
これらは海外IPになることが多く、
- 検索エンジンのクローラー
- セキュリティスキャン
- CDN
など、正常なアクセスも含まれます。
③ 実際の海外ユーザー
可能性は低いですが、実際のユーザーがアクセスしている場合もあります。
特に以下のケースです。
- 英語記事を書いている
- SNSで海外から流入
- ボットではなくブラウザアクセス
ただし、ログを見ると多くの場合はBotです。
実際のログから見る海外IPアクセスのパターン
実際のログを見ると、海外IPからのアクセスには複数のパターンがあります。
パターン① WordPress決め打ちスキャン
www.vivisec.net 104.28.159.68 - - [25/Feb/2026:07:56:46 +0900]
"GET /wp-login.php HTTP/1.1" 403 1795 "-" "Mozilla/5.0"
vivisec.net 104.28.156.107 - - [25/Feb/2026:08:20:38 +0900]
"GET /wp-login.php HTTP/1.1" 403 1795 "-" "Mozilla/5.0"このアクセスは、トップページを確認せずにいきなりログインURLへアクセスしています。
- サイト構成を見ていない
- WordPressを前提にしている
WordPressのログインページ(wp-login.php)は、公開直後からスキャン対象になります。
実際のログからその挙動を詳しく解説した記事はこちらです。
▶ WordPressの「/wp-login.php」スキャンとは│アクセスログ分析
パターン②:サイト確認型スキャン
vivisec.net 133.200.41.128 - - [25/Feb/2026:08:18:28 +0900]
"GET / HTTP/1.1" 301 228 "-" "python-requests/2.32.3"
www.vivisec.net 133.200.41.128 - - [25/Feb/2026:08:18:29 +0900]
"GET / HTTP/1.1" 200 17262 "-" "python-requests/2.32.3"このタイプは、
- サイトの存在確認
- HTMLの取得
を行ってから次の行動に移ります。
スクリプトによる情報収集型スキャンです。
このようなスクリプト系のアクセスでは、User-Agentが簡単に偽装されているケースも多く見られます。
▶ User-AgentとRefererは信用できない|WordPressログから見るBotの偽装例
パターン③ WordPress初期状態を狙うスキャン
vivisec.net 172.68.10.79 - - [26/Feb/2026:08:18:28 +0900]
"GET /wordpress/wp-admin/setup-config.php HTTP/1.1" 403 1795 "-" "Mozilla/5.0"
www.vivisec.net 172.68.10.79 - - [26/Feb/2026:08:18:44 +0900]
"GET /wp-admin/setup-config.php HTTP/2.0" 403 1790 "-" "/wp-admin/setup-config.php"このアクセスでは、トップページを確認する前にWordPress特有のファイルへ直接アクセスしています。
setup-config.phpを直接スキャン/wordpress/パスも試す
WordPress前提のかなり典型的なスキャンです。
setup-config.phpは、WordPressの初期設定時に使われるファイルで、スキャン対象として非常に多く狙われます。
実際のアクセスログから詳しく分析した記事はこちらです。
▶ WordPressの /setup-config.php を探すBotアクセス|アクセスログ分析
海外IPアドレスはすべてブロックすべきか?判断基準
結論から言うと、一律ブロックはおすすめしません。
理由① 正常なアクセスも含まれる
海外IPには以下も含まれます。
- Googlebot
- APIアクセス
- CDN経由通信
これらをブロックすると、
- 検索順位に影響
- サイト表示に不具合
が出る可能性があります。
理由② 攻撃は国内IPアドレスからも来る
実際には、日本のIPからのアクセスでも
- ログイン試行
- スキャン
- ボットアクセス
は普通にあります。
つまり、海外だけブロックすれば安全ではないのです。
理由③ IPアドレスは簡単に変えられる
攻撃者はVPNやプロキシを使うため、
- IPは頻繁に変わる
- 国単位でのブロックは回避される
という特徴があります。
実際のログを追うと、同一IPでなくても同じ挙動が繰り返されていることが分かります。
Botのアクセスパターンについては、こちらの記事でも詳しく解説しています。
▶ WordPressに毎日同じ手順でアクセスが来る理由|実際のログから見るBotスキャンのパターン
海外IPアドレス対策の正しいやり方
① WAF(Web Application Firewall)を有効にする
まずはこちらです。
- XserverのWAF
- CloudSecure
- サーバー側防御
これで多くの攻撃は自動でブロックされます。
最も効果的なのは、サーバー側での防御です。
Xserverなどのレンタルサーバーには、WAFが標準で用意されており、今回のようなスキャンの多くは自動でブロックされます。
実際にログを見ると、403エラーで弾かれているアクセスが多く、サーバー側の防御が機能していることが分かります。
② 不要なエンドポイントを閉じる
例
xmlrpc.php→ 無効化wp-json→ 制限?author=→ ブロック
これだけでスキャンの成功率を大きく下げられます。
③ ログインURLの変更
/wp-login.phpを変更することで、機械的な攻撃の大半を回避できます。
④ ログを観察する
海外IPそのものよりも、
- どのURLにアクセスしているか
- どんな挙動か
を見る方が重要です。
海外IPブロックが有効なケース
こういう場合はありです。
- 完全に日本向けサイト
- 外部サービスを使っていない
- 明確に特定国から攻撃が集中している
ただし、それでも補助的な対策として使うのが安全です。
まとめ
- 海外IPアクセスのほとんどはBot
- 一律ブロックはデメリットがある
- IPアドレスよりも挙動で判断するのが重要
WordPressのセキュリティは、誰が来たかよりも、何をしようとしているかを見ることが大切です。
