Fail2Ban - Bannir automatiquement les intrus

Cet article a été mis à jour, vous consultez ici une archive de cet article!

Qu'est ce que fail2ban



fail2ban est un logiciel qui se charge d'analyser les logs de divers services installés sur la machine, pour bannir automatiquement un hôte via iptables pour une durée déterminée, en cas d'échec après X tentatives.
C'est un élément essentiel pour sécuriser son système, et éviter des intrusions via brute-force.

Installer fail2ban



Pour installer fail2ban, installer le paquet fail2ban

Code BASH :
apt-get install fail2ban


Voila, fail2ban est installé.


Il faut maintenant le configurer pour les différents services.


Configurer les services



Les services se configurent dans le fichier /etc/fail2ban/jail.conf
La section [DEFAULT] indique les prises de décisions par fail2ban si dans chaque service rien n'est défini
Code :
ignoreip = 127.0.0.1/8            #adresses IP ignorées par les actions de fail2ban
bantime  = 600                   #temps de bannissement en secondes
maxretry = 3                      #nombre d'essais au bout du quel fail2ban bannit notre intrus


SSH



Nous allons configurer fail2ban pour bannir les intrus passant par ssh.

Voici un exemple de service actif, intrus banni au bout de 3 essais pour une durée de 15 minutes.
Code :
[ssh]

enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 3
bantime  = 900



Test de la configuration



Sur le serveur on lance un tailf /var/log/fail2ban.log.
On tente de se connecter en SSH (dans mon exemple) plus de 2 fois et on vérifie qu'on est bien banni:

Code :
2012-12-27 21:48:14,802 fail2ban.jail   : INFO   Jail 'ssh' started
2012-12-27 21:50:45,980 fail2ban.actions: WARNING [ssh] Ban 192.168.1.24