WordPressは今では大手企業でもよく使われていますが、彼らはセキュリティの意識も高いです。
で、ログインURLも見てみるとやはりURLを変えており流石だなと思うわけですが、
そもそもなぜWordPress管理画面のログインURLを変更するのかというとブルートフォースアタックによるセキュリティ破りから防御するためです。
ブルートフォースアタックとは正しい組み合わせが見つかるまで、ログイン資格情報の「推測」を網羅するWEBサイトの最も典型的なセキュリティ侵害です。
あなたのWordPressの管理画面のログインURLがhttp://yoursitedomain/wp-login.phpと分かっている状態ですと、毎日のようにブルートフォースアタックにさらされている可能性があります。
そして万が一にもそのままハッカーに管理画面にアクセスされてしまえば、WEBサイトのファイルを改ざんされたり個人情報の流出につながったりと今までの蓄積を一瞬でパァーにするような重大な被害に及ぶかもしれませんよね。
なのでそもそもログインURLから謎なものにしておけば、ブルートフォースアタックにさらされるリスクもある程度軽減されるかと思われますのでこのカスタマイズはしておくといつか良いことがあると思います。
さて、まずはプラグインを使わずにログインURLを変更する方法から見ていきましょう。
プラグインを使わずに管理画面ログインURLをカスタマイズする
まずはカスタマイズ前に必ずバックアップを取るのを忘れないでください。何かしら記述を誤ったときにすぐに元の状態に戻せるようにするためです。メモ帳などに保存しておくのもいいでしょう。
まずは下記コードを丸ごとコピペして.htaccessに追記してください。
.htaccessはWordPressをインストールしたルートドメインの直下にあります。
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^enter/?$ /wp-login.php?45jfvo9204 [R,L] RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$ RewriteRule ^dashboard/?$ /wp-login.php?45jfvo9204&redirect_to=/wp-admin/ [R,L] RewriteRule ^dashboard/?$ /wp-admin/?45jfvo9204 [R,L] RewriteRule ^register/?$ /wp-login.php?45jfvo9204&action=register [R,L] RewriteCond %{SCRIPT_FILENAME} !^(.*)admin-ajax\.php RewriteCond %{HTTP_REFERER} !^(.*)yoursitedomain/wp-admin RewriteCond %{HTTP_REFERER} !^(.*)yoursitedomain/wp-login\.php RewriteCond %{HTTP_REFERER} !^(.*)yoursitedomain/enter RewriteCond %{HTTP_REFERER} !^(.*)yoursitedomain/dashboard RewriteCond %{HTTP_REFERER} !^(.*)yoursitedomain/register RewriteCond %{QUERY_STRING} !^45jfvo9204 RewriteCond %{QUERY_STRING} !^action=logout RewriteCond %{QUERY_STRING} !^action=rp RewriteCond %{QUERY_STRING} !^action=register RewriteCond %{QUERY_STRING} !^action=postpass RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$ RewriteRule ^.*wp-admin/?|^.*wp-login\.php /not_found [R,L] RewriteCond %{QUERY_STRING} ^loggedout=true RewriteRule ^.*$ /wp-login.php?45jfvo9204 [R,L] </IfModule>
次にyoursitedomainを自分のサイトのドメインに変更します。yoursitedomainの部分は全部で5箇所あるのですべて置き換えてくださいね。
これだけの作業によりログイン画面が、
http://yoursitedomain/wp-login.php
がログイン不可になって
http://yoursitedomain/wp-login.php?45jfvo9204
でログインが可能となります。
45jfvo9204のところは自分の好きな覚えやすい文字列に置き換えてみるといいでしょう。
「あれ?.htaccessが見つからな~い」ってときはWordPressの管理画面から.htaccessにアクセスできるこのようなプラグインが便利です。FTPソフトを利用する手間が省けます。
https://wordpress.org/plugins/wp-htaccess-editor/
Xserverならサーバーパネルから.htaccessを設定することも可能なはずです。
WordPressのログインURLを変更するプラグイン
プラグインを用いれば上記の作業を一瞬で可能とするので時間短縮の面ではとても便利です。ただしプラグイン自体にもセキュリティの脆弱性を孕んでいることは覚えておかなければなりません。
WPS Hide Login
https://wordpress.org/plugins/wps-hide-login/
ログインURLを変更するならこれだけで十分なプラグインです。管理画面>一般>設定からログインURLを変更できるようになります。
iThemes Security
https://wordpress.org/plugins/better-wp-security/
セキュリティを強化する上では高機能すぎるプラグインです。
これはログインURLを変更する以外にも多数の機能があります。
・データベースの定期バックアップ登録
・管理者が管理画面を利用しない時間帯に管理画面をロック
・ログインURLのスラッグを変更
・ユーザーエージェントを判別してbotが投稿するスパムコメントを拒否
・拒否したいユーザー及びbotのIPアドレスを指定して接続拒否
・管理画面ログイン試行回数の制限
これだけでかなり充実したプラグインであることが分かります。
まとめ
以上となりますが、これだけでもけっこうセキュリティ効果はありそうですよね。
だがしかしデフォルトでのユーザー名の「admin」の使用を避けることや、WordPressやプラグインのバージョンを最新にしておくことも重要なようです。
詳しくは弊社で以前に書いたこちらの記事を参考にしていただけますと幸いです。
WordPressはオープンソースかつ、無料で使えて拡張性(プラグイン・テーマ)も高いので、世界中で最も利用されているCMSの1つです。オープンソースであるがゆえ、脆弱性が早期発見されやすい性質もあります。 WordPressは世界中で使われているCMSのため、きちんとセキュリティ対策を行って...
また下記記事で紹介しているプラグインも多機能で、かつ設定も簡単ですので、よろしければご覧ください。