Protéger le panneau d'administration WordPress
Méthodes de protection du panneau d'administration CMS.
Pour sécuriser le panneau d'administration WordPress, il est important de considérer non seulement les méthodes de protection logicielle, mais aussi l'infrastructure sur laquelle votre site est hébergé. Que vous utilisiez un hébergement web, un VPS ou un serveur dédié, une configuration serveur appropriée et des mesures de sécurité adaptées permettent de minimiser les risques. Dans cet article, nous passerons en revue les principales méthodes pour protéger le panneau d'administration WordPress, applicables à tout type d'hébergement.
Pour protéger le panneau d'administration WordPress, vous pouvez :
-
Mettre en place une restriction d'accès par IP
-
Intégrer Google reCAPTCHA dans le formulaire de connexion pour compliquer les attaques par force brute
-
Changer l'adresse de la page de connexion dans le panneau d'administration
-
Installer une authentification supplémentaire avec .htaccess + .htpasswd
Ces méthodes offrent un minimum simple mais indispensable en matière de sécurité WordPress.
Si vous avez besoin d'une solution complète pour protéger votre site, vous pouvez recourir à des plugins spécialisés :
RESTRICTION D'ACCÈS PAR IP.
Restreindre l'accès au site depuis l'adresse IP 111.111.111.111 dans .htaccess :
<FilesMatch "^(wp-login|wp-config)\.phpquot;>
Order deny,allow
Deny from all
Allow from 111.111.111.111.111
</FilesMatch>
Restreindre l'accès au site depuis toutes les adresses sauf 111.111.111.111 :
Order Deny,Allow
Deny from all
Allow from 111.111.111.111
La restriction d'accès via Nginx est détaillée ici
PROTÉGER LE PANNEAU D'ADMINISTRATION CONTRE LES ATTAQUES PAR FORCE BRUTE
Le plugin Login Lockdown est une solution simple à installer et efficace pour se protéger contre les attaques par force brute sur les mots de passe.
Téléchargez le plugin Login Lockdown depuis le dépôt officiel WordPress.org.
Son principe de fonctionnement : lorsqu'un certain nombre de tentatives de connexion échouées est atteint, l'adresse IP est ajoutée à la liste noire et l'accès au site est bloqué. Ce plugin peut être utilisé sur tout type de site :
- Installez le plugin Login Lockdown
- Les paramètres du plugin se trouvent à l'adresse https://example.com/wp-admin/options-general.php?page=loginlockdown.php.
Il n'est pas obligatoire de configurer le plugin, mais vous pouvez personnaliser ses paramètres si vous le souhaitez :

Paramètres du plugin Login Lockdown
- Max Login Retries — Le nombre maximum de tentatives de connexion échouées au-delà duquel l'accès par IP est bloqué. Par défaut, 3 tentatives sont autorisées.
- Retry Time Period Restriction (minutes) — La période pendant laquelle le nombre d'erreurs ci-dessus est toléré (5 minutes par défaut). Si vous faites 2 erreurs de mot de passe, vous devez attendre 5 minutes pour éviter d'être bloqué.
- Lockout Length (minutes) — La durée en minutes pendant laquelle l'accès au site est bloqué. Par défaut, l'accès par IP est bloqué pendant 60 minutes.
- Lockout Invalid Usernames? — Indique si le filtre Login LockDown doit s'appliquer aux tentatives de connexion avec un nom d'utilisateur inexistant. Désactivé par défaut.
- Mask Login Errors? — WordPress affiche normalement des messages distincts selon que la tentative de connexion utilise un nom d'utilisateur invalide ou un nom valide avec un mauvais mot de passe. Activer cette option masque le type d'erreur en cas d'échec de connexion.
- Show Credit Link? — Indique si le lien vers la page Login Lockdown doit être affiché sur la page de connexion. Présent par défaut, mais peut être désactivé.
Lors de la connexion, vous constaterez que le site est sécurisé :

PROTÉGER LE PANNEAU D'ADMINISTRATION AVEC UN CAPTCHA.
Le plugin Google Captcha (reCAPTCHA) est une solution de sécurité qui protège les formulaires de votre site WordPress contre le spam, tout en permettant aux utilisateurs réels de passer la vérification sans difficulté. Il peut être utilisé pour les formulaires de connexion, d'inscription, de récupération de mot de passe, les commentaires, les formulaires de contact courants et bien d'autres encore.
Installez le plugin Google Captcha (reCAPTCHA)
Accédez aux paramètres du plugin : http://example.com/wp-admin/admin.php?page=google-captcha.php

Inscrivez-vous sur Google reCAPTCHA, ajoutez votre site, récupérez les clés et saisissez-les dans les champs indiqués sur la capture d'écran.
Lors de la connexion et dans le formulaire de commentaires, la vérification par captcha est désormais visible.

COMMENT MASQUER L'ADRESSE DU PANNEAU D'ADMINISTRATION EN LA MODIFIANT.
WPS Hide Login est un plugin qui permet de changer facilement et en toute sécurité l'URL de la page de connexion pour n'importe quelle adresse de votre choix. Il ne renomme ni ne modifie les fichiers du cœur de WordPress et n'ajoute aucune règle de réécriture. Il se contente d'intercepter les requêtes de page et fonctionne sur tout site WordPress.
Installez le plugin WPS Hide Login
Ensuite, dans les paramètres du plugin http://example.com/wp-admin/options-general.php#whl-page-input, indiquez la nouvelle adresse de connexion au panneau d'administration WordPress et enregistrez les modifications.

PROTÉGER LE PANNEAU D'ADMINISTRATION AVEC UNE AUTHENTIFICATION SUPPLÉMENTAIRE

Le processus se déroule en deux étapes.
.htaccess Commencez par créer le fichier .htaccess dans le répertoire du site que vous souhaitez protéger par mot de passe. Comme nous parlons de l'administration WordPress, créez le fichier dans le dossier /wp-admin.
AuthType Basic
AuthName
AuthName "Protected Area"
#Chemin vers le fichier contenant les utilisateurs et les mots de passe .htpasswd
AuthUserFile /home/f45454/mysite.com/public_html/wp-admin/.htpasswd
require valid-user
- AuthName
- Nom de l'authentification. Ce message s'affiche dans la boîte de saisie du nom d'utilisateur et du mot de passe. Vous pouvez également simplement modifier ce message pour réinitialiser les mots de passe enregistrés dans vos navigateurs.
- AuthUserFile
- Chemin absolu sur le serveur vers le fichier contenant les identifiants et les mots de passe (.htpasswd). Pour le connaître, utilisez la fonction PHP getcwd() (Get Current Working Directory).
.htpasswd Un fichier contenant les utilisateurs et les mots de passe au format utilisateur:mot_de_passe. Le mot de passe doit être fourni sous forme chiffrée.
Exemple :
admin:$apr1$7C3cBu2Z$0ulE5W3hyDTNCCGYaJHlu.