Introduction à fail2ban

« fail2ban lit les logs de divers services (SSH, Apache, FTP…) à la recherche d’erreurs d’authentification répétées et ajoute une règle iptables pour bannir l’adresse IP de la source. » (source : doc.ubuntu-fr.org)

Par défaut, fail2ban applique un blocage de 10min après 6 tentatives en 10min.

Pour configurer ses « prisons », il faut éditer le fichier /etc/fail2ban/jail.conf.

Exemple :

  • ignoreip : les IP 127.0.0.1 et 8.8.8.8 sont ignorées pour tous les ports
  • fintime : fail2ban remonte 1 heure dans les logs
  • bantime : les ips sont bloquées 24 heures
  • enabled : pour activer/désactiver une prison
  • port : le/les port(s) correspondant(s) à la prison. Il faut penser à mettre les numéros de ports s’ils ont été modifiés. Par exemple, si on passe ssh sur le port 2212, il faut mettre 2212 à la place de ssh.
  • filter : le filtre à appliquer. La liste des filtres est dans /etc/fail2ban/filter.d. Il est possible d’en créer soi-même.
  • logpath : le chemin du fichier de log à analyser
  • maxretry : le nombre maximum de tentatives par une IP dans le laps de temps findtime

Il est également possible d’envoyer un mail dès qu’une adresse IP est bannie. Pour cela, il faut ajouter les lignes suivantes :

  • destemail définit le destinataire du mail
  • action définit l’action à effectuer lors d’un blocage. action = %(action_)s est l’action par défaut, elle se contente de bloquer l’IP. action = %(action_mw) envoie un mail à chaque bannissement. action = %(action_mwl) envoie un mail avec les logs.

Une fois la configuration modifiée, il faut la recharger :

Pour voir le nombre de prisons lancées :

Et pour surveiller le fonctionnement d’une prison :

Les filtres qui me paraissent importants à mettre en place sont les suivants :

  • ssh
  • apache-phpmyadmin
  • apache-noscript
  • anti-w00tw00t

Sources :

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

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