311 votes

Comment débanner une IP correctement avec Fail2Ban

J'utilise Fail2Ban sur un serveur et je me demande comment débanner une IP correctement.

Je sais que je peux travailler directement avec IPTables : iptables -D fail2ban-ssh <number>

Mais n'y a-t-il pas un moyen de le faire avec la fonction fail2ban-client ?

Dans les manuels, il est dit quelque chose comme : fail2ban-client get ssh actionunban <IP> . Mais ça ne marche pas.

Aussi, je ne veux pas /etc/init.d/fail2ban restart car cela ferait perdre toutes les interdictions de la liste.

0 votes

Je me suis accidentellement verrouillé lorsque j'ai essayé de me connecter à mon VPS Linode, donc maintenant je dois arrêter Fail2Ban via la console web pour me connecter avec PuTTY. J'espère que l'interdiction n'est pas permanente car je veux continuer à me connecter sans avoir à désactiver fail2ban.

1 votes

@HeavenlyHarmony une façon d'éviter cela à l'avenir est de configurer votre prison afin d'inclure votre adresse IP dans le fichier ignoreips valeur. J'ai ajouté mes deux points de sortie VPN ainsi que les plages SPF pour le réseau de Google, puisque la boîte qui exécute fail2ban est une instance GCP Compute. L'ajout de votre adresse IP à cette ignoreips vous permettra d'exécuter n'importe quelle commande infâme sans vous bannir.

0 votes

Notez que cette question est très ancienne maintenant, et elle utilisait un système pré-Systemd.

441voto

alcortes Points 795

Avec Fail2Ban avant la v0.8.8 :

fail2ban-client get YOURJAILNAMEHERE actionunban IPADDRESSHERE

Avec Fail2Ban v0.8.8 et plus :

fail2ban-client set YOURJAILNAMEHERE unbanip IPADDRESSHERE

La partie la plus difficile est de trouver la bonne prison :

  1. Utilisez iptables -L -n pour trouver le nom de la règle...
  2. ...puis utiliser fail2ban-client status | grep "Jail list" | sed -E 's/^[^:]+:[ \t]+//' | sed 's/,//g' pour obtenir les noms réels des prisons. Le nom de la règle et celui de la prison peuvent ne pas être identiques, mais il doit être possible de déterminer clairement à qui ils sont liés.

2 votes

Si vous avez l'erreur suivante 'Invalid Action name' , lire cette réponse

45 votes

Avec les versions récentes de fail2ban vous devriez utiliser fail2ban-client set JAIL_NAME unbanip 1.2.3.4 .

2 votes

Quel est le nom de la prison par défaut ? /etc/fail2ban/jail.conf ne fonctionne pas pour moi.

103voto

user157436 Points 911

Depuis la v0.8.8, il y a la unbanip option ( actionunban n'est pas destiné à cet usage) Il peut être déclenché par le set si vous regardez la liste des options, vous verrez que la syntaxe est. Ce sera donc (par cœur, merci de vérifier) :

fail2ban-client set ssh-iptables unbanip IPADDRESSHERE 

plus générique :

fail2ban-client set JAILNAMEHERE unbanip IPADDRESSHERE

fonctionne pour moi

3 votes

La commande unbanip a été ajoutée dans la version 0.8.8. La meilleure solution si vous utilisez la version 0.8.8 ou ultérieure.

1 votes

Le problème lié à cela dans le tracker fail2ban est le suivant : github.com/fail2ban/fail2ban/issues/132

0 votes

C'est la réponse correcte pour les versions actuelles. merci !

97voto

Amaroc Points 881

Exemple pour SSH en mode interactif.

dans bash :

fail2ban-client -i

puis en mode interactif tapez lire le statut d'une prison :

status sshd

vous obtiendrez :

Status for the jail: ssh
|- Filter
|  |- Currently failed: 0
|  |- Total failed: 6
|  `- File list:    /var/log/auth.log
`- Actions
   |- Currently banned: 1
   |- Total banned: 2
   `- Banned IP list:   203.113.167.162

puis tapez en mode interactif fail2ban :

set sshd unbanip 203.113.167.162

vous obtiendrez :

203.113.167.162

cela signifie ne plus 203.113.167.162 dans la liste des interdictions.

4 votes

Pour moi, le nom de la prison était sshd (Ubuntu 16)

0 votes

Sur le mien, c'est marqué "interdit total" : 6, mais la liste sous ip banni est juste vide :( je dois chercher dans les logs

0 votes

La réponse n'est pas cohérente avec l'exemple fourni. Le site set sshd ne peut pas fonctionner si la prison est appelée ssh sans traîner d AFAIK.

21voto

ingo Points 211

La réponse d'Ukoda est fausse :

Appelez fail2ban-client sans paramètres et vous voyez une liste de commandes possibles :

get JAIL actionunban ACT             

Cela permet d'obtenir la commande de débannissement pour l'action ACT pour JAIL.

Regardez le paramètre action du jail que vous avez défini, vous avez probablement une action iptables et peut-être d'autres comme sendmail, whois ou autre. donc dans le cas où votre action était iptables cela ressemblera à ceci :

fail2ban-client get JAIL actionunban iptables

et la réponse sera :

iptables -D fail2ban-NAME -s IP -j DROP

Il vous montrera seulement ce que vous devriez écrire pour un déban. Il n'y a pas de commande de débannement proprement dite.

4 votes

Ouais, ça a marché pour moi, pour débloquer de la prison SSH. iptables -D fail2ban-ssh -s <IP> -j DROP . Merci ingo !

13voto

kashiraja Points 171

Si vous utilisez la version v0.10.2 :

sudo fail2ban-client unban VOTRE_ADRESSE_IP

C'est de l'aide :

unban <IP> ... <IP> unbans <IP> (in all jails and database)

Il a été confirmé que cela fonctionne dans mon cas, alors que j'ai probablement été banni à cause d'un client ssh qui s'est connecté à plusieurs reprises avec un mauvais mot de passe.

2 votes

Voici la réponse la plus récente

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X