Page de connexion personnalisée pour WordPress
Comment renommer wp-login.php, créer une URL de connexion personnalisée et protéger WordPress contre les attaques par force brute automatisées et les bots.
English version: Custom login page for WordPress
La fonctionnalité de page de connexion personnalisée est un excellent outil pour réduire la surface d'attaque et éliminer les inscriptions indésirables. C'est la première chose à activer sur une installation WordPress nouvellement réalisée. Renommer le dossier des plugins WordPress est également une mesure de sécurité fortement recommandée.
Pourquoi c'est important et pourquoi ça fonctionne
D'après nos études chez Cerber Lab , la plupart des outils et attaques de piratage reposent sur l'hypothèse qu'un site WordPress victime utilise la page de connexion par défaut et que ses extensions se trouvent dans le répertoire par défaut. Bien qu'il soit déconseillé d'utiliser les valeurs par défaut sur un site web, de nombreux propriétaires ignorent ces principes élémentaires, ce qui permet aux pirates de les attaquer avec succès. C'est pourquoi WordPress est si prisé des pirates, et nous constatons à tout moment des centaines de milliers de sites web piratés.
Configurez votre page de connexion personnalisée
WP Cerber vous permet de modifier facilement et en toute sécurité l'URL de connexion par défaut de WordPress (wp-login.php) et de la remplacer par l'URL de votre choix. Autrement dit, vous pouvez configurer votre propre page de connexion personnalisée (une URL de connexion personnalisée signifie la même chose dans ce contexte) et masquer wp-login.php aux personnes malveillantes, aux scanners et aux robots. Inutile de modifier le fichier .htaccess ou de renommer le fichier wp-login.php : avec WP Cerber, la configuration se fait en quelques clics.
- Accédez à la page d'administration des paramètres principaux du plugin.
- Saisissez votre nouvelle URL de connexion dans le champ « URL de connexion personnalisée » et enregistrez les paramètres. C'est tout.
- Si vous utilisez un plugin de mise en cache, ajoutez votre nouvelle URL de connexion à la liste des pages à ne pas mettre en cache.
- Vérifiez que votre nouvelle URL de connexion fonctionne correctement et que vous pouvez l'utiliser pour vous connecter. Faites-le dans une fenêtre de navigation privée. Ne vous déconnectez pas de votre site web tant que vous n'avez pas vérifié le bon fonctionnement de votre nouvelle URL de connexion .
Comment masquer wp-login.php aux robots et aux scanners
Une fois la page de connexion client activée, il est judicieux de masquer la page de connexion WordPress par défaut afin d'empêcher les attaques par force brute. Pour ce faire, configurez le paramètre « Traitement des requêtes d'authentification wp-login.php » sur « Bloquer l'accès à wp-login.php ». Lors d'une tentative d'accès à cette page, WP Cerber affichera la page d'erreur standard « 404 Not Found ». Il existe cependant un inconvénient majeur : un attaquant suffisamment expérimenté pourrait poursuivre son analyse du site web à la recherche de votre véritable page de connexion.
Comment désactiver wp-login.php
Une autre option plus avancée consiste à désactiver wp-login.php sans en bloquer l'accès. Comment cela fonctionne-t-il ? Cette fonctionnalité exclusive de WP Cerber empêche toute tentative d'authentification via wp-login.php. Lors d'une tentative de connexion, WP Cerber simule l'erreur de mot de passe incorrect par défaut et interrompt le processus d'authentification. Quel que soit le mot de passe saisi, personne n'est autorisé à se connecter, même avec le bon mot de passe. Pour activer cette fonctionnalité, configurez le paramètre « Traitement des requêtes d'authentification wp-login.php » sur « Refuser l'authentification via wp-login.php ».
Un avertissement à retenir
Si vous ou votre utilisateur oubliez que wp-login.php est désactivé et ne peut pas être utilisé pour se connecter, vous ou votre utilisateur ne pourrez jamais vous connecter au site web et serez bloqués après plusieurs tentatives d'utilisation de wp-login.php.
Si vous avez modifié la valeur de « Traitement des requêtes d'authentification wp-login.php », vous ne pourrez utiliser que votre URL de connexion personnalisée. Ni /wp-login.php ni /wp-admin/ ne seront plus utilisables pour se connecter.
Choses importantes que vous devez savoir
- Si vous utilisez un plugin de mise en cache comme W3 Total Cache ou WP Super Cache, vous devez ajouter le slug de la nouvelle URL de connexion personnalisée à la liste des pages à ne pas mettre en cache.
- Pour une installation WordPress multisite, la nouvelle URL de connexion est définie globalement pour tous les sites.
- Ne supprimez ni ne renommez manuellement le fichier wp-login.php. Après la mise à jour de votre installation WordPress, ce fichier sera restauré et de nouveau accessible aux intrus.
Renforcez la sécurité avec l'authentification à deux facteurs.
Pensez à activer l'authentification à deux facteurs (2FA) pour protéger les comptes administrateurs. Cette authentification offre une couche de sécurité supplémentaire, exigeant un deuxième facteur d'identification en plus du nom d'utilisateur et du mot de passe.
En savoir plus : Comment activer l’authentification à deux facteurs pour WordPress
Dépannage de la fonctionnalité d'URL de connexion personnalisée
L'activation de la page de connexion personnalisée peut entraîner le dysfonctionnement de certains plugins. Si vous utilisez un plugin de personnalisation de la page de connexion ou un plugin de connexion via les réseaux sociaux, il est possible que ce dernier ne fonctionne plus. Pour résoudre ce problème, activez l'option « Différer l'affichage de la page de connexion personnalisée ». Consultez la documentation pour en savoir plus sur ce paramètre .
Si vous avez configuré votre URL de connexion personnalisée et que vous l'avez oubliée, vérifiez d'abord la boîte mail de l'administrateur du site. Vous devriez y trouver un e-mail de notification ou un rapport hebdomadaire contenant votre nouvelle URL. Si vous ne trouvez pas cet e-mail, vous devrez réinstaller WP Cerber manuellement en suivant les étapes ci-dessous.
- Supprimez manuellement le dossier du plugin /wp-cerber/ en utilisant FTP ou n'importe quel gestionnaire de fichiers de votre panneau de contrôle d'hébergement.
- Connectez-vous à votre tableau de bord WordPress comme d'habitude en utilisant l'URL par défaut /wp-login.php ou toute autre méthode que vous utilisiez avant d'activer l'URL de connexion personnalisée.
- Installez et activez l'extension WP Cerber Security comme d'habitude.
- Accédez à la page des paramètres principaux du plugin.
- Vérifiez le champ URL de connexion personnalisée . Il affiche l'URL de connexion personnalisée que vous devez utiliser. N'oubliez pas cette 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.