WordPressはオープンソースでとても拡張性が高いので、今ではお店などの集客の強い見方となってくれています。しかしその反面、セキュリティに脆弱性が常につきまとい、ハッカーに狙われやすいという傾向があるのも事実です。

したがって、WordPressでサイトを作れば、セキュリティ対策も同時に備えておかなければなりません。そしてその対策の一つとして「管理画面のログインURLを変更する」というのはかなり有効であることが分かっています。

なぜならWordPressのデフォルトのログインURLは、

http://example.com/wp-admin or http://example.com/wp-login.php

と共通なので、何も変更がなければ第三者にログイン画面にアクセスされ、そのまま何度もいろんなID、パスワードでログインを試行されるというブルートフォースアタックにより乗っ取られてしまうからです。

だったら、ログインURLを変えてしまおう。ということでWordPressのログインURLを変更する方法については前回はPHPを使わない方法で記事にしましたが、今回、もっと簡単に、より便利なプラグインが見つかったのでご紹介したいと思います。

「Login rebuilder」のインストール

このプラグインの最大のメリットは管理者や編集者、購読者などの権限グループごとにログインURLを変更できるところにあります。

会員サイトを作ったときに管理者とユーザーが同じURLでログインするというのも好ましくないですよね。その辺自由に調整できていいと思いました。

ちなみにWordPress私的マニュアル様が作成されたプラグインとなります。
公式に登録されているみたいですので、管理画面>プラグイン>新規追加 検索しインストールできます。

インストールしたら有効化して、下記箇所からプラグインの設定していきます。

「Login rebuilder」の使い方

下記がプラグインの設定画面です。上から順にそれぞれの項目を解説していきます。

無効なリクエスト時の応答

第三者が管理画面(wp-login.php or wp-admin)にアクセスしたときに表示されるページをここで選べます。
アクセス権限がない場合に表示される403ページ、あるいはURLが間違っていたり、ページが存在しないときに表示される404ページを設定している場合は、選択しておくとそれらが表示されます。特に設定が不要な「サイトトップへリダイレクト」を選択しておくのが無難です。

新しいログインファイル

「ログインファイル キーワード」は特に編集不要なので、飛ばして次の項目にいきます。ここで新たに作成する管理画面のログインURLを設定するわけです。デフォルトでは「your-login.php」となっていますが、自分達だけが分かる文字列にしておくといいですね。

例えば、デフォルトの設定ですと..

http://example.com/your-login.php

にアクセスしなければ、管理画面に入れなくなるということです。末尾は「.php」にしておきましょう。

第2ログインファイル

ここで権限ごとにアクセスできるログイン画面を変更可能です。例えば、下記のように設定するとします。

すると寄稿者権限のユーザーは、下記のログイン画面以外からは管理画面内に入れなくなるわけです。ユーザー名とパスワードが正しくてもです。

http://example.com/contributor-login.php

この設定でさらにセキュリティーを向上させることができますね。それぞれ専用のログインページからでないとアクセスできなくなるということです。

ステータス

ここで「稼働中」を選ばない限り、設定した内容が反映されません。設定が完了したら稼働中にチェックを入れておきましょう。

ログ保存

ここでは、ログインしたユーザーの履歴を確認できるようにするかの設定を行います。特に不要であれば、デフォルト(保存しない)のままでいいです。

ログイン時に成功したアクセス、もしくは失敗したときのアクセス(無効なリクエスト時のみ)を選べます。「すべて」を選択して、実際に試してみました。すると再度管理画面にログインした際に下記のように「変更を保存」の隣に「ログを表示」というボタンが表示されます(ログを保存していない場合は表示されません)。

ここでいつ何時にどんなユーザー名でアクセスされたかが分かります。

また、ダッシュボードにも下記のように表示されます。

さらにどの管理画面でログインされたのかを確認したい場合は、青色のダウンロードボタンを押してCSVデータを読み込むことで保存されているログを取得できます。「ログの日時の表示書式」で、ログに表示される書式を任意のものに変更可能です。

シンプルにログイン履歴だけを監視するプラグインは下記記事でも紹介していますので、よろしければご覧ください。

著者ページへのアクセス

こちらは、「404ステータス」にチェックを入れておきましょう。「https://example.com/?author=1」にアクセスするとユーザー名が簡単に判明してしまう場合があります。それらを防ぐためにこの項目にチェックを入れておきます。詳しくは下記プラグインの記事でも解説していますので、気になる方はご覧ください。

oEmbed

サイトにSNSを埋め込んだりしたりすることは多いと思います。WordPressでは簡単に埋め込みができるで便利なのですが、実はここで「oEmbed」という機能が使われています。この「oEmbed」の仕様上、ユーザー名が漏洩してしまう可能性があるので、「レスポンスデータの投稿者名とURLを隠す。」にチェックを入れておくと安心です。

その他

それぞれの項目をお好みで設定できますが、下記のように設定しておくとまず安心かと思います。ひとつの参考にしていただけますと幸いです。

注意しておきたいこと

このプラグインで作った新しいログインページはプラグインを停止しても有効です。また、停止するとデフォルトのログインページ(wp-admin or wp-login.php)も有効になります。ですので、デフォルトの状態に戻したいときや別のプラグインに切り替える時などは、プラグインを停止するのではなく削除しておきましょう。

まとめ

このプラグインだけでもしっかりとセッティングしておけば、かなりセキュリティを向上させることができるのではないでしょうか?外部からのログインはもちろん、権限別にログインページを分けることもできるので、複数のメンバーでサイトを運営している場合にも実用的だと思います。ぜひチェックしてみてください。