All in one WP securityにて、ログイン画面にアクセスできなくなったときの解決法

こんにちは、あき(@akihito_kobe)です。

オーストラリアのシドニーに学生として滞在をする傍ら、Webcamperという会社を立ち上げ、そこでエンジニアとして働いております。

本日は、WordPressの作業中に出会った問題点とその解決法について、備忘録的に記していきます。

過去に制作したサイトのひとつで、「All in one WP security」というプラグイン使ってログインURLを変更していたのですが、なぜか突然、ログイン画面にアクセスできなくなってしまいました。

この原因はおそらく今回の物以外にもたくさんあり、解決策もそれぞれ違うはずなので、ひとつの例としてお考え下さい。

今回は、htaccessを少し編集するだけで解決しました。

職歴なしの30歳が、オーストラリアで起業した話

Audible 完全版、Kindle版

Amazonで見る

All in one WP securityにて、ログイン画面にアクセスできなくなったときの解決法

ワードプレスでのログインURLには、標準では以下の共通URLが使用されています。

https://○○○○○/wp-admmin/
https://○○○○○/wp-login/

このまま放置をしていると、簡単にログイン画面へアクセスできるため、ハッカーや悪意を持った人たちからのブルートフォース(総当たり攻撃)の対象となってしまう可能性があります。

ですので、このURL末尾の共通部分を変更することによって、それらのリスクを軽減することができます。

例えるなら、家の住所が全体公開されているので、たとえ鍵がかかっているとしても、誰でもドアの前まで来ることができてしまう。

そこで住所を自分しか知らないものに変更してしまえば、そもそも自分しか家の前まで到達することもできないよね、といった感じでしょうか。

これらを可能にする方法やプラグインは多々あるのですが、今回は「All in one WP Security」を使用している際に起きた不具合についてのお話です。

解決法の前に、まずはログインURLを変更する方法について

プラグインの新規追加画面で「All In One WP Security」を検索するか、こちらからダウンロードしてインストールし、有効化してください。

そうすると、ダッシュボードに「WP Security」が現れるので、そこから「Brute Force」を選択します。

今回はシドニーにあるクライアント様のサイトで発生した不具合なので、キャプチャが全て英語ですが、お気になさらず。

日本語だと、「WPセキュリティ → 総当たり攻撃」と表示されます。

そして、「ログインページの名前変更機能を有効化」にチェックを入れ、直下のフォームに任意の文字列を入れ、設定を保存します。

ここに入れる文字列は、乱数であるほうが良いと思います。僕はよく、こちらのサイトを使って乱数を生成し、それを厳重に保管しています。

これで、「wp-admin」ではログインURLにアクセスできなくなりました。簡単ですね。

アクセスできなくなった問題について

今回、設定したログインURLは正しいはずなのに、なぜかログイン画面にアクセスしようとすると、アクセスできずにページトップにリダイレクトされました。

そして試しに「wp-admin」を入力すると、「The website redirected you too many times.」というエラーが発生しました。

「Try cleaning your cookies」と表示されていますが、クッキーをクリアしても、ブラウザを変えても、全く同じ症状でした。

念のため、プラグインを切ります

管理画面へアクセスできないエラーなので、プラグインは手動で切ります。

FTPソフトなどでサーバーへアクセスし、「ドメイン/public_html/wp-content/plugins」へ行きます。そして、今回のプラグインである「all-in-one-wp-security-and-firewall」の名前を変えちゃいましょう。

分かりやすく、末尾に「- disabled」と足しておきました。

ということで、htaccessへ

ここからは、.htaccessを編集します。サーバーの「ドメイン/public_html」にある.htaccessにアクセスを開きましょう。

.htaccessは、ウェブサイトの動作に関わる重要なファイルです。編集前に、必ずバックアップを取っておいてください。

そうすると、このプラグインが生成したであろうリダイレクトの設定が追記されていました。

他にも同じプラグインを使ってURLを変更しているサイトもあるのですが、このように.htaccessに追記されていたのは、このサイトだけでした。

ということで、「BEGIN All In One WP Security」から「END All In One WP Security」までを、ごっそり削除します。

そうすると、デフォルトの「wp-admin」で、ログイン画面へアクセスできるようになりました。安心の、いつもの画面。

あとはログインしてダッシュボードへアクセスするだけです。ここで、ファイルが見つからないというエラーでプラグインが無効化されているので、先程変更したファイル名を元に戻しておきましょう。

あとは、冒頭と同じ方法でブルートフォース対策をすればOKです。

お疲れ様でした

なぜかこのひとつのサイトだけ、このように不思議な挙動をしておりましたが、解決できてよかったです。原因を探ろうと色々検証しましたが、WordPressが5.8へアップデートされたことによる不具合でもなさそうです。

All in one WP Securityは、非常に強力なセキュリティ対策として使えるので重宝しているのですが、もう少しだけこのプラグインの動きについて調べてみようと思います。

僕は、シドニーに「Webcamper Pty Ltd」という会社を立て、ウェブ制作を中心としたお仕事をしています。何かご相談等があれば、いつでもご連絡ください。

先日、僕の人生を書き下ろした書籍【職歴なしの30歳が、オーストラリアで起業した話】を、Amazon Kindle、そしてAudibleにて出版しました。よければこちらも、ぜひ、どうぞ😌

職歴なしの30歳が、オーストラリアで起業した話

Audible 完全版、Kindle版

Amazonで見る

Audible 無料会員登録