Comment puis-je supprimer toutes les interdictions fail2ban dans Ubuntu? Jai tout essayé mais je ne comprends pas.

Je veux simplement supprimer toutes les interdictions – mais je ne connais aucune adresse IP.

Commentaires

  • Les interdictions sont généralement effectuées sur les adresses IP via votre pare-feu, vous devriez donc regarder les règles du pare-feu.
  • oui je sais. mais je veux effacer toutes les interdictions sans indiquer dadresse IP
  •  » Jai tout essayé  » non, vous navez ‘ t. Quavez-vous essayé?

Réponse

Réponse mise à jour

À partir de la version 0.10. 0 fail2ban-client contient la commande unban qui 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 commandes restart <JAIL>, reload <JAIL> et reload ont désormais également loption --unban.

Ancienne réponse

fail2ban utilise iptables pour bloquer le trafic. Si vous souhaitez voir les adresses IP qui sont actuellement bloquées, tapez

iptables -L -n 

et 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 prison sshd). Si vous ne souhaitez supprimer le bloc que pour 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. Commencez par lister les règles iptables avec les 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 ny a pas doption pour sélectionner une plage de numéros de ligne, donc je suppose que vous devriez envelopper cette commande dans une boucle for:

for lin in {200..1}; do iptables -D fail2ban-somejail $lin done 

Ici, jai inventé le nombre 200. Vérifiez votre propre sortie de la commande avec --line-numbers et notez que la dernière ligne (avec RETURN) doit rester. Voir le commentaire de @roaima ci-dessous pour le raisonnement derrière le décompte.

Commentaires

  • Vous mavez sauvé. Merci beaucoup. Veuillez ajouter une commande complète parce que je devais comprendre que javais besoin de fail2ban-client en marge de votre commande. (Parce que je suis un noob)

Réponse

La meilleure façon de débloquer toutes les adresses IP est de définir le bantime sur 1 seconde, puis toutes les adresses IP seront immédiatement libérées.

fail2ban-client set JailName bantime 1 

Après cela, vous pouvez définir le temps de bannissement approprié.

Il est préférable de laisser fail2ban faire le retrait pour vous. Ne modifiez pas manuellement iptables vous-même.

Commentaires

  • Cest la seule réponse correcte ici. Fail2ban gère sa propre base de données dinterdiction qui doit être effacée indépendamment . Chaque réponse concernant la suppression des règles iptables ignore quau moment du redémarrage de fail2ban, elle rajoutera les règles que vous venez de supprimer à iptables. De plus, toutes les configurations de fail2ban nutilisent pas iptables pour implémenter les interdictions.
  • trouver toutes les prisons avec fail2ban-client status
  • Je viens démettre cette commande et je regarde le nombre dadresses IP dans ma prison diminuer vers zéro alors que fail2ban traite la prison. Ce nest pas le cas se passe vraiment très vite, mais ‘ est OK, il y avait plus de cinq mille entrées dans la prison. Bonne réponse!

Réponse

Le dernier fail2ban-client (0,10) a une commande unban -all. Les prisons peuvent également être « redémarrées » individuellement, effecti Si vous avez une version plus ancienne, cette astuce pourrait fonctionner pour les interdictions temporaires automatiques: supprimez la prison qui contient linterdiction puis redémarrez fail2ban afin que la prison (maintenant vide) soit recréée.

$ fail2ban-client stop sshd Jail stopped $ systemctl restart fail2ban 

Commentaires

  • -all ou -all? Ou –all?

Réponse

  1. Larrêt du service nettoiera toutes les règles ajoutées par fail2ban

    service fail2ban stop 
  2. Si vous navez pas dautres règles iptables, vous pouvez la vider

    iptables -F 

Attention: cela effacera toutes les autres règles de vos iptables .

Commentaires

  • Il suffit de sarrêter puis de recommencer.

Réponse

Enregistrer la configuration iptable dans le fichier

$ iptables-save > iptables.conf 

Modifiez-le avec nimporte quel éditeur que vous aimez Ensuite, chargez la configuration dans iptables

$ iptables-restore < iptables.conf 

Noubliez pas de stocker la configuration dans iptables pour quelle soit choisie au redémarrage

$ service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ] 

Réponse

voici un simple oneliner pour démanteler lensemble fail2ban jail de la bonne manière:

iptables -L f2b-recidive -n | grep -o "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" | grep -v 0.0.0.0 | xargs -n 1 fail2ban-client set recidive unbanip 

REMARQUE: la commande iptables prend le préfixe « f2b- » avant le nom de la prison tandis que « fail2ban-client » est le vrai nom de la prison

Commentaires

  • Cest la meilleure réponse pour les versions de 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écidif ci-dessus par $ 1 et utilisez lalias comme fail2ban-purge < JAIL_NAME >.

Réponse

En raison du fonctionnement de fail2ban, il ny a que deux solutions possibles:

  • Créez un script de configuration de pare-feu qui inclut des fail2ban jails et redémarrez le pare-feu.
  • Supprimez les règles de pare-feu bloquant les adresses IP que vous souhaitez annuler .

Réponse

Ceci est le script que jutilise pour désinterdire toutes les adresses IP dune prison ssh ( remplacez simplement loccourence sshd 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éponse

Peut-être que ce script pourrait aider quelquun avec une version < 0.10.0 comme moi:

 #!/bin/bash for JAIL in $(fail2ban-client status | grep "Jail list:" | awk "BEGIN {FS="\t"} {print $2}" | sed "s/, / /g") do for IP in $(fail2ban-client status ${JAIL} | grep "Banned IP list:" | awk "BEGIN {FS="\t"} {print $2}" | sed "s/ /\n/g") do fail2ban-client set ${JAIL} unbanip ${IP} done done unset JAIL IP exit 0  

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *