Comment annuler une adresse IP correctement avec Fail2Ban

200

J'utilise Fail2Ban sur un serveur et je me demande comment libérer une adresse IP correctement.

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

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

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

En outre, je ne veux pas, /etc/init.d/fail2ban restartcar cela ferait perdre toutes les interdictions de la liste.

psp
la source

Réponses:

278

Avec Fail2Ban avant la v0.8.8:

fail2ban-client get YOURJAILNAMEHERE actionunban IPADDRESSHERE

Avec Fail2Ban version 0.8.8 et ultérieure:

fail2ban-client set YOURJAILNAMEHERE unbanip IPADDRESSHERE

Le plus difficile est de trouver la bonne prison:

  1. Utilisez iptables -L -npour trouver le nom de la règle ...
  2. ... puis utilisez fail2ban-client statuspour obtenir les noms de prison réels. Le nom de la règle et le nom de la prison ne sont peut-être pas les mêmes, mais vous devez savoir lequel est lié à qui.
ukoda
la source
2
Si vous avez l'erreur suivante 'Invalid Action name', lisez cette réponse
Morgan Courbet Le
32
Avec les versions récentes de fail2banvous devriez utiliser fail2ban-client set JAIL_NAME unbanip 1.2.3.4.
mardi
1
Quel est le nom de la prison par défaut? /etc/fail2ban/jail.confça ne marche pas pour moi.
Alex W
1
Vous pouvez trouver le nom de la prison dans le journal fail2ban si vous recherchez votre adresse IP
fred727
7
sshd était le nom de la prison pour moi.
Agustaf
82

Depuis la version 0.8.8, il y a l' unbanipoption (ce actionunbann'est pas pour cela). Elle peut être déclenchée par la setcommande. Si vous regardez la liste des options, vous verrez que la syntaxe est. Donc ce sera (par coeur, s'il vous plaît vérifier):

fail2ban-client set ssh-iptables unbanip IPADDRESSHERE 

plus générique:

fail2ban-client set JAILNAMEHERE unbanip IPADDRESSHERE

travaille pour moi

utilisateur157436
la source
3
La commande unbanip a été ajoutée à la version 0.8.8. La meilleure solution si vous utilisez 0.8.8 ou une version ultérieure.
Alexander Garden
1
La question liée à cela dans le tracker fail2ban est la suivante: github.com/fail2ban/fail2ban/issues/132
aseques le
c'est la bonne réponse pour les versions actuelles. Merci!
Billynoah
"Commande invalide (aucune action définie ou encore non implémentée)"
Tom
vous devez indiquer le nom de jail correct (par exemple, sshd ou sshd-dos, consultez votre journal fail2ban)
mirage
53

Exemple pour SSH en mode interactif.

tapez bash:

fail2ban-client -i

puis en mode interactif, lisez le statut d'une prison:

status sshd

tu auras:

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

tu auras:

203.113.167.162

cela ne signifie plus 203.113.167.162dans la liste d'interdiction.

Amaroc
la source
3
Pour moi, le nom de la prison était sshd(Ubuntu 16)
scipilot
Sur le mien, il dit interdit au total: 6, mais la liste sous IP interdite est tout simplement vide :( doivent chemin à travers les journaux
William Hilsum
21

La réponse de ukoda est fausse:

Appelez fail2ban-clientsans paramètres et vous verrez une liste de commandes possibles:

get JAIL actionunban ACT             

Ceci obtient la commande unban pour l'action ACT pour JAIL.

Examinez le paramètre d'action de la prison que vous avez définie. Vous avez probablement une action iptables et peut-être une autre comme sendmail, whois ou autre. Donc, si votre action était iptables, elle ressemblera à ceci:

fail2ban-client get JAIL actionunban iptables

et la réponse sera:

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

Cela ne vous montrera que ce que vous auriez à écrire pour unban. Il n'y a pas de commande unban elle-même.

ingo
la source
3
Ouais, ça a marché pour moi, sortir de la prison de SSH iptables -D fail2ban-ssh -s <IP> -j DROP. Merci ingo!
Deele
8

Si 192.168.2.1 est banni

sudo iptables -L

Vérifiez par exemple quelle chaîne est interdite

Chain fail2ban-sasl (1 références)

DROP all - 192.168.2.1 n'importe où

Ensuite:

# to view the proper command for un-banning
sudo fail2ban-client get sasl actionunban
# actual command
iptables -D fail2ban-sasl -s 192.168.2.1 -j DROP
Lionel Broes
la source
4

Vous devez d'abord obtenir le nom de la prison. Vous pouvez obtenir la liste (dans la plupart des cas, ce sera seulement la prison ssh):

fail2ban-client status

Après avoir obtenu le nom de la prison, vous pouvez vérifier quelles adresses IP sont ignorées.

fail2ban-client get ssh ignoreip

Si votre adresse IP est dans la liste des ignorés, vous pouvez la supprimer via:

fail2ban-client set ssh delignoreip your_ip_address
vi /etc/hosts.deny

Supprimez votre entrée d'hôte:

fail2ban-client reload
zainengineer
la source
2
La liste Ignorer est une liste d'adresses IP à ne jamais bannir. Cela n'a absolument aucun rapport avec la liste des adresses IP actuellement interdites, c'est-à-dire la liste pour laquelle OP souhaite supprimer une adresse IP.
jlh
3

Utilisation de fail2ban v.0.8.6:

$ sudo fail2ban-client status # to reveal your JAIL name (mine is ssh)
$ sudo fail2ban-client set ssh delignoreip your_ip_address
$ sudo nano /etc/hosts.deny # delete your ip address
$ sudo fail2ban-client reload
prendre
la source
Cela suppose que l'action a été hosts.deny utilisé .... Mais il est encore plus utile que les choses qui tentent de changer la méthode des adresses IP unbanning sur les anciennes versions en utilisant actionunban...
den Berg Gert van
L' delignoreipaction ne supprime pas une adresse IP d'une interdiction, elle supprime une adresse IP de la liste des adresses IP ignorées (autrement dit, une adresse IP qui ne sera jamais bannie).
Tonin le
2

malheureusement avec la version 0.8.2 de fail2ban-client, la commande:

fail2ban-client get jail actionunban ipaddress

ne court pas. Pour résoudre le problème, le meilleur choix est de mettre à niveau fail2ban vers la dernière version et d'utiliser la nouvelle option:

unbanip
Pol Hallen
la source
2
fail2ban-client set sshd unbanip ip_here

travaillerait.

abhijithvijayan
la source
1

Si une adresse IP est dans plusieurs prisons, cela devient une douleur.

one-liner pour supprimer 192.168.1.2 de toutes les prisons:

 for jail in $(fail2ban-client status | grep 'Jail list:' | sed 's/.*Jail list://' | sed 's/,//g'); do fail2ban-client set $jail unbanip 192.168.1.2; done

un script pour faire la même chose https://gist.github.com/yolabingo/c810db6fe7f8bfcb9eb4f6ffc531e474

Yolabingo
la source
0

Si vous utilisez la version v0.10.2:

sudo fail2ban-client unban YOUR_IP_ADDRESS

C'est de l'aide:

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

Confirmé de travailler dans mon cas quand je suis probablement banni en raison de la connexion répétée du client SSH avec un mot de passe incorrect.

Kashiraja
la source