WordPressの管理画面にログインできない!!!
こちらのブログは、ConoHa WINGというレンタルサーバーにWordPressをインストールして運用しています。運用を始めてたったの3日目にして、WordPressの管理画面にログインできない状況になりました。
この記事では、ログインできなくなった経緯と解決方法について解説します。
AIOSの総当たり攻撃対策により、ログインできなくなっていた
管理画面にログインしようとしたところ、ブルートフォースアタック(総当たり攻撃)と認識され、http://127.0.0.1にリダイレクトされる状況になりました。
このブログではセキュリティ対策として、All In One WP Securityというプラグインを使用しています。その名のとおり総合的なセキュリティ機能を提供しており、初心者でも簡単にかつ無料で利用できるプラグインです。
公式 All-In-One Security (AIOS) – Security and Firewall – WordPress プラグイン | WordPress.org 日本語
ブルートフォースアタック(総当たり攻撃)という、有効なユーザー名とパスワードの組み合わせが見つかるまで、これらを片っ端から施行するサイバー攻撃があります。
AIOSのCookieベースの総当たり攻撃の防止は、下図の画面から設定できます。
解決方法
ConoHaファイルマネージャーで、wp-config.phpに以下のdefine文を追加することで、管理画面へログインできるようになりました。
define( 'AIOS_DISABLE_COOKIE_BRUTE_FORCE_PREVENTION', true );
参考 Unable to login and get redirected to 127.0.0.1 | WordPress.org
備忘録として、解決手順を記載しました。ConoHa WINGでの解決手順についての解説のみですが、同じような状況の方のお役に立てればと思います。
wp-config.phpをバックアップ
前述のとおりwp-config.phpを編集しますので、事前にバックアップを取得しておきましょう。
ConoHaコントロールパネルにログインして、ファイルマネージャーをクリックします。
ファイルマネージャーを開いたら、wp-config.phpを右クリックして、ダウンロードを選択します。既定のダウンロード先に保存されればバックアップ完了です。
define分を追加して、保存
ダウンロード同様に、wp-config.phpを右クリックして、ファイル編集からテキストエリアを選択します。
テキストエリアを選択すると、下図のようなポップアップが表示されます。define文を最終行に追加します。追加編集ができましたら、保存して閉じるをクリックします。
define( 'AIOS_DISABLE_COOKIE_BRUTE_FORCE_PREVENTION', true );
改めて、WordPressの管理画面へログインを試してみると。。。
無事にアクセスすることができました!
ほかの方法で、総当たり攻撃の防止について考える 3選
上記の解決方法は、原因であるCookieベースの総当たり攻撃の防止をconfigで無効化しているので、あくまでも応急処置かと思います。
そこで、AIOSで設定できるほかの総当たり攻撃の防止策として以下3つを設定しました。
ログインページのURLを変更
WordPressのデフォルトのログインURL(https://your-website/wp-admin)を変更することが、最も簡単な防止策です。
ほとんどのWordPressユーザーが対策しているかと思いますので、簡単な説明ですが、総当たり攻撃 > ログインページの名称変更から、https://your-website配下を任意の文字列に変更することができます。
CAPTCHの設定
CAPTCHA(キャプチャ、Completely Automated Public Turing test to tell Computers and Humans Apart)とは、コンピューターと人間を区別するために使用されるセキュリティ対策です。
文字や数字が描かれた画像が表示され、その画像に描かれた文字や数字を入力させることで、人間であることを確認して、不正なアクセスを防止します。
AIOSのCAPTCHA設定では、「Cloudflare Turnstile」「Google reCAPTCHA V2」「Simple math CAPTCHA」の3つから選ぶことができます。「Simple math CAPTCHA」であれば、特別な設定は不要です。シンプルな計算式のフォームが使用できます。
2要素認証(2FA)の設定
2要素認証(2FA、2 Factor Authentication)とは、パスワードのほかにワンタイムパスワード(OTP)や生体認証を利用するセキュリティ対策です。
AIOSではソフトウェアトークンを使用して、OTPを2要素認証として利用します。
まとめ
WordPressを使用していると、必ずバグやエラーといった問題が発生すると聞いていました。が、書き始めてたったの3日でログインできなくなるとは思いませんでした。
Cookieの知識が乏しいにもかかわらず、「Cookieベースの総当たり攻撃の防止」を有効化してしまったのは浅はかだったと反省しました。今後は、ログインページのURLを変更・CAPTCHA認証の設定・2要素認証(2FA)の設定で総当たり攻撃へ対策しようと思います。
【後日談】「Cookieベースの総当たり攻撃の防止」を再度、有効化
後日談ですが、「Cookieベースの総当たり攻撃の防止」を有効化した場合、wp-adminや任意のログインURLではなく、Secret wordで作成されたURLでログインする必要がありました。
有効化したにもかかわらず、任意のログインURLでアクセスしようとしていたため、http://127.0.0.1へリダイレクトされていたと思われます。