Fail2ban, ban permanent d’une IP avec Iptable

Fail2ban, ban permanent d’une IP avec Iptable

Fail2ban, cet outil magique pour analyser vos logs et exécuter des commandes en fonction de ce que vous décidez.

Il est capable d’effectuer une infinité d’actions en fonction de ce qui se passe dans vos logs et selon votre bon vouloir. Surveillance de SSH, de Apache, de postfix, etc… il sait tout faire, si on lui apprend bien…
Je ne vais pas vous indiquer comment celui-ci fonctionne.
Je suppose que si vous êtes ici c’est que vous avez déjà une mouture fonctionnelle de la bête.

On va juste un chouia optimiser le bousin.

Alors c’est parti.
Ce qu’il faut retenir c’est que « F2B » agit en fonction des scripts que vous avez définis, ce sont vos: « jail » (prisons)
Si votre « jail » est bien configurée, alors ça donne sommairement:

Tentative d’intrusion => trace dans les logs => lecture du log par F2B => identification du type d’intrusion dans vos « Jails » => contre-mesure définie dans les actions de F2B.

On va du coup considérer que tout ce petit monde fonctionne correctement sur votre serveur, et on ne va s’intéresser qu’à la dernière section.
Les contre-mesures définies par défaut dans:

iptables-multiport.conf

On cherche la section actionban:

C’est là où l’action de bannir ce produit avec un beau drop de l’IP via IPtable.
On va juste lui coller une petite ligne supplémentaire qui va coller l’IP dans un fichier texte de son choix ici « ip.ban »

actionban = iptables -I fail2ban-<name> 1 -s <ip> -j DROP
echo ‘<ip>’ >> /chemin/du_fichier/ip.ban
On se retrouve donc avec un beau fichier qui contient la liste complète des IP bannies par F2B.
Ce qui nous manque maintenant c’est l’importation de cette liste dans Iptable.

On va se rendre, pour ce faire, dans la section actionstart de ce même fichier.
C’est ici que sont définies les actions que le Daemon F2B effectue à son lancement.
On va lui coller une ligne supplémentaire afin qu’il lise notre fichier « ip.ban » a chacun de ses lancements, et l’ajoute en banni dans Iptable.

actionstart = iptables -N fail2ban-<name>
iptables -A fail2ban-<name> -j RETURN
iptables -I INPUT -p <protocol> -m multiport –dports <port> -j fail2ban-<name>
cat /chemin/du_fichier/ip.ban | while read IP; do iptables -I fail2ban-<name> 1 -s $IP -j DROP; done

Et maintenant, vous voilà avec un beau fichier contenant la liste des IP indésirables, qui se retrouvent bannis a chaque lancement du daemon de F2B par Iptable.

Laisser un commentaire

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