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 Not Found」ページを表示します。考慮すべき欠点が 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 が復元され、侵入者が再びアクセスできるようになります。
二要素認証でより安全に
管理者のアカウントを保護するために 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 が表示されます。それを覚えて。
Tmart ( )
Hi, I am following your instruction but still can access wp-login.php directly, my WordPress using mu and version4.5.3.
Gregory ( )
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.
tank ( )
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)?
Gregory ( )
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/
Vincent ( )
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) ?
Gregory ( )
What slug did you enter?
Vincent ( )
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.
Gregory ( )
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.
Vincent ( )
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.
ChrisW ( )
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…)
Gregory ( )
Yes, I’m going to rearrange these settings and the whole section soon.