Quoi de plus agaçant que de se retrouver banni d’un de ses serveurs par Fail2ban ?
Heureusement, il est possible de retirer une adresse IP bannies de fail2ban facilement.
De plus, vous pouvez même ajouter l’adresse IP en liste blanche, via une liste d’ignoreip.
Dans ce tutoriel, je vous montre comment débannir une adresse IP de Fail2ban.
Ensuite, je vous montre comment ajouter une adresse IP en liste blanche pour éviter qu’elle ne soit bannie à nouveau.
Table des matières
Comment débannir une adresse IP sur Fail2ban
Débannir une adresse IP d’un jail
La première chose à faire est de lister les adresse IP bannies pour vérifier que celles qui vous intéressent s’y trouvent.
Pour afficher les dernières IP bannies, vous pouvez consulter les logs, par exemple avec la commande tail.
Pour lister les 20 dernières lignes :
tail -20 /var/log/fail2ban.log
Mais la meilleure méthode reste d’utiliser fail2ban-client.
Il est possible d’interroger un JAIL afin den obtenir les adresses IP bannies.
Pour cela, on utilise la syntaxe suivante :
fail2ban-client get <JAIL> banip
Par exemple pour lister les adresses IP bannies du jail sshd :
fail2ban-client get sshd banip
Une fois que vous avez la confirmation que l’adresse IP qui vous intéresse est présente, vous pouvez la retirer de la liste blocage fail2ban.
Pour cela, on utilise la commande unbanip de fail2ban-client de cette manière :
fail2ban-client set <JAIL> unbanip
Par exemple si je veux retirer 73.159.129.126 de la prison sshd, j’utilise la commande suivante :
fail2ban-client set sshd unbanip 73.159.129.126
1
Lorsque l’opération a réussi fail2ban-client retourne 1, sinon ce sera 0.
Débannir les adresses IP de tous les jails
Il existe deux autres commandes qui fonctionnent de manière globale et ne sont pas liés à un jail en particulier.
La commande suivante vous permet de débannir de tous les jails à la fois.
fail2ban-client unban <IP>
Par exemple pour retirer 185.151.51.35 de tous les jails :
fail2ban-client unban 185.151.51.35
1
Enfin si vous souhaitez vider l’intégralité des IP bannies, utilisez l’option –all comme ceci :
fail2ban-client unban --all
Comment ajouter une adresse IP en liste blanche sur Fail2ban
Vous avez réussi à retirer une adresse IP de Fail2ban mais comment éviter qu’il ne la rebannisse ?
Pour cela, il existe un système de liste blanche (ou whistelist) qui permet d’ignorer une adresse IP.
avec fail2ban-client
Pour ajouter une adresse IP à la liste blanche, utilisez la commande addignoreip :
fail2ban-client set <JAIL> addignoreip <IP>
Par exemple pour ajouter 185.151.51.35 à la liste blanche sur le jail sshd :
fail2ban-client set sshd addignoreip 185.151.51.35
Notez que fail2ban prend aussi les masques de sous réseau.
Par exemple, vous pouvez ajouter un masque de sous réseau de 24 :
fail2ban-client set sshd addignoreip 185.151.51.0/24
La commande renvoie à chaque fois la liste des adresse IP dans la liste blanche.
Mais pour vérifier que l’ajout est bien pris en compte, utilisez la commande get ignoreip comme ceci :
fail2ban-client get sshd ignoreip
Si vous désirez retirer l’adresse IP de la liste blanche, on utilise la commande delignoreip de la même manière
fail2ban-client set <JAIL> delignoreip <IP> removes <IP>
Ce qui nous donne dans notre exemple :
fail2ban-client set sshd delignoreip 185.151.51.35
En modifiant la configuration du jail
Une autre façon de procéder est de modifier la configuration du jail.
Cela est plus risqué car vous pouvez faire des erreurs.
Pour cela, on utilise l’entrée ignoreip.
Celle-ci peut prendre plusieurs adresse IP séparées par des virgules et aussi des masques de sous-réseau.
Par exemple :
ignoreip=185.151.51.0/24,73.159.129.126
La configuration du jail se trouve à deux emplaces :
- /etc/fail2ban/jail.conf – le fichier de configuration des jails
- /etc/fail2ban/jail.d//.conf – si vous avez ajouté vos propres prisons
Voici un exemple de la section [sshd] de jail.conf où l’on peut ajouter l’entrée ignoreip.
Relancez le daemon par exemple avec systemctl :
systemctl reload fail2ban
Enfin pour vérifier que l’adresse IP est bien en liste blanche dans le jail sshd :
fail2ban-client get sshd ignoreip