Les interdictions sont généralement effectuées sur les adresses IP via votre pare-feu, vous devez donc consulter les règles du pare-feu.
Julie Pelletier
Oui je sais. mais je veux effacer toutes les interdictions sans dire d'adresse IP
Patrick
Réponses:
26
Réponse mise à jour
Depuis la version 0.10.0 fail2ban-client, la unbancommande peut être utilisée de deux manières:
unban --all unbans all IP addresses (in all
jails and database)
unban <IP> ... <IP> unbans <IP> (in all jails and
database)
De plus, les restart <JAIL>, reload <JAIL>et les reloadcommandes ont maintenant également l' --unbanoption.
Ancienne réponse
fail2ban utilise iptablespour bloquer le trafic. Si vous souhaitez voir les adresses IP actuellement bloquées, tapez
iptables -L -n
et recherchez les différentes chaînes nommées fail2ban-something, où somethingpointe vers la prison fail2ban (par exemple, Chain f2b-sshdfait référence à la prison sshd). Si vous ne souhaitez supprimer que le bloc d'une seule adresse IP <IP>pour une prison donnée <JAIL>, fail2ban propose son propre client:
fail2ban-client set <JAIL> unbanip <IP>
Vous pouvez également utiliser des numéros de ligne. D'abord, listez les iptablesrègles avec des numéros de ligne:
iptables -L -n --line-numbers
Ensuite, vous pouvez utiliser
iptables -D fail2ban-somejail <linenumber>
pour supprimer une seule ligne du tableau. Pour autant que je sache, il n'y a pas d'option pour sélectionner une plage de numéros de ligne, donc je suppose que vous devriez encapsuler cette commande dans une boucle for:
for lin in {200..1}; do
iptables -D fail2ban-somejail $lin
done
Ici, j'ai composé le nombre 200. Vérifiez votre propre sortie de la commande avec --line-numberset notez que la dernière ligne (avec RETURN) doit rester. Voir le commentaire de @ roaima ci-dessous pour le raisonnement derrière le compte à rebours.
Merci @roaima! Je mettrai à jour la réponse en conséquence.
ph0t0nix
1
@roaima Oui, c'est le cas (au moins en zsh et bash): echo {5..1}entraînera 5 4 3 2 1.
ph0t0nix
Tu m'as sauvé. Merci beaucoup. Veuillez ajouter une commande complète car je devais comprendre que j'ai besoin de fail2ban-client en face de votre commande. (Parce que je suis un noob)
sebastian.roibu
L'ancienne réponse est toujours en cache sur DuckDuckGo, est venue dire la même chose que @roaima - snipboard.io/0oZkXy.jpg
Ari
15
La meilleure façon de démanteler toutes les adresses IP est de définir le bantime sur 1 seconde, puis toutes les adresses IP seront libérées immédiatement.
fail2ban-client set JailName bantime 1
Après cela, vous pouvez rétablir le temps d'interdiction approprié.
Il vaut mieux laisser fail2ban faire le démantèlement pour vous. Ne modifiez pas vous-même les iptables manuellement.
C'est la seule bonne réponse ici. Fail2ban gère sa propre base de données d'interdiction qui doit être effacée indépendamment. Chaque réponse parlant de la suppression des règles iptables ignore que le moment où fail2ban est redémarré, il ajoutera à nouveau les règles que vous venez de supprimer à iptables. De plus, toutes les configurations fail2ban n'utilisent pas iptables pour implémenter les interdictions.
Cliff Armstrong
3
trouver toutes les prisons avecfail2ban-client status
Flion
Je viens d'émettre cette commande et je regarde le nombre d'adresses IP dans ma prison diminuer vers zéro alors que fail2ban traite la prison. Ça n'arrive pas vraiment très vite, mais ça va, il y avait plus de cinq mille entrées en prison. Bonne réponse!
Eric M
5
Le dernier fail2ban-client(0.10) a une unban -allcommande. Les prisons peuvent également être «redémarrées» individuellement, supprimant ainsi efficacement les interdictions.
Si vous avez une ancienne version, cette astuce peut fonctionner pour les interdictions temporaires automatiques: supprimez la prison qui contient l'interdiction, puis redémarrez fail2ban pour que la prison (maintenant vide) soit recréée.
C'est la meilleure réponse pour les versions fail2ban ci-dessous 0.10. Vous pouvez aller plus loin en créant un alias dans .bashrc comme fail2ban-purge avec un paramètre pour purger une prison entière. Remplacez simplement le mot récurrent ci-dessus par $ 1 et utilisez l'alias comme fail2ban-purge <JAIL_NAME>.
ADDISON74
2
En raison de la façon dont fail2banfonctionne, il n'y a que deux solutions possibles:
Créez un script de configuration du pare-feu qui inclut les fail2banprisons et redémarrez le pare-feu.
Supprimez les règles de pare-feu bloquant les adresses IP que vous souhaitez dissocier.
Ceci est le script que j'utilise pour démanteler toutes les adresses IP pour une prison ssh (remplacez simplement sshd occurence par le nom de la prison dont vous avez besoin ... par exemple mysqld-auth)
#!/bin/bash
j=$(iptables -L f2b-sshd | grep -c 'REJECT')
for ((i=1;i<=j;i++))
do
fail2ban-client set sshd unbanip $(fail2ban-client status sshd | grep 'Banned IP list:' | cut -c23-)
done
Réponses:
Réponse mise à jour
Depuis la version 0.10.0
fail2ban-client
, launban
commande peut être utilisée de deux manières:De plus, les
restart <JAIL>
,reload <JAIL>
et lesreload
commandes ont maintenant également l'--unban
option.Ancienne réponse
fail2ban utilise
iptables
pour bloquer le trafic. Si vous souhaitez voir les adresses IP actuellement bloquées, tapezet recherchez les différentes chaînes nommées
fail2ban-something
, oùsomething
pointe vers la prison fail2ban (par exemple,Chain f2b-sshd
fait référence à la prisonsshd
). Si vous ne souhaitez supprimer que le bloc d'une seule adresse IP<IP>
pour une prison donnée<JAIL>
, fail2ban propose son propre client:Vous pouvez également utiliser des numéros de ligne. D'abord, listez les
iptables
règles avec des numéros de ligne:Ensuite, vous pouvez utiliser
pour supprimer une seule ligne du tableau. Pour autant que je sache, il n'y a pas d'option pour sélectionner une plage de numéros de ligne, donc je suppose que vous devriez encapsuler cette commande dans une boucle for:
Ici, j'ai composé le nombre 200. Vérifiez votre propre sortie de la commande avec
--line-numbers
et notez que la dernière ligne (avecRETURN
) doit rester. Voir le commentaire de @ roaima ci-dessous pour le raisonnement derrière le compte à rebours.la source
echo {5..1}
entraînera5 4 3 2 1
.La meilleure façon de démanteler toutes les adresses IP est de définir le bantime sur 1 seconde, puis toutes les adresses IP seront libérées immédiatement.
Après cela, vous pouvez rétablir le temps d'interdiction approprié.
Il vaut mieux laisser fail2ban faire le démantèlement pour vous. Ne modifiez pas vous-même les iptables manuellement.
la source
fail2ban-client status
Le dernier
fail2ban-client
(0.10) a uneunban -all
commande. Les prisons peuvent également être «redémarrées» individuellement, supprimant ainsi efficacement les interdictions.Si vous avez une ancienne version, cette astuce peut fonctionner pour les interdictions temporaires automatiques: supprimez la prison qui contient l'interdiction, puis redémarrez fail2ban pour que la prison (maintenant vide) soit recréée.
la source
Enregistrer la configuration iptable dans un fichier
Modifiez-le avec n'importe quel éditeur que vous souhaitez puis chargez la configuration sur iptables
N'oubliez pas de stocker la configuration dans iptables afin qu'elle soit récupérée au redémarrage
la source
1. l'arrêt du service nettoiera toutes les règles ajoutées par fail2ban
service fail2ban stop
2. si vous n'avez pas d'autre règle iptables, vous pouvez la vider
iptables -F
soyez prudent: cela effacera toutes les autres règles de vos iptables.
la source
voici une simple ligne pour démanteler toute la prison fail2ban de la bonne façon:
REMARQUE: la commande iptables prend le préfixe "f2b-" avant le nom de la prison tandis que "fail2ban-client" le vrai nom de la prison
la source
En raison de la façon dont
fail2ban
fonctionne, il n'y a que deux solutions possibles:fail2ban
prisons et redémarrez le pare-feu.la source
Ceci est le script que j'utilise pour démanteler toutes les adresses IP pour une prison ssh (remplacez simplement sshd occurence par le nom de la prison dont vous avez besoin ... par exemple mysqld-auth)
la source