Fail2ban est un outil qui permet d’être alerté et de se protéger des attaques de types bruteforce. Ce programme analyse les logs du système à la recherche d’expressions qui indiqueraient une tentative d’attaque par dictionnaire.

Si un type d’expression prédéfini est trouvé une action est lancée. L’adresse IP source de l’attaque est bloquée par une règle iptables. Un mail peut être envoyé à l’administrateur avec des informations supplémentaires sur l’origine de la menace.

Installation

Très simplement comme toujours :)

apt-get install fail2ban

ou

aptitude install fail2ban

Configuration

La configuration par défaut est située dans le fichier /etc/fail2ban/jail.conf. Il n’est cependant pas recommandé de modifier ce fichier directement. Copier ce fichier et renommer le jail.local :

cp -a /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Les options principales sont les suivantes :

  • ignoreip : ne pas tenir compte des adresses IP définis par cette option
  • bantime : temps de bannissement en seconde
  • maxretry : nombre de tentatives autorisées avec bannissement

Un exemple de fichier de configuration Fail2ban

Les services

Par défaut seule la protection de ssh est activée. Mais il est possible de surveiller bien d’autres services. Voici par exemple les sections pour postfix et courrier :

[postfix]
enabled  = true
port = smtp,ssmtp
filter = postfix
logpath = /var/log/mail.log
[courierauth]
enabled = true
port = smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s
filter = courierlogin
logpath = /var/log/mail.log

Conclusion

Sa simplicité d’utilisation et sa flexibilité font de Fail2ban une application indispensable pour se prémunir des attaques par bruteforce.
Voici un exemple de mail envoyé suite à une détection d’attaque : fail2ban : postfix banned

Liens vers les ressources sur fail2ban :

Additious