Security Blog

WordPress用のカスタムログインページ

wp-login.php の名前を変更し、カスタム ログイン URL を作成し、自動化されたブルート フォース攻撃やボット攻撃から WordPress を保護する方法。


English version: Custom login page for WordPress


カスタムログインページ機能は、攻撃対象領域を縮小し、スパム登録を排除するための優れたツールです。新しくインストールしたWordPressでは、まず最初に有効にすべき機能です。また、WordPressのプラグインフォルダの名前を変更することも、強く推奨されるセキュリティ対策です。

なぜそれが重要なのか、そしてなぜ効果があるのか

Cerber Labの調査によると、ほとんどのハッカーツールや攻撃は、被害を受けたWordPressウェブサイトにはデフォルトのログインページがあり、プラグインはデフォルトフォルダに配置されているという前提に基づいています。どのウェブサイトでもデフォルト値を使用しないことが推奨されていますが、多くのウェブサイト所有者はこうした基本的な原則を無視し、ハッカーによる攻撃を成功させています。これがハッカーがWordPressを好む理由であり、常に数十万ものウェブサイトがハッキングされている状況が見られます。

カスタムログインページを設定する

WP Cerberを使えば、WordPressのデフォルトのログインURLであるwp-login.phpを、必要なURLに簡単かつ安全に変更できます。つまり、独自のカスタムログインページ(この文脈ではカスタムログインURLと同じ意味です)を設定し、wp-login.phpを悪意のある攻撃者、スキャナー、ボットから隠すことができます。.htaccessファイルを編集したり、wp-login.phpファイルの名前を変更したりする必要はありません。WP Cerberを使えば、数回クリックするだけで設定できます。

  1. プラグインのメイン設定管理ページに移動してください。
  2. 新しいログインURLを「カスタムログインURL」欄に入力して設定を保存します。以上です。
  3. キャッシュプラグインを使用している場合は、新しいログインURLをキャッシュしないページリストに追加してください。
  4. 新しいログインURLが正しく機能し、それを使ってログインできることを確認してください。シークレットモードのブラウザウィンドウで確認してください。新しいログインURLが正常に機能することを確認するまでは、ウェブサイトからログアウトしないでください
WordPress login security and custom login page settings

Custom WordPress login page settings

wp-login.php をボットやスキャナーから隠す方法

顧客ログインページを有効にしたら、ブルートフォース攻撃を防ぐために、デフォルトのWordPressログインページを非表示にするのが賢明です。そのためには、 「wp-login.php認証リクエストの処理」設定を「wp-login.phpへのアクセスをブロック」に設定します。ページにアクセスしようとすると、WP Cerberは標準の「404 Not Found」ページを表示します。ただし、考慮すべき欠点が1つあります。攻撃者が十分に賢い場合、Webサイトをスキャンし続け、実際のログインページを探し出す可能性があります。

wp-login.phpを無効にする方法

もう一つ、より高度な方法として、wp-login.phpへのアクセスをブロックせずに無効化する方法があります。これはどのように機能するのでしょうか?この独自のWP Cerber機能は、wp-login.phpを介した認証の試みをすべて阻止します。ログインしようとすると、WP Cerberはデフォルトのパスワードエラーを模倣し、ユーザー認証プロセスを中止します。入力されたパスワードは関係ありません。正しいパスワードを入力しても、誰もログインできません。この機能を有効にするには、「 wp-login.php認証要求の処理」設定を「wp-login.phpを介した認証を拒否する」に設定します。

覚えておくべき注意点

あなたまたはあなたのユーザーが、wp-login.phpが無効になっており、ログインに使用できないことを忘れてしまうと、あなたまたはあなたのユーザーはウェブサイトにログインできなくなり、wp-login.phpを何度か使用しようとした後、ロックされてしまいます。

「wp-login.php 認証リクエストの処理」をデフォルト値以外の値に設定している場合、カスタムログイン URL のみを使用できます。/wp-login.php も /wp-admin/ もログインには使用できません。

知っておくべき重要なこと

  • W3 Total CacheWP Super Cacheなどのキャッシュプラグインを使用している場合は、新しいカスタムログインURLのスラッグをキャッシュしないページのリストに追加する必要があります。
  • WordPressのマルチサイトインストールの場合、新しいログインURLはすべてのサイトでグローバルに設定されます。
  • wp-login.php ファイルを手動で削除したり、名前を変更したりしないでください。WordPress を新しいバージョンにアップデートすると、wp-login.php が復元され、不正アクセス者が再びアクセスできるようになります。

二段階認証でセキュリティを強化しましょう

管理者アカウントを保護するために、二段階認証(2FA)の有効化を検討してください。二段階認証は、ユーザー名とパスワードに加えて、もう一つの認証要素を要求することで、セキュリティをさらに強化します。

詳細はこちら: WordPressで二段階認証を有効にする方法

カスタムログインURL機能のトラブルシューティング

カスタムログインページを有効にすると、一部のプラグインが動作しなくなる場合があります。ログインページカスタマイズプラグインやソーシャルログインプラグインを使用している場合、これらのプラグインが動作しなくなる可能性があります。この問題を解決するには、「カスタムログインページのレンダリングを遅延する」を有効にしてください。この設定の詳細については、こちらをご覧ください

カスタムログインURLを設定した後、しばらくして忘れてしまった場合は、まずサイト管理者のメールボックスに新しいログインURLに関する通知メール、または週次レポートメールが届いていないか確認してください。これらのメールにカスタムログインURLが記載されています。そのようなメールが見つからない場合は、以下の手順に従ってWP Cerberを手動で再インストールする必要があります。

  1. FTPまたはホスティングコントロールパネルのファイルマネージャーを使用して、プラグインフォルダ /wp-cerber/ を手動で削除してください。
  2. デフォルトの /wp-login.php URL を使用するか、カスタムログイン URL を有効にする前に使用していた別の方法を使用して、通常どおり WordPress ダッシュボードにログインしてください。
  3. 通常どおり、WP Cerber Securityプラグインをインストールして有効化してください。
  4. プラグインのメイン設定ページに移動してください。
  5. 「カスタムログインURL」欄を確認してください。そこに表示されるカスタムログインURLを必ず覚えておいてください。

WordPressのセキュリティを強化するための次のステップ


I'm a team lead in Cerber Tech. I'm a software & database architect, WordPress - PHP - SQL - JavaScript developer. I started coding in 1993 on IBM System/370 (yeah, that was amazing days) and today software engineering at Cerber Tech is how I make my living. I've taught to have high standards for myself as well as using them in developing software solutions.

View Comments