WordPressのログイン画面は、どのサイトでも/wp-login.phpという同じURLにあります。つまり、場所が世界中に知られているということですね。
そのうえ、管理者でログインされてしまうと、できることがあまりにも大きいです。記事を書き換える、プラグインを入れる、ファイルを置く。サイトごと乗っ取れてしまいます。
場所が分かっていて、入れた時の見返りが大きい。だからログインを突破しようと狙われることが多いわけですね。代表的なのが総当たり攻撃(ブルートフォース攻撃)で、ユーザー名とパスワードの組み合わせを、機械が無作為に入れ替えながら延々と送ってきます。
前提として大事なのはパスワードをしっかり強くしておくことです。そのうえで、SiteGuard WP Pluginを入れるとログイン画面のセキュリティを強化できます。無料で使えます。
SiteGuard WP Pluginでできるようになること
SiteGuardを入れると、ログイン画面に守りを足せます。
- ログイン画面のURLを、
wp-adminやwp-login.phpではなく知られていないものに変える - ユーザー名、パスワードに加えて、ひらがなの画像認証を追加できる
- 短い間に何度もログインに失敗した相手を、一時的に閉め出すことができる
設定が終わると、ログイン画面はこうなります。

URLが変わって、ひらがなの画像認証が足されました。機械的な試行は、ここでほとんど止まります。
なお、ここで紹介するのは自分がよく使っている設定の一例です。サイトの状況や環境によって、ちょうどいい設定は変わります。ご自身の状況に応じて判断してもらえたらと思います。
ログインページを変更する
一番効くのがこれです。/wp-login.phpという決まったURLを、別の名前に変えられます。
機械的なログイン攻撃は、このURLを狙って総当たりで試してきます。URLが変わるだけで、その攻撃はまるごと届かなくなります。

オプションの「管理画面からログイン画面にリダイレクトしない。」にも、チェックを入れています。これを入れておくと、/wp-admin/を開かれた時に、新しいログインURLを教えてしまうことがなくなります。
変更後のURLは、必ず控えておく
ここだけは気をつけてください。新しいURLを忘れると、自分もログインできなくなります。
もし分からなくなった場合は、サーバーに入る形になりますが、SiteGuardのプラグインを一時的に無効化することで、元のログインURLに戻ります。
画像認証を有効にする
ログイン画面に、ひらがなの画像認証を出す設定です。

4か所とも「ひらがな」を選んでいます。英数字より、機械には読みにくいと言われているためです。
日本人が使うサイトであれば、ひらがなのままにしておきましょう。海外から編集する人がいるサイトでは、英数字に変えておきます。
ログインロックを有効にする
ログインに何度も失敗した相手を、一定時間ブロックする設定です。

「5秒の間に3回失敗したら、1分間ブロックする」ということで設定しています。
| 項目 | 値 |
|---|---|
| 期間 | 5秒 |
| 回数 | 3回 |
| ロック時間 | 1分 |
人が手で打ち間違えて、5秒に3回も失敗することはまずありません。でも機械なら一瞬で超えます。人は困らず、機械だけが止まるちょうどいい線だと思っています。
ログインアラートや更新通知は「代わりがあるか」で決める
SiteGuardには、ほかに通知の機能もあります。
- ログインアラート:管理者がログインするたびにメールが届く
- 更新通知:WordPress本体やプラグインに新しいバージョンが出るとメールが届く
どちらも有効にしておけば安心、というわけでもありません。Wordfenceなど、ほかのセキュリティ系のプラグインと被りやすい機能です。
ほかに導入しているプラグインや、サイトの管理の体制(たとえば、プラグインを定期的にアップデートする体制があるかどうか)から判断するといいかなと思います。
自分の場合は、ログインアラートやプラグイン等の脆弱性の通知はWordfenceが、更新通知は保守で決めている更新の日が、それぞれ代わりになっているので、どちらも無効にしています。同じ内容のメールが2通ずつ届くと、そのうち開かなくなってしまうからですね…。
逆に、ほかに監視の仕組みがなく、更新の日も決めていないというサイトでは、この2つは有効にしておくと安心かなと思います。
さらに強化したいなら…
ここまでで、機械的な総当たり攻撃はほとんど止まります。それでも心配な場合や、管理画面に入る人が決まっているサイトでは、もう一段かけられます。
Basic認証
WordPressのログイン画面にたどり着く手前で、サーバーがIDとパスワードを聞く仕組みです。レンタルサーバーの管理画面から、ディレクトリ単位でかけられます。
WordPressより前の段階で止まるので、ログイン画面そのものが表示されません。総当たりを受ける的が、そもそも無くなる形です。

かかっていると、ページを開く前にこのダイアログが出ます。
IP制限
決まった場所からしか管理画面に入れないようにする方法です。事務所や会社の固定IPアドレスだけを許可する、といった使い方ができます。
ログインする関係者が全員、決まったIPアドレスを持っていることが前提になりますが、IP制限を入れておいたほうが安全なことは間違いありません。
どちらも管理画面ではなく、サーバー側での設定になります。使い勝手とのバランスにはなりますが、入れる方向で検討すると、ログイン画面をより強固にすることができます。
おわりに
SiteGuard WP Pluginを入れておくと、ログイン画面の場所が分からなくなり、たどり着かれても画像認証で止まり、しつこい相手は閉め出される状態になります。機械的な総当たり攻撃は、ほとんど通らなくなるはずです。
ひとつだけ気をつけたいのが、変更後のログインURLを自分が忘れないことです。ここを控えずに閉じてしまうと、自分も入れなくなります。設定を保存したら、その場で控えておきましょう。
設定の画面は項目が多くて迷うかもしれませんが、ぜひ参考にしてみてください!


