Fail2aBan est un logiciel qui permet de protéger son serveur linux contre les tentatives de BruteForce. Il fonctionne en analysant les logs du système. Si X tentatives d'authentification échouent, Fail2Ban bannit l'IP pour une durée déterminée.
Il est possible de définir le nombre de tentatives ratées avant bannissement, ainsi que la durée de ce bannissement.
Fail2Ban permet de protéger bon nombre de services : SSH, FTP (vsftp, proftpd, pure-ftpd…), xinetd, http (apache), SMTP (Postfix, dovecot..). La protection de ces services est à paramétrer via le fichier
/etc/fail2ban/jail.conf
Pour voir les adresses IP bannies par Fail2Ban, il convient simplement de lister les règles d'iptables avec la commande suivante :
iptables -L
Il est également possible d'afficher les adresses bloquées pour un service en particulier. Pour cela, il faut préciser le nom du service dans la commande. Voici quelques exemples :
iptables -L fail2ban-ssh
iptables -L fail2ban-pure-ftpd
iptables -L fail2ban-apache
Il n'est pas exclu qu'un jour vous vous trompiez de mot de passe à plusieurs reprises et que votre adresse IP soit bannie. Cela peut notamment être le cas si vous avez défini un nombre de tentative très faible (par exemple 2 ou 3). Dans ce cas, il faudra se connecter à la machine depuis une autre adresse IP et supprimer la règle de bannissement.
La première étape consiste à identifier l'adresse IP à débannir dans les règles iptables. Pour cela, on utilise les commandes expliquées ci-dessus :
iptables -L fail2ban-ssh
Le résultat obtenu est en réalité un tableau, comme ceci :
target | prot | opt | source | destination |
---|---|---|---|---|
DROP | all | – | 12.248.108.106 | anywhere |
DROP | all | – | 117.21.225.3 | anywhere |
DROP | all | – | 171.232.51.179 | anywhere |
Pour débannir une IP, il faut donc identifier la ligne à supprimer. Par exemple, si l'on souhaite débannier l'adresse 171.232.51.179, il suffit d'entrer la commande suivante dans un terminal :
iptables -D fail2ban-ssh 3