Depuis quelques mois, de nombreux sites tournant sous WordPress sont la cible d’attaques de type Force Brute. Des tentatives de log In se font grâce à des répertoires contenant des milliers de mots de passe qui sont soumis un par un .. jusqu’à ce que le bon soit trouvé.

Que faire pour éviter que votre site wordpress soit hacké de cette manière ?

Au delà des conseils génériques, tels que choisir un mot de passe suffisamment sécurisé ou éviter d’utiliser admin comme username, voici deux méthodes qui permettent d’éviter ces désagréments.

1-. Usage de Plugins

Différents plugins vous permettent de faire face à certaines attaques avec différents niveaux de fiabilité.

a. Limit Login Attempt

Le plugin Limit Login Attempt devrait être installé sur tout site ou blog tournant sous wordpress. Il limite les tentatives de connexion en bloquant certaines IP qui ont échoué à entrer le bon mot de passe. De ce point de vue, il est inopérant pour les attaques se faisant via divers proxy, comme celles-ci par exemple :

attaque-wordpress

Mais comme vous pouvez le constater, le plugin vous envoie des mails tels que vous l’aurez configuré vous informant de tentatives de connexions infructueuses. Vous saurez que vous êtes la cible d’attaques, ce qui est un minimum pour envisager de vous en défendre.

b. Google Authenticator

Vous devez avoir un smartphone. Si c’est le cas, vous pouvez utiliser Google Authenticator.
Vous installez l’app sur votre iOS, Androïd ou même Blackberry, ensuite vous installez le plugin sur votre blog. Une fois le plugin installé et activé, vous allez dans les utilisateurs de votre site et vous scannez le QR Code.
Lorsque vous vous loguerez, il vous sera demandé un code. Ce code vous est donné par l’application et est changé toute les minutes.

google-authenticator-wordpress

c. Brute Protect

Brute Protect est un plugin qui est simple d’utilisation et demande une clé API que l’on peut obtenir facilement. Il est à tester.

2-. Avec un fichier htpasswd

En quelques opérations faciles, vous pouvez faire en sorte que l’accès à votre page de LogIn nécessite l’introduction d’un username et mot de passe.

a. Créer le htpasswd

Divers site offrent ce service, prenons par exemple http://www.htaccesstools.com/htpasswd-generator/

Vous entrez un username et un mot de passe et cliquez sur le bouton

fichier-protection-wordpress

Il vous crée cela :

HTPASSWD GENERATOR

b. Créez un fichier sur le Home de votre site

Prenez bien garde à être sur le Home et pas le public_html et vous créez un fichier que vous appelez comme vous le souhaitez, par exemple : wppassword

Vous mettez dans ce fichier la ligne que vous a donné l’outil ci-dessus (dans notre exemple : tralala:$apr1$BK2dm04i$a74OpekPpE87NfjNA/.6v0)

c. Modifiez le .htaccess

Accédez à votre .htaccess et éditez le comme ceci :

Insérer dans le haut du fichier ce code en remplaçant USERNAME par le username d’accès au cpanel et FILENAME par le nom du fichier que vous avez créé au b.

ErrorDocument 401 « Unauthorized Access! You need to provide valid credentials to login »
ErrorDocument 403 « Forbidden! You’re not allowed to access this page. »
<Files « wp-login.php »>
AuthName « Administrators Only! »
AuthType Basic
AuthUserFile /home/USERNAME/FILENAME
require valid-user

 d. Résultat

Quand vous voulez accèdes à votre admin et que vous devez vous loguer, il vous est demandé:

protection-wrodpress

source

3-. Autre ressource

Vous pouvez aussi lire le billet de Gonzague consacré à la problématique.