WordPress のカスタム ログイン ページ
wp-login.php の名前を変更し、カスタム ログイン URL を作成し、自動化されたブルート フォース攻撃やボット攻撃から WordPress を保護する方法。
English version: Custom login page for WordPress
カスタム ログイン ページ機能は、攻撃対象領域を減らし、スパム登録を排除するのに最適なツールです。これは、新しくインストールした WordPress で最初に有効にすべき機能です。もう 1 つの強く推奨されるセキュリティ対策は、 WordPress のプラグイン フォルダの名前を変更することです。
なぜそれが重要なのか、なぜそれが機能するのか
Cerber Labの調査によると、ハッカーのツールや攻撃のほとんどは、被害者の WordPress 搭載 Web サイトにデフォルトのログイン ページがあり、プラグインがデフォルトのフォルダーにあるという想定に基づいています。どの Web サイトでもデフォルト値を使用しないことが推奨されていますが、多くの Web サイト所有者はこれらの単純な原則を無視しているため、ハッカーが攻撃を成功させています。そのため、ハッカーは WordPress を非常に好み、いつでも何十万もの Web サイトがハッキングされています。
カスタムログインページを構成する
WP Cerber を使用すると、デフォルトの WordPress ログイン URL wp-login.php を必要な URL に簡単かつ安全に変更できます。つまり、独自の、自分が知っているカスタム ログイン ページ (このコンテキストではカスタム ログイン URL も同じ意味です) を構成し、wp-login.php を悪意のあるユーザー、スキャナー、ボットから隠すことができます。.htaccess ファイルを編集したり、wp-login.php ファイルの名前を変更したりする必要はありません。WP Cerber を使用すると、数回のクリックで構成できます。
- プラグインのメイン設定管理ページに移動します。
- 「カスタム ログイン URL」フィールドに新しいログイン URL を入力し、設定を保存します。これで完了です。
- キャッシュ プラグインを使用する場合は、キャッシュしないページのリストに新しいログイン URL を追加します。
- 新しいログイン URL が正しく機能し、ログインに使用できることを確認してください。これはシークレット ブラウザ ウィンドウで実行してください。新しいログイン URL が正しく機能することを確認するまで、Web サイトからログアウトしないでください。
ボットやスキャナーから wp-login.php を隠す方法
顧客ログイン ページを有効にしたら、デフォルトの WordPress ログイン ページを非表示にして、ブルート フォース攻撃を阻止するのが賢明です。これを実現するには、 wp-login.php 認証要求の処理設定を「wp-login.php へのアクセスをブロック」に設定します。ページにアクセスしようとすると、WP Cerber は標準の「404 見つかりません」ページを表示します。考慮すべき欠点は 1 つだけです。攻撃者が十分に賢い場合、実際のログイン ページを探して Web サイトをスキャンし続ける可能性があります。
wp-login.phpを無効にする方法
検討すべきもう 1 つのより高度なオプションは、wp-login.php へのアクセスをブロックせずに無効にすることです。これはどのように機能しますか? この独自の WP Cerber 機能は、wp-login.php を介した認証の試みをすべて停止します。ログインしようとすると、WP Cerber はデフォルトの不正なパスワード エラーを模倣し、ユーザー認証プロセスを中止します。入力されたパスワードは関係ありません。正しいパスワードを使用しても、誰もログインできません。この機能を有効にするには、 [wp-login.php 認証要求の処理]設定を [wp-login.php を介した認証を拒否する] に設定します。
覚えておくべき注意事項
wp-login.php が無効になっており、ログインに使用できないことをユーザーまたはユーザーが忘れた場合、ユーザーまたはユーザーは Web サイトにログインできなくなり、wp-login.php の使用を数回試みた後にロックされます。
「wp-login.php 認証リクエストの処理」をデフォルト以外の値に設定した場合、カスタム ログイン URL のみを使用できます。/wp-login.php も /wp-admin/ もログインに使用できなくなります。
知っておくべき重要なこと
- W3 Total CacheやWP Super Cacheなどのキャッシュ プラグインを使用する場合は、新しいカスタム ログイン URL のスラッグをキャッシュしないページのリストに追加する必要があります。
- WordPress マルチサイト インストールの場合、新しいログイン URL はすべてのサイトに対してグローバルに設定されます。
- wp-login.php ファイルを手動で削除したり名前を変更したりしないでください。WordPress を新しいバージョンに更新すると、wp-login.php が復元され、侵入者が再びアクセスできるようになります。
2要素認証でさらに安全を確保
管理者のアカウントを保護するために、2FA を有効にすることを検討してください。2 要素認証は、ユーザー名とパスワードだけでなく、2 番目の識別要素を必要とする追加のセキュリティ レイヤーを提供します。
詳細: WordPress で 2 要素認証を有効にする方法
カスタムログインURL機能のトラブルシューティング
カスタム ログイン ページを有効にすると、一部のプラグインが動作しなくなる可能性があります。ログイン ページ カスタマイズ プラグインまたはソーシャル ログイン プラグインを使用している場合、そのようなプラグインが動作しなくなる可能性があります。この問題を解決するには、「カスタム ログイン ページのレンダリングを延期する」を有効にします。この設定の詳細については、こちらをご覧ください。
カスタム ログイン URL を設定してしばらく経って忘れてしまった場合は、まず、サイト管理者のメール ボックスで、新しいログイン URL に関する通知メールまたはメールの週次レポートを確認してください。これらのメールに、カスタム ログイン URL が記載されています。そのようなメールが見つからない場合は、以下の手順に従って WP Cerber を手動で再インストールする必要があります。
- FTP またはホスティング コントロール パネルのファイル マネージャーを使用して、プラグイン フォルダー /wp-cerber/ を手動で削除します。
- デフォルトの /wp-login.php URL を使用するか、カスタム ログイン URL を有効にする前に使用していた別の方法を使用して、通常どおり WordPress ダッシュボードにログインします。
- 通常どおり、WP Cerber Security プラグインをインストールして有効化します。
- プラグインのメイン設定ページに移動します。
- カスタム ログイン URLフィールドを確認します。使用する必要があるカスタム ログイン URL が表示されます。覚えておいてください。
Hi, I am following your instruction but still can access wp-login.php directly, my WordPress using mu and version4.5.3.
Check your White IP Access List in the settings of the plugin. All IP addresses from this list are allowed to bypass this rule. Make sure that IP address of your computer is not in the list.
Just to be 100% clear, if an IP address is in the IP Whitelist, then it CAN still utilize the wp-login.php?
Even if you have “Block direct access to wp-login.php and return HTTP 404 Not Found Error” checked under “Disable wp-login.php”, Whitelisted IP’s can still login using wp-login.php?
Is there any way to completely disable wp-login.php for everyone (including Whitelisted IP’s)?
Yes, of course. Whitelisted IPs can do everything. You should trust those IPs completely. To completely disable wp-login.php you need to either use .htaccess file or, and that is better, add a single string to the NGINX config file: http://wpcerber.com/hardening-wordpress-with-wp-cerber-and-nginx/
Hi,
I have a 404 Not Found with the new wp-login slug.
Is it related to something required with the webserver (I’m using Apache) ?
What slug did you enter?
I choose “connexion” to remplace wp-login.php, there’s no page called this way so no conflict but I still have a 404 error.
I tried to change my permalinks parameters but it’s don’t change anything.
That slug is normal. Most likely some caching engine knows nothing about the new URL. It maybe a caching plugin you use or some shadow caching engine that your hosting provider uses.
In fact after some diging I found it was a misconfiguration with Apache (Allow override not defined).
Thanks anyway, WP-Cerber is a very interesting plugin. I’ll share it around me.
First, thanks for one of the most helpful WP plugins around. For the custom login feature, I’d just like to suggest the following:
What about an extra sentence in the Custom Login area such as “don’t forget about the /wp-admin/ redirect, see above”?
Reason:
In the current Cerber Dashboard, the switch to
> Disable automatic redirecting to the login page when /wp-admin/ is requested by an unauthorized request
is located a few entries above the custom login switches, no direct connection, and the German translation has “Anmeldeseite” there, as opposed to “Login-Seite” later, so you don’t necessarily make the connection.
(I only found out when checking the logs and wondering how some crooks managed to find my custom login page…)
Yes, I’m going to rearrange these settings and the whole section soon.