Bloquer les bruteforces sur xmlrpc.php sur Nginx avec fail2ban
Hello,
On va voir ensemble comment bloquer les bruteforces sur xmlrpc.php sur Nginx avec fail2ban car un de mes sites se prend souvent des attaques par bruteforce sur la page /xmlrpc.php de mon wordpress.
Je retrouve dans les logs d’accès nginx les requêtes suivantes :
37.1.214.203 - - [13/Sep/2016:17:46:26 +0200] "POST /xmlrpc.php HTTP/1.1" 499 0 "-" "-"
On a l’IP de « l’attaquant », la date, la requete pour simplifier.
Chouette de quoi faire un bon gros filtre sur fail2ban !
On va commencer par créer le filtre proprement dit avec votre editeur de texte favoris dans :
nom du filtre : wordpress-auth.conf
dossier où sont stockés les filtres : /etc/fail2ban/filter.d/
Donc par exemple :
nano /etc/fail2ban/filter.d/wordpress-auth.conf
Et on y place ce contenu :
[Definition]
failregex =
Il correspond à la chaine que fail2ban va rechercher.
Maintenant il nous reste à créer le jail toujours avec l’diteur de votre choix :
nano /etc/fail2ban/jail.conf
Et on y colle ce contenu :
[wordpress]
enabled = true
port = http,https
filter = wordpress-auth
logpath = /var/log/nginx/access.log
maxretry = 3
bantime = 86400
Note : on peut ajuster la valeur de maxretry et bantime, le premier c’est le nombre d’occurrence après laquelle on bloque et le bantime c’est le temps en secondes du bannissement.
Une fois tout cela fait, on redemarre le service fail2ban.
On peut analyser le log afin de suivre les bannissements situé dans :
tailf /var/log/fail2ban.log
Et voilà, maintenant ce genre d’attaque ne devraient plus vous flooder !
Commentaires récents