WordPress & fail2ban : stopper la brute-force « POST /wp-login.php »

Edit : azerttyu, dans son commentaire signale une solution plus propre (bien que celle-ci fonctionne)

WordPress étant très populaire il est (malheureusement) de fait très attaqué.. La principale (hors SPAM sur les commentaires) est faite par brute-force sur la page wp-login.php. Je l’avais déjà remarqué, mais j’ai récement eu des problèmes d’indisponibilités suite à plusieurs attaques venant de multiple adresse IP (l’attaque passant donc de brute-force à DDOS) J’ai donc dû réagir et pour ce faire j’ai configuré fail2ban pour bloquer les IP’s faisant plus de 6 tentatives de connexions sur tous les sites wordpress du serveur.

Configuration de fail2ban

Note : mon installation de fail2ban est existante et fonctionne déjà pour le FTP & le SSH

Éditer le fichier /etc/fail2ban/jail.conf et sous « HTTP serveurs » ajouter la configuration « apache-wp-login »

Puis créer la définition de la regex « apache-wp-login » dans le fichier /etc/fail2ban/filter.d/apache-wp-login.conf

Pour finir : un restart du service fail2ban & vous n’avez plus qu’à tester en faisant plus de 6 tentatives de mot de passe sur la page votreblog/wp-admin/

Pour information, le lendemain 47 IP ont été bloquées grâce à ce système…

6 thoughts on “WordPress & fail2ban : stopper la brute-force « POST /wp-login.php »”

  1. Bonjour

    N’y aurait il pas un plugin permettant de mettre en place cette protection (utile pour les sites hébergés en mode mutualisé donc sans possibilité d ‘accès à l’adminstration système et donc à l’installation / configuration de fail2ban) ?

  2. Bonjour

    WordPress ayant écrasé une bonne partie de mon commentaire,  voici une version synthétique 🙂

    On peut utiliser des variables nommées dans le filtre comme  url_preserved = wp-login\.php et  %(url_preserved)s

    Pour tester que le fonctionnement du filtre, nous avons le script fail2ban-regex : fail2ban-regex /var/log/apache2/access.log /etc/fail2ban/filter.d/apache-wp-login.conf

    Pour contrôler le comportement de fail2ban autant préférer : fail2ban-client status apachewp-login

    Je me suis permis de synthétiser ces informations sur cette page :  http://km.azerttyu.net/Wordpress-et-les-attaques-brute-force

    Merci encore 🙂

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *