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 :
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.
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
Il vous crée cela :
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é:
3-. Autre ressource
Vous pouvez aussi lire le billet de Gonzague consacré à la problématique.