Débannir une IP avec Fail2BAn

Xavier Mustin

Administrator
Staff member
#1
Quand on a son serveur personnel, fail2ban fait partie des indispensables à installer. Ce démon scrute les logs (que ce soient les logs ssh, apache, etc…) à la recherche des tentatives de connexion infructueuses et peut ainsi bannir une IP si nécessaire. Concrètement, dans le cas d’une tentative de connexion par ssh qui échouerait 3 fois d’affilés (ces paramètres sont configurables), l’IP de la machine à l’origine de ces tentatives aura droit à une belle règle iptable de façon à lui bloquer complètement la connexion via le port 22 pour une durée donnée (5 minutes ou 3000 ans, c’est vous qui choisissez!). Bref, pour vous donner une idée, sur mon serveur je bloque en moyenne 5 IP par jour. Les tentatives sont faites en général via ssh avec des logins comme « root » ou « login » et des mots de passes évidemment faux!
Quoi qu’il en soit, il peut arriver qu’une IP vous appartenant soit bloquée. Ça peut arriver par exemple dans le cas où la connexion à ssh via login/password est activée (et pas uniquement par clé publique/privée) et où vous tentez de vous connecter à votre serveur depuis le boulot en vous trompant de login parce que vous en avez à la pelle vu le nombre de machines que vous utilisez. Du coup, vous tentez 3 fois votre mot de passe sans vous apercevoir que votre login n’est pas bon… et hop! Banni pour un an! (True story!)
Il devient alors pratique, une fois rentré à la maison, de se « débannir », de bloquer la connexion ssh via login/password et d’ajouter sa clé publique pour ne plus avoir de soucis. Mais comment se débannir? Comme ceci :
Admettons que vous ayez été banni à partir de tentatives infructueuses de connexion à ssh. Pour lister les IP bannies, il vous faudra lancer dans un premier temps la commande suivante :
Code:
$ sudo iptables -L fail2ban-ssh
Chain fail2ban-ssh (1 references)
target prot opt source destination
DROP 0 -- 66.249.92.104 anywhere
DROP 0 -- 91.189.90.40 anywhere
DROP 0 -- 207.46.170.123 anywhere
RETURN all -- anywhere anywhere
Bien que la « mise en page » ne le laisse pas paraitre, il s’agit ici d’un tableau dont les en-têtes sont « target », « prot », … Il suffit alors de noter à quelle ligne du tableau apparait votre adresse IP. Considérons que vous souhaitez débloquer 91.189.90.40. Cette IP apparait à la ligne 2. Il ne reste plus qu’à exécuter la commande suivante :
Code:
$ sudo iptables -D fail2ban-ssh 2
Votre IP sera bien supprimée des règles iptables, vous autorisant à nouveau à vous connecter en ssh!







Dans le Cas de ISPConfig 3:

Code:
iptables -D fail2ban-ssh 1
 
Haut