SiteGuard WP Pluginでログイン画面のセキュリティを強化しよう!

目次
  1. SiteGuard WP Pluginでできるようになること
  2. ログインページを変更する
    1. 変更後のURLは、必ず控えておく
  3. 画像認証を有効にする
  4. ログインロックを有効にする
  5. ログインアラートや更新通知は「代わりがあるか」で決める
  6. さらに強化したいなら…
    1. Basic認証
    2. IP制限
  7. おわりに

WordPressのログイン画面は、どのサイトでも/wp-login.phpという同じURLにあります。つまり、場所が世界中に知られているということですね。

そのうえ、管理者でログインされてしまうと、できることがあまりにも大きいです。記事を書き換える、プラグインを入れる、ファイルを置く。サイトごと乗っ取れてしまいます。

場所が分かっていて、入れた時の見返りが大きい。だからログインを突破しようと狙われることが多いわけですね。代表的なのが総当たり攻撃(ブルートフォース攻撃)で、ユーザー名とパスワードの組み合わせを、機械が無作為に入れ替えながら延々と送ってきます。

前提として大事なのはパスワードをしっかり強くしておくことです。そのうえで、SiteGuard WP Pluginを入れるとログイン画面のセキュリティを強化できます。無料で使えます。

SiteGuard WP Pluginでできるようになること

SiteGuardを入れると、ログイン画面に守りを足せます。

  • ログイン画面のURLを、wp-adminやwp-login.phpではなく知られていないものに変える
  • ユーザー名、パスワードに加えて、ひらがなの画像認証を追加できる
  • 短い間に何度もログインに失敗した相手を、一時的に閉め出すことができる

設定が終わると、ログイン画面はこうなります。

変更後のログイン画面。URLが変わっていて、ひらがなの画像認証が出ている

URLが変わって、ひらがなの画像認証が足されました。機械的な試行は、ここでほとんど止まります。

なお、ここで紹介するのは自分がよく使っている設定の一例です。サイトの状況や環境によって、ちょうどいい設定は変わります。ご自身の状況に応じて判断してもらえたらと思います。

ログインページを変更する

一番効くのがこれです。/wp-login.phpという決まったURLを、別の名前に変えられます。

機械的なログイン攻撃は、このURLを狙って総当たりで試してきます。URLが変わるだけで、その攻撃はまるごと届かなくなります。

SiteGuardの「ログインページ変更」。有効にして、変更後のログインページ名を入力している

オプションの「管理画面からログイン画面にリダイレクトしない。」にも、チェックを入れています。これを入れておくと、/wp-admin/を開かれた時に、新しいログインURLを教えてしまうことがなくなります。

変更後のURLは、必ず控えておく

ここだけは気をつけてください。新しいURLを忘れると、自分もログインできなくなります。

もし分からなくなった場合は、サーバーに入る形になりますが、SiteGuardのプラグインを一時的に無効化することで、元のログインURLに戻ります。

画像認証を有効にする

ログイン画面に、ひらがなの画像認証を出す設定です。

SiteGuardの「画像認証」。ログインページ・コメントページ・パスワード確認ページ・ユーザー登録ページを、すべて「ひらがな」にしている

4か所とも「ひらがな」を選んでいます。英数字より、機械には読みにくいと言われているためです。

日本人が使うサイトであれば、ひらがなのままにしておきましょう。海外から編集する人がいるサイトでは、英数字に変えておきます。

ログインロックを有効にする

ログインに何度も失敗した相手を、一定時間ブロックする設定です。

SiteGuardの「ログインロック」。期間5秒・回数3回・ロック時間1分

「5秒の間に3回失敗したら、1分間ブロックする」ということで設定しています。

項目値
期間5秒
回数3回
ロック時間1分

人が手で打ち間違えて、5秒に3回も失敗することはまずありません。でも機械なら一瞬で超えます。人は困らず、機械だけが止まるちょうどいい線だと思っています。

ログインアラートや更新通知は「代わりがあるか」で決める

SiteGuardには、ほかに通知の機能もあります。

  • ログインアラート:管理者がログインするたびにメールが届く
  • 更新通知:WordPress本体やプラグインに新しいバージョンが出るとメールが届く

どちらも有効にしておけば安心、というわけでもありません。Wordfenceなど、ほかのセキュリティ系のプラグインと被りやすい機能です。

ほかに導入しているプラグインや、サイトの管理の体制(たとえば、プラグインを定期的にアップデートする体制があるかどうか)から判断するといいかなと思います。

自分の場合は、ログインアラートやプラグイン等の脆弱性の通知はWordfenceが、更新通知は保守で決めている更新の日が、それぞれ代わりになっているので、どちらも無効にしています。同じ内容のメールが2通ずつ届くと、そのうち開かなくなってしまうからですね…。

逆に、ほかに監視の仕組みがなく、更新の日も決めていないというサイトでは、この2つは有効にしておくと安心かなと思います。

さらに強化したいなら…

ここまでで、機械的な総当たり攻撃はほとんど止まります。それでも心配な場合や、管理画面に入る人が決まっているサイトでは、もう一段かけられます。

Basic認証

WordPressのログイン画面にたどり着く手前で、サーバーがIDとパスワードを聞く仕組みです。レンタルサーバーの管理画面から、ディレクトリ単位でかけられます。

WordPressより前の段階で止まるので、ログイン画面そのものが表示されません。総当たりを受ける的が、そもそも無くなる形です。

ブラウザが出すBasic認証のダイアログ。ユーザー名とパスワードの入力欄がある

かかっていると、ページを開く前にこのダイアログが出ます。

IP制限

決まった場所からしか管理画面に入れないようにする方法です。事務所や会社の固定IPアドレスだけを許可する、といった使い方ができます。

ログインする関係者が全員、決まったIPアドレスを持っていることが前提になりますが、IP制限を入れておいたほうが安全なことは間違いありません。

どちらも管理画面ではなく、サーバー側での設定になります。使い勝手とのバランスにはなりますが、入れる方向で検討すると、ログイン画面をより強固にすることができます。

おわりに

SiteGuard WP Pluginを入れておくと、ログイン画面の場所が分からなくなり、たどり着かれても画像認証で止まり、しつこい相手は閉め出される状態になります。機械的な総当たり攻撃は、ほとんど通らなくなるはずです。

ひとつだけ気をつけたいのが、変更後のログインURLを自分が忘れないことです。ここを控えずに閉じてしまうと、自分も入れなくなります。設定を保存したら、その場で控えておきましょう。

設定の画面は項目が多くて迷うかもしれませんが、ぜひ参考にしてみてください!

WordPressでお悩みの方はお気軽にご相談ください。

ちょっとしたお困り事からサイト全体のリニューアルのようなご依頼まで、お悩みに応じて柔軟に対応いたします。

この記事を書いた人

はにわまん

HPcode代表。300件以上のWordPress案件を対応してきました。ちょっとしたWordPressのカスタマイズからブロックテーマでのリニューアルまで。更新できるWordPressサイトが好きです。