Jak mogę usunąć wszystkie bany fail2ban w Ubuntu? Próbowałem wszystkiego, ale nie rozumiem.

Chcę tylko usunąć wszystkie bany – ale nie znam żadnych adresów IP.

Komentarze

  • Zakazy są zwykle nakładane na adresy IP przez zaporę, więc powinieneś zapoznać się z regułami zapory.
  • tak, wiem. ale chcę wyczyścić wszystkie bany bez podawania adresu IP
  • Próbowałem wszystkiego ” nie, nie zrobiłeś ' t. Czego próbowałeś?

Odpowiedź

Zaktualizowana odpowiedź

Od wersji 0.10. 0 fail2ban-client zawiera polecenie unban, którego można używać na dwa sposoby:

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

Ponadto polecenia restart <JAIL>, reload <JAIL> i reload mają teraz również opcja --unban.

Stara odpowiedź

fail2ban używa iptables do blokowania ruchu. Jeśli chcesz zobaczyć adresy IP, które są obecnie zablokowane, wpisz

iptables -L -n 

i poszukaj różnych łańcuchów o nazwie fail2ban-something, gdzie something wskazuje na więzienie fail2ban (na przykład Chain f2b-sshd oznacza więzienie sshd). Jeśli chcesz usunąć blokadę tylko dla jednego adresu IP <IP> dla danego więzienia <JAIL>, fail2ban oferuje własnego klienta:

fail2ban-client set <JAIL> unbanip <IP> 

Alternatywnie możesz użyć numerów linii. Najpierw wypisz reguły iptables z numerami wierszy:

iptables -L -n --line-numbers 

Następnie możesz użyć

iptables -D fail2ban-somejail <linenumber> 

, aby usunąć pojedynczy wiersz z tabeli. O ile wiem, nie ma opcji wyboru zakresu numerów linii, więc myślę, że musiałbyś zawinąć to polecenie w pętlę for:

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

Tutaj utworzyłem liczbę 200 w górę. Sprawdź własne wyjście polecenia za pomocą --line-numbers i zwróć uwagę, że ostatnia linia (z RETURN) powinna pozostać. Zobacz komentarz @roaima „poniżej, aby zapoznać się z uzasadnieniem odliczania.

Komentarze

  • Uratowałeś mnie. Wielkie dzięki. Dodaj pełne polecenie ponieważ musiałem wymyślić, że potrzebuję klienta fail2ban-client przed twoją komendą. (Ponieważ jestem noobem)

Odpowiedź

Najlepszym sposobem na odblokowanie wszystkich adresów IP jest ustawienie bantime na 1 sekundę, a wtedy wszystkie adresy IP zostaną natychmiast zwolnione.

fail2ban-client set JailName bantime 1 

Następnie możesz ustawić właściwy czas cofnięcia banowania.

Lepiej pozwolić fail2ban na wykonanie odbanowania za Ciebie. Nie edytuj ręcznie iptables samodzielnie.

Komentarze

  • To jest jedyna poprawna odpowiedź. Fail2ban utrzymuje własną bazę danych banów, którą należy wyczyścić niezależnie . Każda odpowiedź dotycząca usuwania reguł iptables ignoruje fakt, że w momencie rozpoczęcia tworzenia kopii zapasowej fail2ban ponownie doda reguły, które właśnie skasowałeś, z powrotem do iptables. Ponadto nie każda konfiguracja fail2ban wykorzystuje iptables do implementacji banów.
  • znajdź wszystkie więzienia z fail2ban-client status
  • Właśnie wydałem to polecenie i obserwuję, jak liczba adresów IP w moim więzieniu spada do zera, ponieważ fail2ban przetwarza więzienie. Nie robi dzieje się naprawdę bardzo szybko, ale ' jest OK, w więzieniu było ponad pięć tysięcy wpisów. Dobra odpowiedź!

Odpowiedź

najnowsze fail2ban-client (0,10) zawiera polecenie unban -all. Jail może być również indywidualnie „restartowany”, w efekcie vely czyszczenia banów.

Jeśli masz starszą wersję, ta sztuczka może działać w przypadku automatycznych tymczasowych zakazów: usuń więzienie, które zawiera zakaz, a następnie uruchom ponownie fail2ban, aby (teraz puste) więzienie zostało odtworzone.

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

Komentarze

  • -all czy —all? Lub – all?

Answer

  1. Zatrzymanie usługi spowoduje wyczyszczenie wszystkich dodanych reguł by fail2ban

    service fail2ban stop 
  2. Jeśli nie masz innych reguł iptables, możesz je opróżnić

    iptables -F 

Uważaj: spowoduje to wymazanie wszelkich innych reguł w twoim iptables .

Komentarze

  • Wystarczyło zatrzymać i zacząć od nowa.

Odpowiedź

Zapisz konfigurację iptable do pliku

$ iptables-save > iptables.conf 

Edytuj go za pomocą dowolnego edytora, a następnie załaduj konfigurację z powrotem do iptables

$ iptables-restore < iptables.conf 

Nie zapomnij zapisać konfiguracji w iptables, aby została wybrana po ponownym uruchomieniu

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

Odpowiedz

oto prosty oneliner do odblokowania całości fail2ban jail we właściwy sposób:

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 

UWAGA: polecenie iptables przyjmuje prefiks „f2b-” przed nazwą więzienia, a „fail2ban-client” prawdziwą nazwą więzienia

Komentarze

  • To najlepsza odpowiedź dla wersji fail2ban poniżej 0.10. Możesz przejść dalej, tworząc alias w .bashrc, taki jak fail2ban-purge z jednym parametrem, aby wyczyścić całe więzienie. Po prostu zastąp słowo recydywalne powyżej $ 1 i użyj aliasu jako fail2ban-purge < JAIL_NAME >.

Odpowiedź

Ze względu na sposób działania fail2ban istnieją tylko dwa możliwe rozwiązania:

  • Utwórz skrypt konfiguracyjny zapory, który zawiera fail2ban więzienia i zrestartuj zaporę.
  • Usuń reguły zapory blokujące adresy IP, które chcesz odblokować .

Odpowiedź

To jest skrypt, którego używam do odblokowania wszystkich adresów IP w więzieniu ssh ( po prostu zastąp wystąpienie sshd nazwą więzienia, której potrzebujesz … np. 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 

Odpowiedź

Może ten skrypt mógłby pomóc komuś z wersją < 0.10.0 jak ja:

 #!/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  

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *