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ログインURLwp-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へのアクセスをブロックする」に設定します。ページにアクセスしようとすると、WPCerberは標準の「404NotFound」ページをレンダリングします。考慮すべき欠点は1つだけです。攻撃者が十分に賢い場合、攻撃者はWebサイトをスキャンし続け、実際のログインページを検索する可能性があります。
wp-login.phpを無効にする方法
考慮すべきもう1つのより高度なオプションは、wp-login.phpへのアクセスをブロックせずに無効にすることです。それはどのように機能しますか?この独自のWPCerber機能は、wp-login.phpを介した認証の試みを阻止します。ログインしようとすると、WP Cerberはデフォルトの誤ったパスワードエラーを模倣し、ユーザー認証プロセスを中止します。どのパスワードを入力してもかまいません。正しいパスワードを使用しても、誰もログインできません。この機能を有効にするには、 「wp-login.php認証要求の処理」設定を「wp-login.phpによる認証を拒否する」に設定します。
考慮する必要のある欠点があります。あなたまたはあなたのユーザーがwp-login.phpが期待どおりに機能しなくなったことを忘れると、あなたまたは彼らはログインできなくなり、何度か試行した後、自分自身がロックアウトされます。それをするために。
あなたが知る必要がある重要なこと
- W3 TotalCacheやWPSuper Cacheなどのキャッシュプラグインを使用する場合は、キャッシュしないページのリストに新しいカスタムログインURLのスラッグを追加する必要があります。
- WordPressマルチサイトインストールの場合、新しいログインURLがグローバルにすべてのサイトに設定されます。
- wp-login.phpファイルを手動で削除したり名前を変更したりしないでください。 WordPressを新しいバージョンに更新すると、wp-login.phpが復元され、侵入者が再びアクセスできるようになります。
二要素認証でより安全に
管理者のアカウントを保護するために2FAを有効にすることを検討してください。二要素認証は、ユーザー名とパスワードだけでなく、識別の2番目の要素を必要とするセキュリティの追加レイヤーを提供します。
カスタムログインURL機能のトラブルシューティング
カスタムログインページを有効にすると、一部のプラグインが機能しなくなる場合があります。ログインページカスタマイズプラグインまたはソーシャルログインプラグインを使用している場合、そのようなプラグインが機能しなくなる可能性があります。この問題を修正するには、「カスタムログインページのレンダリングを延期する」を有効にします。この設定の詳細をご覧ください。
カスタムログインURLを設定し、しばらくしてそれを忘れた場合は、まず、サイト管理者の電子メールボックスをオンにして、新しいログインURLに関する通知電子メールまたは週次レポートの電子メールを確認します。これらのメールには、カスタムログインURLが表示されます。それらが見つからない場合は、以下の手順に従ってプラグインを手動で再インストールする必要があります。
- FTPまたはホスティングコントロールパネルのファイルマネージャーを使用して、プラグインフォルダー/ wp-cerber /を手動で削除します。
- デフォルトの/wp-login.phpURLを使用するか、カスタムログインURLを有効にする前に使用していた別の方法を使用して、通常どおりWordPressダッシュボードにログインします。
- 通常どおり、WP CerberSecurityプラグインをインストールしてアクティブ化します。
- プラグインのメイン設定ページに移動します。
- [カスタムログイン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.