All-in-One Securityのセキュリティ対策によって、ログインできなくなった話

WordPress
記事内に広告・商品プロモーションを含む場合がございます
スポンサーリンク

WordPressの管理画面にログインできない!!!

こちらのブログは、ConoHa WINGというレンタルサーバーにWordPressをインストールして運用しています。運用を始めてたったの3日目にして、WordPressの管理画面にログインできない状況になりました。

この記事では、ログインできなくなった経緯と解決方法について解説します。

AIOSの総当たり攻撃対策により、ログインできなくなっていた

管理画面にログインしようとしたところ、ブルートフォースアタック(総当たり攻撃)と認識され、http://127.0.0.1にリダイレクトされる状況になりました。

このブログではセキュリティ対策として、All In One WP Securityというプラグインを使用しています。その名のとおり総合的なセキュリティ機能を提供しており、初心者でも簡単にかつ無料で利用できるプラグインです。

AIOSのセキュリティ機能の例
  • ログイン対策
  • コンテンツ保護
  • 悪意のあるリクエストをブロック

公式 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を変更
  • CAPTCHA認証の設定
  • 2要素認証(2FA)の設定

ログインページの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へリダイレクトされていたと思われます。