【WordPress】3分でセキュリティを劇的に向上させる方法。『Login Rebuilder』の使い方。

こんにちは、あき(@akihito_kobe)です。
現在オーストラリアのシドニーにあるTAFE NSWにて、Web構築を専攻しています。
普段はワーキングホリデーの経験や留学に関することなどを記事にしていますが、せっかくITの事も学んでいるので、今日はWordPressを使ってサイト運営している方向けに、少しだけ技術的なお話をします。
こちらは昨日の僕のツイートです。
WordPressでブログをやっている方。
ログインURLが初期値のままじゃないですか?
試しに、URL末尾に/wp-admin/を付けてみて下さい。これでログイン画面にいけてしまうと、セキュリティ上非常にまずい🔒
プラグイン『Login Rebuilder』で一発解決です。
僕がたった一つだけ使っているプラグイン😇 pic.twitter.com/JQsDJFxKVp
— あき (AKI) 🇦🇺英語×プログラミング👨💻 シドニーTAFEでIT専攻 (@akihito_kobe) May 15, 2020
WordPressでサイト運営をしているそこのあなた。管理画面へのログインURLは変えていますか? もし初期値のままであれば非常に危険です。この記事を読み進めていけば、約3分ほどで終わるので、ぜひ一緒に試してみてください。
3分で、劇的にセキュリティを向上させる方法。
まず始めに、当ブログサイトはWordPressで運営していますが、勉強もかねて、テーマは全て自作しています。プラグインも極力使わないようにしていますが、唯一使っているものが本日紹介する『Login Rebuilder』です。これを使えば、いとも簡単に管理画面へのログインURLを変更することができます。
なぜ初期値のままだと危険なのか、なぜプラグインをできるだけ使わない方がいいのかなどは後ほど説明するとして、まずは使い方を見ていきましょう。
『Login Rebuilder』の使い方。
まず、管理画面のプラグインへ行き、新規追加を押します。

検索窓に『login rebuilder』と入力し、出てきたプラグインをインストールします。

すると管理画面の設定項目に、『ログインページ』というものが追加されるので、そこをクリックします。

各種設定を次の画像ようにしておけば、特に問題はないかと思います。画像内【new-login.php】の【new-login】部分を、希望のログインアドレスに変更してください。設定が終われば、下にスクロールをして【変更の保存】ボタンをクリックします。これで設定は完了です。

無効なリクエスト時の応答
ここをリダイレクトにしておけば、初期値の『wp-admin』にアクセスしても、写真のようにカッコ内に表示されているウェブサイトのトップページへ戻ります。
(この写真のURLがIPアドレスになっているのは、僕のローカル開発環境で検証しているためです。)

新しいログインファイル
ここに、希望の文字列を入力してください。できるだけ予想されにくいものが良いので、10桁程のランダムな文字列が良いかと思います。末尾の『.php』は、そのまま残しておいてください。
例えば画像のように『new-login.php』とすると、次からログインアドレスは『https://あなたのURL/new-login.php/』になります。
ステータス
ここを『稼働中』にすると、wp-adminではログインできなくなります。一時的に初期値の『wp-admin』に戻したい場合は、ここを “準備中” に変えればOKです。
たとえばサイトのバックアップやお引っ越しのプラグインを使う際は、初期値に戻しておかないと正常に動作しない場合があります。そんなときは、作業中のみここを『準備中』にして、作業が終わり次第『稼働中』に戻しておくと良いです。
以上で、作業は完了です。どうでしたか? 超簡単です。3分もかからなかったかも知れませんね。
ちなみに一度ログインされたブラウザでは、cookieやキャッシュなどが残っていると『wp-admin』でもログインできてしまう可能性があります。ですので、設定が完了すれば一度履歴を全てクリアするか、別ブラウザから試してみると、しっかり動作しているのが確認できます。
wp-adminのままだと危険な理由。
さて、ここで少し、なぜ初期値のままだとセキュリティ上まずいのかを解説します。WordPressは、世界中で圧倒的なシェアを誇るCMSです。膨大な数のウェブサイトが、WordPressによって運用されています。
利用者の絶対数が多いということはつまり、ここを狙った悪意のある人たちも相当数いるということですね。あなたの大切なウェブサイトをハッキングしようと、日々ハッカーたちは動いています。
そんな中、簡単にログインページにアクセスされてしまうと、もう後はロボットなんかに任せて適当にユーザー名とパスワードを総当たりさせれば、不正ログインをされてしまう可能性が大いにあるわけです。
とあるウェブサイトで、以下のような例えがされていました。(すみません、どのサイトだったかは忘れてしまいました…。)
ログインアドレスが初期値のままということは、住所を公開しているのと同じ。ハッカーはすぐ玄関にたどり着き、あとはピッキングでドアを開けるだけ。
しかし初期値から変更しておくと、住所を知られていないので、そもそも玄関にさえたどり着くことができない。
なるほどなー、と思いましたね。凄くクリアな例え話です。ログインアドレスを変えれば100%ハッキングの心配がない! とまでは言えませんが、少なくともここを隠すだけで、セキュリティは飛躍的に向上します。ハッカーはそもそも、総当たり攻撃にすらたどり着けなくなりますね。
サーバー側の対策は万全ではない。
ハッカーの数多くは、海外からのアクセスだったりします。そこで多くのサーバーでは、初期設定で日本国外からのログインを制限しています。
僕が使っている『エックスサーバー』も、初期設定のままだと海外からログインできません。試しに、『wp-admin』でログインしようとしてみます。

セキュリティ上の理由から、ということでアクセスが拒否されてしまいましたね。さすが大手サーバー、海外からのログインに少し怪しんでいるようです。
しかし、ぶっちゃけIPアドレスなんてのは簡単に偽装できます。試しにVPNを使って、シドニーにいる僕が、日本からアクセスしているように見せかけてみるとどうでしょうか。

はい。いけました。簡単ですね。ここまで来られてしまうと、繰り返しますがあとは総当たりで攻撃されてしまうかも知れません。
このように、サーバー側で海外からのアクセスが制限されていたとしても、VPNで簡単に侵入することができてしまいます。
プラグインを極力減らすべき理由。
これも先ほど述べた理由に近いのですが、プラグインを多く使用すると、プラグイン側にセキュリティホールがあった際に、攻撃の対象となってしまいます。また、サイトが重くなる原因にもなりがちです。サイトが重くなると、SEO的にも良くないですからね。
一般的に、『大体プラグインを使うのは最大8個まで』が良いとされています。8個以下くらいであれば特に問題はないかと思いますが、できるだけサイトを簡素化するのは大切なことです。
ちなみに僕が使っているプラグインはひとつだけ、この『Login Rebuilder』のみです。他のプラグインは、バックアップなどの機能を使用する際に一時的にアクティベートして、それ以外では常に無効にしています。

こちらが、実際の当ブログのプラグイン管理画面です。Login Rebuilder以外は基本Offにしています。超シンプルです。
僕は現在プログラミングを学んでいるので、勉強も兼ねつつ、SEO対策やお問い合わせフォームも、自分でコードを打ち込んで作成しています。もしかしたら今後プラグインを追加する可能性もあるかもしれませんが、当分はこのままいくと思います。
まとめ。
初めて、少し技術的なことを紹介してみました。ログインアドレスの変更はこんなに簡単にできるにも関わらず、多くの人が初期値のまま残しています。
ここを初期値から変更することは、WordPressでサイト構築をするにあたって、まず最初にやるべきといっていい程のセキュリティ対策だと思います。ぜひみなさんも、ご自身の大切なウェブサイトを、悪い奴らから守りましょう😌
(余談ですが、こういうことは学校では教わっていません。もう少ししたら学ぶのかも知れませんが、うーん。どうなんでしょう。)