it-swarm.com.de

Löschen Sie alle Fail2Ban-Verbote in Ubuntu Linux

Wie kann ich alle Fail2Ban-Verbote in Ubuntu löschen? Ich habe alles versucht, aber ich verstehe es nicht.

Ich möchte nur alle Verbote löschen - kenne aber keine IP-Adressen.

16
Patrick

Antwort aktualisiert

Ab Version 0.10.0 fail2ban-client enthält den Befehl unban, der auf zwei Arten verwendet werden kann:

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

Darüber hinaus ist die restart <JAIL>, reload <JAIL> und reload Befehle haben jetzt auch die --unban Möglichkeit.

Alte Antwort

fail2ban verwendet iptables, um den Datenverkehr zu blockieren. Wenn Sie die derzeit blockierten IP-Adressen anzeigen möchten, geben Sie ein

iptables -L -n

und suchen Sie nach den verschiedenen Ketten mit dem Namen fail2ban-something, wobei something auf das fail2ban-Gefängnis zeigt (zum Beispiel Chain f2b-sshd bezieht sich auf das Gefängnis sshd). Wenn Sie den Block nur für eine einzelne IP-Adresse entfernen möchten <IP> für ein bestimmtes Gefängnis <JAIL>, fail2ban bietet seinen eigenen Client an:

fail2ban-client set <JAIL> unbanip <IP>

Alternativ können Sie Zeilennummern verwenden. Listen Sie zuerst die iptables Regeln mit Zeilennummern auf:

iptables -L -n --line-numbers

Als nächstes können Sie verwenden

iptables -D fail2ban-somejail <linenumber> 

um eine einzelne Zeile aus der Tabelle zu entfernen. Soweit ich weiß, gibt es keine Möglichkeit, einen Bereich von Zeilennummern auszuwählen. Ich denke, Sie müssten diesen Befehl in eine for-Schleife einschließen:

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

Hier habe ich die Nummer 200 erfunden. Überprüfen Sie Ihre eigene Ausgabe des Befehls mit --line-numbers und beachten Sie, dass die letzte Zeile (mit RETURN) bleiben sollte. In @ roaimas Kommentar unten finden Sie die Gründe für das Herunterzählen.

26
ph0t0nix

Der beste Weg, um alle IPs aufzuheben, besteht darin, die Bantime auf 1 Sekunde zu setzen. Dann werden alle IPs sofort freigegeben.

fail2ban-client set JailName bantime 1

Danach können Sie die richtige Sperrzeit zurücksetzen.

Es ist besser, fail2ban das Unban für Sie erledigen zu lassen. Bearbeiten Sie iptables nicht manuell.

15
Philip

Das neueste fail2ban-client (0.10) hat ein unban -all Befehl. Gefängnisse können auch einzeln "neu gestartet" werden, wodurch die Verbote effektiv aufgehoben werden.

Wenn Sie eine ältere Version haben, funktioniert dieser Trick möglicherweise für automatische vorübergehende Verbote: Löschen Sie das Gefängnis, das das Verbot enthält, und starten Sie fail2ban neu, damit das (jetzt leere) Gefängnis neu erstellt wird.

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

1. Wenn Sie den Dienst beenden, werden alle von fail2ban hinzugefügten Regeln bereinigt.

service fail2ban stop

2. Wenn Sie keine anderen iptables-Regeln haben, können Sie diese löschen

iptables -F

seien Sie vorsichtig: Dadurch werden alle anderen Regeln in Ihren iptables gelöscht.

3
RASG

hier ist ein einfacher Oneliner, um das gesamte Fail2Ban-Gefängnis auf die richtige Weise zu öffnen:

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

HINWEIS: Der Befehl iptables verwendet das Präfix "f2b-" vor dem Gefängnisnamen, während "fail2ban-client" den tatsächlichen Gefängnisnamen verwendet

3
Vedran B

Speichern Sie die iptable-Konfiguration in einer Datei

$ iptables-save > iptables.conf

Bearbeiten Sie es mit einem beliebigen Editor, der Ihnen gefällt, als die Konfiguration wieder in iptables zu laden

$ iptables-restore < iptables.conf

Vergessen Sie nicht, die Konfiguration in iptables zu speichern, damit sie beim Neustart übernommen wird

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

Dies ist das Skript, mit dem ich alle IP-Adressen für ein SSH-Gefängnis aufheben möchte (ersetzen Sie einfach die SSHD-Häufigkeit durch den Namen des gewünschten Gefängnisses ... z. B. 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
2
Claudio Zanetta

Wegen der Art und Weise fail2ban funktioniert, es gibt nur zwei mögliche Lösungen:

  • Erstellen Sie ein Firewall-Konfigurationsskript, das fail2ban Jails und starten Sie die Firewall neu.
  • Entfernen Sie die Firewall-Regeln, die die IPs blockieren, die Sie aufheben möchten.
2
Julie Pelletier