[WordPress] Éviter les attaques par « force brute »

Publié le 05/12/2013 à 01h12

Les sites WordPress sont souvent victimes d'attaques par force brute (cf. brute-force attacks), probablement sans même que vous ne le sachiez. Quelques tests menés sur des projets personnels ont montrés qu'un site peut subir une moyenne de plus de 800 tentatives de connexions par jour à l'espace personnel (cf. /wp-admin/). Cet article présente les moyens de se protéger contre ce type d'attaque.

Logo WordPress

Comment fonctionne les attaque par force brute ?

Une attaque par force brute est assez simple à comprendre. L'idée consiste à utiliser un programme informatique qui va tenter d'accéder à votre espace personnel en testant un maximum de mots de passe possibles. En général ces scripts commencent par tester des mots de passe relativement communs tel que "123456", "qwerty" ou même "azerty".

Sachant qu'il s'agit là de processus informatique, ils peuvent tenter des centaines de mots de passe en l'espace de quelques minutes. Imaginez le nombre de tentatives que ces robots peuvent accomplir en plusieurs heures. Si vous utilisez un mot de passe trop simple (mot dans le dictionnaire, date de naissance, prénom commun ...) alors un utilisateur mal intentionné peut réussir à trouver votre mot de passe en plusieurs heures.

Les points à retenir sont donc :

  • Utilisez un mot de passe un peu compliqué
  • Votre mot de passe ne doit pas être une date de naissance
  • Le mot de passe ne doit pas être un mot du dictionnaire
  • N'utilisez surtout pas « azerty », « qwerty », « 123456 », « password » ou « football »

Éviter l'identifiant "admin"

Pour se prémunir contre ce type d'attaque, la première étape consiste déjà à éviter de garder l'identifiant "admin". C'est l'identifiant le plus souvent utilisé. Voici une liste des login à éviter, par ordre d'importante lors des attaques informatiques:

Information : cette liste d'identifiant a été générée suite à l'exploitation de plus de 131.000 tentatives de connexions sur un panel de site qui ont subit des attaques par "force brute". La liste est classé par ordre du nombre de tentative. En d'autres mots, les premiers login sont à éviter en particulier.

Exclure les adresses IP « sensibles »

Certaines adresses IP sont connues et souvent utilisées lors d'attaques. C'est le cas de certains proxies souvent utilisés par les hackers. Il est possible de bannir l'accès à ces adresses IP pour limiter les accès à d'éventuels tentatives de connexions inappropriées  Pour cela, l'ajout de lignes spécifiques dans le fichier ".htaccess" est une méthode simple et terriblement efficace pour bloquer l'accès à certaines adresses IP.

Bonus : liste de 284 adresses IP à bannir

En récupérant les logs d'attaques par "force brute" j'ai pu créer une liste de 284 adresses IP qui ont été utilisées pour faire jusqu'à 130.000 tentatives de connexions. Commencez par exclure ces adresses IP empêcher des attaques des mêmes adresse IP / proxys.

Plugin "Login Security"

Le plugin WordPress "Login Security" viens d'être publié sur l'annuaire des plugins WordPress. Il permet d'enregistrer chaque tentative de connexion, qu'elles soient réussie ou non. Si votre site WordPress subit des attaques, vous pourrez le voir facilement et vous pourrez bloquer les adresses IP qui effectuent le plus de tentatives de connexions échouées (attention à ne pas bloquer votre propre adresse IP).

Attention au fonctionnement "normal" de WordPress

Vous ne le savez peut-être pas, mais sur un site WordPress, en utilisant l'URL suivante « http://www.example.com/?author=1 » vous allez être redirigé automatiquement vers une URL telle que « http://www.example.com/author/admin/ ».

Cette redirection permet indirectement de connaître l'identifiant principal d'un site WordPress facilement et rapidement. Les attaquants qui exploitent cette astuces peuvent donc connaître l'identifiant exact au lieu de tenter à l'aveugle l'identifiant "admin".

Pour s'en protéger il est possible d'effectuer une redirection de l'adresse « http://www.example.com/?author=1 » vers la page d'accueil. Cela évitera à un processuss informatique de connaître aussi facilement le login principal.

Changer le préfixe de la base de données

Par défaut le préfixe des tables de la base de données est « wp_ ». En modifiant ce préfixe ça permet de se protéger un peu mieux contre certaines attaques potentielles.

Pour modifier ce préfixe la procédure est rapide :

  1. Modifier la ligne « $table_prefix = 'wp_'; » dans le fichier wp-config.php
  2. Changer manuellement le préfixe des tables WordPress (par exemple avec phpMyAdmin)

Voir un tutoriel complet : changer le préfixe des tables WordPress.

Astuce : supprimer les fichiers readme.txt des plugins

Une bonne partie des attaques sur un site WordPress sont effectués à travers des plugins qui comportent des failles. Ces plugins sont connus et sont d'ailleurs répertoriés sur des sites spécialisés qui informent les plugins à éviter.

Les "attaquants" le savent et ont des listes toute faites des plugins possédant des failles. Ils vont alors lancer un robot qui va vérifier si le fichier readme.txt du plugin existe sur votre site. S'il existe, ça signifie que vous posséder le plugin (même s'il n'est pas activé), et que votre site possède donc la faille.

Si vous avez le temps, voici une idée à explorer : il est possible de supprimer les fichiers readme.txt de vos plugins pour éviter qu'un attaquant ne sache si vous posséder tel ou tel plugin. Certes, il y a toujours d'autres techniques pour savoir si un plugin est installé, mais comme l'appel du fichier readme.txt est assez populaire ça vous prémunie un peu contre ce type d'attaque.

Astuce : si vous avez des connaissances en développement vous pouvez créer une tache CRON pour supprimer automatiquement les fichiers readme.txt, même après une mise à jour d'un plugin.

Mot de la fin

Il existe d'autres plugins qui peuvent aider à améliorer la sécurité d'un site WordPress, pour cela il suffit de fouiller un peu dans l'annuaire des plugins WordPress. N'oubliez pas par ailleurs que cet article n'est qu'une petite ébauche sur un vaste domaine et que ça ne garantie pas une sécurité à 100%.

Les commentaires sont à votre disposition pour s'échanger des astuces et bonnes pratiques sur la sécurité WordPress.

Auteur: Tony Archambeau

Développeur web passionné par le référencement et l'ergonomie d'utilisation des sites et applications web, j'édite plusieurs sites web dont infowebmaster.fr.

Commentaires »


Creation site internet France
Le 28 février 2014

Merci pour ces bons conseils, je tacherais de les appliqués pour mes services !

Leave a comment