WordPress でサイトを作って、記事を書いて、それで終わりにしていました。
セキュリティのプラグインは入れていましたが、週に一度届くレポートは、ほとんど開いていませんでした。 何も起きていないと思っていたので。
先日、なんとなく開いてみて、少し驚きました。

1週間のレポート
その週、ブロックされた接続は24回でした。
| 国 | IPの数 | ブロック数 |
|---|---|---|
| シンガポール | 1 | 8 |
| カナダ | 1 | 6 |
| アメリカ | 3 | 5 |
| パキスタン | 1 | 3 |
| オランダ | 1 | 2 |
大した数ではありません。 大きなサイトなら、桁が2つも3つも違うはずです。
驚いたのは、その下でした。
実在するユーザー名が、狙われていた
失敗したログインの一覧です。ユーザー名は仮名にしています。
ユーザー名 ログイン試行回数 既存ユーザー
taro 4 はい
たろう 4 いいえ 「既存ユーザー」の欄を見てください。
下の「たろう」は、存在しないユーザー名です。これはただの総当たりで、当たりません。
問題は上です。 実在するユーザー名が、正確に指定されています。
つまり、こちらのユーザー名は、すでに知られているということです。
なぜ、小さいサイトにも来るのか
狙われているわけではありません。
攻撃する側は、片っ端から当たっています。 サイトの規模も、内容も、見ていません。
WordPress は世界中で使われているので、ログイン画面の場所が決まっています。 `/wp-login.php` です。
ドメインさえ分かれば、そこを叩けばいい。 こちらが小さいかどうかは、関係がありません。
実際、公開して10分で攻撃が来たという報告もあります。どこにも告知していないサーバーに、です。
自分のサイトを確認する
まず、どれくらい来ているかを知るところからだと思います。
セキュリティプラグインを入れる
いちばん手軽です。ログイン試行の記録を残してくれるものがいくつかあります。
入れるだけで、週次のレポートが届くようになります。 自分の場合も、これで気づきました。
見るべきところ
数字の大小より、この2つを見てください。
実在するユーザー名が試されているか。 ここが「はい」になっていたら、名前が漏れています。
同じIPから、何度も来ているか。 継続的なら、そのIPを止める価値があります。
サーバーのログを見る
レンタルサーバーの管理画面から、アクセスログを見られることがあります。
wp-login.php や xmlrpc.php への POST が並んでいたら、それが試行の記録です。
やっておくと効くこと
効く順に書きます。
1. ログインの試行回数を制限する
いちばん効きます。
何回か間違えたら、そのIPからのアクセスを一定時間止める。総当たりは、回数が制限された時点で成立しなくなります。
冒頭のレポートで4回で止まっていたのも、この仕組みが働いた結果です。
2. ログイン画面の場所を変える
/wp-login.php は、誰でも知っています。
別のURLに変えると、機械的な試行はほぼ来なくなります。
ただし、変えたURLを忘れないでください。 自分が入れなくなります。
3. ユーザー名を隠す
投稿者アーカイブ、REST API、ページのソース。いくつも経路があります。
ひととおり塞ぐ価値はありますが、完全に隠しきるのは難しいというのが実感です。
4. パスワードを強くする
当たり前ですが、これが最後の壁です。
短いもの、使い回しているもの、辞書に載っている単語。ここが弱いと、上の対策があっても危ない。
5. xmlrpc.php を止める
使っていないなら、止めておくと試行の経路が1つ減ります。
ただし、アプリから投稿している場合などは、必要なことがあります。 止める前に、使っていないか確認してください。
それでも、前提は変わらない
ひととおりやってから、思ったことがあります。
これらは全部、「パスワードが破られるかもしれない」という前提の上に立っています。
回数を制限するのも、名前を隠すのも、破られるまでの時間を延ばすための対策です。
そして、名前が漏れた時点で、残る壁はパスワードだけになります。
前提のほうを変える
それで、別の方向を考えるようになりました。
パスワードそのものを使わない方法です。指紋や顔でログインする、パスキーという仕組みがあります。
パスキーでは、サーバー側に「破れば通る秘密」が保存されません。 秘密の鍵は、利用者の端末から出ないからです。
名前が漏れていても、総当たりの対象がありません。
自分でも、WordPress 向けのパスキープラグインを作って公開しています。無料で試せます。
まとめ
- 小さな個人サイトにも、毎週ログイン試行は来ている
- 狙われているのではなく、片っ端から当たられている
- WordPress はログイン画面の場所が決まっているので、当たりやすい
- 数字の大小より、実在するユーザー名が試されているかを見る
- 「既存ユーザー:はい」なら、名前が漏れている
- 効く順は、試行回数の制限 → ログイン画面の変更 → 名前を隠す → パスワードを強くする
xmlrpc.phpは、使っていなければ止める- これらは全部、破られる前提の上の対策
- パスキーなら、破る対象そのものがない
レポートを開いていなかったら、何も変わっていませんでした。
まずは、自分のサイトに何が来ているかを見てみるところからだと思います。見ないでいたものは、なくなっているわけではないので。
※本記事の情報は2026年8月時点のものです。

