Fail2ban : comment débannir une ou plusieurs adresses IP ?
I. Présentation
Lorsqu'il s'agit de protéger un serveur, l'outil Fail2ban est un très bon choix notamment pour se protéger des attaques par brute force. Lorsque l'on fait des essais ou dans le cas d'un faux positif, c'est utile de savoir comment débannir une adresse IP de la blacklist Fail2ban. C'est ce que nous allons voir dans ce tutoriel.
II. Débannir une IP avec fail2ban-client
Dès lors qu'une adresse IP est bannie, une règle de pare-feu est créée sur la machine locale pour empêcher la machine de communiquer avec l'hôte protégée pendant un temps donné.
Pour chaque jail de Fail2ban, il est possible d'afficher la liste des adresses IP bannies grâce à la commande fail2ban-client et l'option "status". En fait, il faut afficher le statut du jail en question, par exemple pour le jail nommé "jail-ssh" :
# fail2ban-client status jail-ssh
Cette commande va retourner le résultat suivant :
Status for the jail: jail-ssh
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- File list: /var/log/sshd.log
`- Actions
|- Currently banned: 4
|- Total banned: 2021
`- Banned IP list: 10.10.10.10 11.11.11.11 12.12.12.12 13.13.13.13
Dans cette sortie, il y a deux informations qui sont particulièrement intéressantes par rapport à ce que l'on cherche à faire :
- Currently banned : le nombre d'adresses IP actuellement bannies par ce jail
- Banned IP List : la liste des adresses IP actuellement bannies
D'ailleurs, on peut visualiser également ces adresses IP en affichant les règles de pare-feu actives sur la machine. Pour iptables, ce sera la commande suivante et vous aurez ensuite une chaine iptables par jail :
iptables -L
Si vous ne savez pas quel est le jail qui a banni l'adresse IP en question, vous pouvez effectuer une recherche dans le fichier de log fail2ban.log. Voici un exemple pour rechercher l'adresse IP "10.10.10.10" :
cat /var/log/fail2ban.log | grep "10.10.10.10"
Grâce à la commande fail2ban-client, on va pouvoir débannir une ou plusieurs adresses IP. L'intérêt de faire la commande précédente qui donne la liste complète des adresses IP bannies, c'est de pouvoir faire un copier-coller. On va utiliser l'option "unbanip" suivie d'une ou plusieurs adresses IP.
Pour débannir l'adresse IP "10.10.10.10" bannie par notre jail "jail-ssh", voici la commande à utiliser :
fail2ban-client set jail-ssh unbanip 10.10.10.10
S'il y a plusieurs adresses IP à débannir, on va les préciser les unes après les autres avec un espace en guise de séparateur. Par exemple :
fail2ban-client set jail-ssh unbanip 10.10.10.10 11.11.11.11
En retour, la commande indiquera le nombre d'adresses IP débannies. Cette manipulation représente la manière propre de débannir une adresse IP, plutôt que de supprimer la règle de pare-feu directement.
Je suis ban Ip sur Snapchat