Comme je vous en ai parlé dans un précédent article, mon serveur a été victime d’une tentative d’exploit d’une faille WordPress.

Pour m’en prémunir, j’ai créé une nouvelle règle dans Fail2Ban qui va analyser les logs et repérer l’action suspecte à bloquer.

Si vous n’avez pas encore installé Fail2Ban :

sudo apt-get install fail2ban

Ensuite, il faut commencer par créer un filtre pour parser les logs à la recherche des nombreuses tentatives d’accès :

cd /etc/fail2ban/filter.d
sudo vi apache-xmlrpc.conf

Et y ajouter le code suivant :

[Definition]
failregex = ^<HOST> .*POST .*xmlrpc\.php.* ignoreregex =

Quittez et enregistrez le fichier. A ce stade, vous venez de créer le filtre qui va chercher l’adresse IP correspondant à la machine qui tente de lancer l’exploit sur votre fichier xmlrpc.php situé à la racine de votre installation WordPress. Passons maintenant à sa mise en place dans la configuration de Fail2Ban :

cd /etc/fail2ban/
sudo vi jail.conf

Ajoutez à la liste des filtres déjà présents celui que vous venez de créer :

[apache-xmlrpc] enabled = true
port = http,https
filter = apache-xmlrpc
logpath = /CHEMIN-VERS-VOS-FICHIERS-DE-LOG/access.log
maxretry = 6

Quittez et enregistrez le fichier. Il ne reste plus qu’à redémarrer le service Fail2Ban :

sudo service fail2ban restart

Et le tour est joué ! Vous n’avez plus qu’à surveiller les logs de Fail2Ban pour détecter les IPs qui tentent d’accéder à votre site et qui sont bloquées par le logiciel pour ensuite faire un whois suivi d’un déclenchement d’abuse.

Attention toutefois, cette astuce n’est efficace que sur de modestes sites. Si vous héberger un gros site avec un fort traffic, le parcours des logs Apache par Fail2Ban risque probablement d’impacter les performances de votre serveur en mobilisant une charge importante du CPU !

Sponsornot : Zéro collaboration

0 comments

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.