Protégez votre WordPress avec une Double Authentification via .htaccess
Les attaques de type brute force visant à pirater les accès WordPress sont de plus en plus fréquentes. Même avec un plugin comme Limit Login Attempts, certaines attaques massives, issues de réseaux de botnets, peuvent rester efficaces.
Pour renforcer la sécurité de votre site, Helloweb Hosting recommande de mettre en place une double authentification (niveau serveur) sur les pages sensibles comme :
- le dossier
/wp-admin - le fichier de connexion
wp-login.php - et éventuellement
xmlrpc.phpsi utilisé
Cette méthode repose sur l’utilisation de fichiers .htaccess et .htpasswd, et est compatible avec tout hébergement utilisant Apache.
Étape 1 : Créer un fichier .htpasswd
-
Pour générer un fichier
.htpasswd, vous pouvez utiliser un outil en ligne comme :
htaccesstools.com/htpasswd-generator -
Choisissez un nom d’utilisateur unique (différent de votre login WordPress) et un mot de passe fort.
-
Une fois généré, copiez le contenu dans un fichier que vous nommerez
.htpasswds, que vous stockerez en dehors depublic_html, par exemple :**/home/moncompte/.htpasswds**
Étape 2 : Protéger le dossier /wp-admin
Créez un fichier .htaccess dans le dossier wp-admin, soit à l'emplacement :/home/moncompte/public_html/wp-admin/.htaccess
Collez-y le code suivant :
ErrorDocument 401 default
AuthType Basic
AuthName "Double Authentification"
AuthUserFile /home/moncompte/.htpasswds
require valid-user
Personnalisez le chemin de
AuthUserFileavec votre propre nom de compte et l'emplacement précis de votre fichier.htpasswds.
Résultat attendu : Lorsqu’un utilisateur tente d’accéder à /wp-admin/, une fenêtre d’authentification apparaîtra avant même la page de connexion WordPress.
Étape 3 : Protéger le fichier wp-login.php (et xmlrpc.php)
L'accès à wp-login.php est très souvent ciblé par les attaques. Pour le sécuriser, modifiez votre fichier .htaccess situé à la racine de votre site, soit :/home/moncompte/public_html/.htaccess
Voici un exemple de contenu typique WordPress par défaut :
Options -Indexes
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Ajoutez le bloc suivant juste AVANT # BEGIN WordPress :
Options -Indexes
ErrorDocument 401 default
<FilesMatch "^((wp-login)\.php|(xmlrpc)\.php)$">
AuthName "Double Authentification"
AuthType Basic
AuthUserFile /home/moncompte/.htpasswds
Require valid-user
</FilesMatch>
Comme pour l'étape précédente, n’oubliez pas de personnaliser le chemin
AuthUserFile.
Tester la double protection
Une fois les modifications enregistrées :
- Accédez à
https://votresite.com/wp-login.php - Une authentification de type pop-up devrait apparaître avant même de voir le formulaire WordPress
- Après avoir saisi les identifiants définis dans
.htpasswds, vous serez redirigé vers la page de connexion WordPress
Vous avez maintenant une double sécurité : le pirate devra non seulement deviner votre identifiant WordPress, mais aussi celui configuré dans .htpasswd.
Attention aux plugins utilisant xmlrpc.php
Si vous utilisez un plugin comme Jetpack ou tout autre service externe nécessitant une connexion via xmlrpc.php, cette protection peut les empêcher de fonctionner.
Solutions possibles :
- Ajouter une exception d'IP ou d'agent utilisateur dans
.htaccess - Ne pas protéger
xmlrpc.php - Utiliser d’autres solutions côté WordPress comme des plugins de sécurité plus avancés
Contactez notre support Helloweb Hosting si vous avez besoin d'aide pour ajuster la configuration à vos besoins spécifiques.