web-dev-qa-db-fra.com

Comment annuler une IP correctement avec Fail2Ban

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

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 indique quelque chose comme: fail2ban-client get ssh actionunban <IP>. Mais ça ne marche pas.

De plus, je ne veux pas /etc/init.d/fail2ban restart car cela perdrait toutes les interdictions de la liste.

214
psp

Avec Fail2Ban avant v0.8.8:

fail2ban-client get YOURJAILNAMEHERE actionunban IPADDRESSHERE

Avec Fail2Ban v0.8.8 et versions ultérieures:

fail2ban-client set YOURJAILNAMEHERE unbanip IPADDRESSHERE

La partie difficile est de trouver la bonne prison:

  1. Utilisation iptables -L -n pour trouver le nom de la règle ...
  2. ... puis utilisez fail2ban-client status pour obtenir les noms réels des prisons. Le nom de la règle et le nom de la prison peuvent ne pas être identiques, mais il doit être clair lequel est lié à quel.
306
ukoda

Depuis la v0.8.8 il y a l'option unbanip (actionunban n'est pas prévue à cet effet) Elle peut être déclenchée par la commande set, si vous regardez la liste des options , vous verrez que la syntaxe est. Ce sera donc (par cœur, veuillez vérifier):

fail2ban-client set ssh-iptables unbanip IPADDRESSHERE 

plus générique:

fail2ban-client set JAILNAMEHERE unbanip IPADDRESSHERE

travaille pour moi

85
user157436

Exemple pour SSH en mode interactif.

tapez bash:

fail2ban-client -i

puis en mode interactif saisissez l'état 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 signifie plus 203.113.167.162 dans la liste des interdictions.

62
Amaroc

La réponse d'Ukoda est fausse:

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

get JAIL actionunban ACT             

Cela obtient la commande unban pour l'action ACT for JAIL.

Regardez le paramètre d'action de la prison que vous avez définie, vous avez probablement une action iptables et peut-être plus comme sendmail, whois ou autre. donc si 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 ne vous montrera que ce que vous auriez à écrire pour un démantèlement. Il n'y a pas de commande de démembrement elle-même.

21
ingo

Si 192.168.2.1 est interdit

Sudo iptables -L

Vérifiez dans quelle chaîne il est interdit, par ex.

Chaîne fail2ban-sasl (1 références)

DROP all - 192.168.2.1 n'importe où

Alors:

# 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
10
Lionel Broes

Vous devez d'abord obtenir le nom de la prison. Vous pouvez obtenir la liste (dans la plupart des cas, ce ne sera que de 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 IP est dans la liste des ignorés, vous pouvez le supprimer via:

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

Supprimez votre entrée d'hôte:

fail2ban-client reload
4
zainengineer

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
3
take

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

fail2ban-client get jail actionunban ipaddress

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

unbanip
2
Pol Hallen
fail2ban-client set sshd unbanip ip_here

travaillerait.

2
abhijithvijayan

Si une adresse IP est dans plusieurs prisons, cela devient pénible.

une ligne 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 de même https://Gist.github.com/yolabingo/c810db6fe7f8bfcb9eb4f6ffc531e474

1
yolabingo

Si vous exécutez 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 fonctionner dans mon cas lorsque j'ai probablement été banni en raison de la connexion répétée du client ssh avec un mot de passe incorrect.

0
kashiraja