PlanetHoster PlanetHoster host Your world

Protéger son WordPress avec une double authentification par htaccess

Bonjour à tous,

Suite aux nombreuses attaques de hack/bruteforce visant à pirater les WordPress, nous vous conseillons d'installer l'extension Limit Login Attemps,

Cependant dans certains cas les attaques étant lancé de très gros botnet, ce module n'est pas suffisamment performant et n'arrive pas à bloquer toutes les IPs. Pour cette raison, nous allons vous montrer comment rajouter une deuxième authentification à votre wordpress, empêchant ainsi les requêtes malicieuse de se rendre à votre wordpress. Une fois les manipulations terminées, vous aurez un nouveau pop-up demandant un mot de passe avant d'arriver à la page de login:



Ce tutoriel à donc pour but de faire une double authentification sur le dossier wp-admin et la page d'authentification wp-login.php; nous allons faire cela avec les fichiers .htaccess

Image result for .htaccess

Tous d'abord il faut créer un fichier passwd qui va contenir votre login et mot de passe, je vous recommande d'utiliser un utilisateur totalement différent que celui de votre WordPress.

Dans mon cas je vais mettre ce fichier en dehors du public_html à cet endroit:

/home/comptecp/.htpasswds

Pour cela je vous recommande ce site : http://www.htaccesstools.com/htpasswd-generator/ , cela devrait ressembler à ceci;


test:$apr1$hXJoJMrD$Ax/zRnRrOkMD4Niw2N8yH1


Une fois ce fichier contenant le login et mot de passe, vous devrez créer un fichier .htaccess dans le dossier /wp-admin (/home/comptecp/public_html/wp-admin/.htaccess)


Celui-ci va contenir ces différentes lignes,

ErrorDocument 401 default
AuthType Basic
AuthName "Double Authentification PlanetHoster"
AuthUserFile /home/comptecp/.htpasswds
require valid-user

Une fois tout cela fait, vous aurez maintenant un deuxième mot de passe nécessaire pour accéder à votre wp-admin, réduisant ainsi les tentatives de connexions malveillantes par cette avenue.

Pour sécuriser les pages xmlrpc et wplogin, vous devrez plutôt éditer le .htaccess à la racine de votre hébergement et rajouter les lignes suivantes avant la section "#Begin wordpress"

ErrorDocument 401 default
<FilesMatch "^((wp-login)\.php|(xmlrpc)\.php)$">
AuthName "Double Authentification PlanetHoster"
AuthType Basic
AuthUserFile /home/comptecp/.htpasswds
Require valid-user
</FilesMatch>