※本記事にはプロモーションが含まれています。
WordPressサイトを公開すると、さまざまなBotがサイトの構造を調べるためにアクセスしてきます。
特に多く観測されるのが、ログインページ「/wp-login.php」へのアクセスです。
これまでのSecurity Logシリーズでも、
.git/configsetup-config.phpxmlrpc.php
など、WordPress特有のファイルを探すスキャンを紹介してきました。
今回はその中でも有名なターゲットであるWordPressのログインページ/wp-login.phpへのアクセスを見ていきます。
実際のサーバーログをもとに、どのような目的のアクセスなのかを解説します。
WordPressのログインページ「wp-login.php」とは
wp-login.php は、WordPressの管理画面にログインするためのページです。
通常は次のURLからアクセスできます。
https://example.com/wp-login.phpまたは、
https://example.com/wp-admin/WordPressサイトを管理するための重要な入口になるため、攻撃者やBotはまずこのURLの存在を確認します。
実際のサーバーログ「/wp-login.php」へのアクセス例
以下は、実際にサイトのサーバーログに記録されていたアクセスです。
www.vivisec.net 95.181.239.15 - - [10/Mar/2026:12:04:45 +0900]
"GET /wp-login.php HTTP/1.1" 403 1795 "-"
"Mozilla/5.0"このログを分解すると、次のような意味になります。
| 項目 | 内容 |
|---|---|
| IPアドレス | 95.181.239.15 |
| アクセス先 | /wp-login.php |
| HTTPメソッド | GET |
| レスポンス | 403 Forbidden |
| User-Agent | Mozilla/5.0 |
今回のようなアクセスは珍しいものではなく、多くのWordPressサイトで日常的に観測されます。
「/wp-login.php」アクセスの意味
このログは、WordPressのログインページの存在を確認するスキャンと考えられます。
ポイントは次の2つです。
GETリクエストである
ログでは次のリクエストが送られています。
GET /wp-login.phpこれは単に、
このサイトにログインページがあるか?
を確認しているだけです。
もしログイン攻撃(ブルートフォース)であれば、通常は次のようなリクエストになります。
POST /wp-login.phpPOSTリクエストは、実際にユーザー名とパスワードを送信するログイン試行です。
今回のログは存在確認の段階ですが、このあとに実際のログイン試行(ブルートフォース攻撃)が行われるケースもあります。
こうした攻撃の仕組みについては、以下の記事で詳しく解説しています。
▶ WordPressのログインURL変更だけでは防げない理由|攻撃とスキャンの仕組み
User-Agentが非常に簡素
User-Agentは次のようになっています。
Mozilla/5.0通常のブラウザはもっと長い文字列になります。
例
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ...そのため、このアクセスは自動化されたスキャンボットの可能性が高いと考えられます。
なぜ攻撃BotはWordPressのログインページを探すのか
攻撃者が /wp-login.php を探す理由は単純です。
WordPressサイトのログインページが見つかれば、
- ブルートフォース攻撃
- パスワード総当たり
- 脆弱なアカウントの探索
などを試すことができるからです。
多くの自動スキャンBotは、
/wp-login.phpを最初に確認します。
そのため、ログインページの保護はWordPressのセキュリティ対策の中でも特に重要なポイントになります。
今回のログでは攻撃は成功していない(403 Forbidden)
ログを見るとレスポンスは次のようになっています。
403 Forbiddenこれは アクセスが拒否されている状態です。
つまり、
- ログインURL変更
- WAF
- セキュリティ設定
などによって、/wp-login.php へのアクセスがブロックされている可能性があります。
このようなログは、
Botはログインページを探しているが、実際にはアクセスできていない
という状況を示しています。
このようなレスポンスは、サーバー側でアクセスが制御されている場合にも見られます。
今回のようにアクセスがブロックされている状態は、
- WAF(Web Application Firewall)
- ログイン制限
- サーバー側のセキュリティ機能
などが適切に機能している可能性があります。
wp-login.phpだけが狙われているわけではない
WordPress攻撃といえば、ログインページへのブルートフォース攻撃というイメージを持つ人も多いかもしれません。
しかし実際のアクセスログを観察すると、Botはログインページだけでなく、さまざまなURLを同時にスキャンしています。
例えば、
/.env
/setup-config.php/xmlrpc.php/admin/api
などです。
つまり、/wp-login.phpも重要なターゲットの一つではありますが、それだけが特別に多いというわけではなく、サイト全体の脆弱ポイントを広く探しているというのが実際の挙動に近いと言えます。
そのため、ログインページだけでなく、WordPress全体のセキュリティ対策を行うことが重要です。
▶ WordPressのセキュリティ対策を初心者向けに最低限の設定を解説
WordPressで「wp-login.php」を守る基本的なセキュリティ対策
WordPressでは、ログインページを守るために次のような対策がよく使われます。
ログインURL変更
/wp-login.phpではなく、別のURLに変更する。
ログイン試行回数制限
一定回数ログインに失敗するとIPをブロック。
二要素認証(2FA)
パスワードだけではログインできないようにする。
WAFの利用
サーバーやセキュリティプラグインで攻撃を遮断する。
また、WordPress側の設定だけでなく、サーバー側のセキュリティも重要です。
レンタルサーバーによってはWAFが標準で利用でき、不審なアクセスや攻撃を自動的にブロックしてくれます。
特に、今回のようなログインページへのスキャンや攻撃は、サーバー側である程度フィルタリングされることもあります。
私自身も実際に使っていますが、設定の分かりやすさや安定性の面でも安心して運用できています。
まとめ│WordPressのログインページは常にBotに狙われる
WordPressサイトを公開すると、BotはさまざまなURLをスキャンしてサイトの構造を調べます。
今回のログでは、WordPressログインページ/wp-login.phpを探すアクセスが確認されました。
ただし、このアクセスはGETリクエストによる存在確認スキャンであり、ログイン攻撃そのものではありません。
また、レスポンスは403 Forbiddenとなっており、アクセスは拒否されています。
サーバーログを観察することで、こうしたBotの挙動を具体的に知ることができます。
