Jak prawidłowo odblokować adres IP za pomocą Fail2Ban


200

Korzystam z Fail2Ban na serwerze i zastanawiam się, jak prawidłowo odblokować adres IP.

Wiem, że mogę pracować bezpośrednio z IPTables: iptables -D fail2ban-ssh <number>

Ale czy nie ma na to sposobu fail2ban-client?

W podręcznikach stwierdza coś takiego: fail2ban-client get ssh actionunban <IP>. Ale to nie działa.

Poza tym nie chcę, /etc/init.d/fail2ban restartponieważ straciłoby to wszystkie zakazy na liście.

Odpowiedzi:


278

W przypadku Fail2Ban przed wersją 0.8.8:

fail2ban-client get YOURJAILNAMEHERE actionunban IPADDRESSHERE

W przypadku Fail2Ban v0.8.8 i nowszych:

fail2ban-client set YOURJAILNAMEHERE unbanip IPADDRESSHERE

Trudność polega na znalezieniu odpowiedniego więzienia:

  1. Użyj, iptables -L -naby znaleźć nazwę reguły ...
  2. ... następnie użyj, fail2ban-client statusaby uzyskać rzeczywiste nazwy więzienia. Nazwa reguły i nazwa więzienia mogą nie być takie same, ale powinno być jasne, z którą jest związana.

2
Jeśli masz następujący błąd 'Invalid Action name', przeczytaj tę odpowiedź
Morgan Courbet

32
Najnowsze wersje fail2banpowinny być używane fail2ban-client set JAIL_NAME unbanip 1.2.3.4.
tftd

1
Jaka jest domyślna nazwa więzienia? /etc/fail2ban/jail.confnie działa dla mnie
Alex W

1
Nazwę więzienia można znaleźć w dzienniku fail2ban, jeśli szukasz adresu IP
fred727,

7
sshd to dla mnie nazwa więzienia.
agustaf

82

Ponieważ v0.8.8 jest unbanipdostępna opcja ( actionunbannie w tym celu). Można ją uruchomić za pomocą setpolecenia, jeśli spojrzysz na listę opcji, zobaczysz, że jest to składnia. Tak będzie (na pamięć, sprawdź):

fail2ban-client set ssh-iptables unbanip IPADDRESSHERE 

bardziej ogólny:

fail2ban-client set JAILNAMEHERE unbanip IPADDRESSHERE

pracuje dla mnie


3
Polecenie unbanip zostało dodane w wersji 0.8.8. Najlepsze rozwiązanie, jeśli korzystasz z wersji 0.8.8 lub nowszej.
Alexander Garden

1
Problem związany z tym w trackerze fail2ban jest następujący: github.com/fail2ban/fail2ban/issues/132
kolejne

to jest poprawna odpowiedź dla aktualnych wersji. Dziękuję Ci!
billynoah

uzyskiwanie „Niepoprawne polecenie (brak ustawionej akcji lub jeszcze niewdrożone)”
Tom

musisz podać poprawną nazwę więzienia (na przykład sshd lub sshd-dos, zobacz swój dziennik fail2ban)
mirage

53

Przykład dla SSH w trybie interaktywnym.

wpisz bash:

fail2ban-client -i

następnie w trybie interaktywnym wpisz status więzienia:

status sshd

dostaniesz:

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

następnie wpisz interaktywny tryb fail2ban:

set sshd unbanip 203.113.167.162

dostaniesz:

203.113.167.162

oznacza to, że nie ma już 203.113.167.162na liście banów.


3
Dla mnie nazwa więzienia to sshd(Ubuntu 16)
scipilot

W moim przypadku jest napisane, że całkowity zbanowany: 6, ale lista zakazanych
adresów

21

Odpowiedź ukody jest błędna:

Zadzwoń fail2ban-clientbez parametrów, a zobaczysz listę możliwych poleceń:

get JAIL actionunban ACT             

Pobiera to polecenie unban dla akcji ACT dla JAIL.

Spójrz na parametr akcji zdefiniowanego w więzieniu, prawdopodobnie masz akcję iptables, a może trochę więcej jak sendmail, whois lub cokolwiek innego. więc jeśli twoja akcja była iptables, będzie to wyglądać tak:

fail2ban-client get JAIL actionunban iptables

a odpowiedź będzie:

iptables -D fail2ban-NAME -s IP -j DROP

Pokaże ci tylko, co musiałbyś napisać za unban. Nie ma samego polecenia odblokowania.


3
Tak, to działało dla mnie, aby odblokować więzienie SSH iptables -D fail2ban-ssh -s <IP> -j DROP. Dzięki ingo!
Deele,

8

Jeśli 192.168.2.1 jest zbanowany

sudo iptables -L

Sprawdź, w którym łańcuchu jest zabronione, np

Chain fail2ban-sasl (1 referencje)

DROP all - 192.168.2.1 w dowolnym miejscu

Następnie:

# 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

4

Najpierw musisz uzyskać nazwę więzienia. Możesz uzyskać listę (w większości przypadków będzie to tylko więzienie ssh):

fail2ban-client status

Po uzyskaniu nazwy więzienia możesz sprawdzić, które adresy IP są ignorowane.

fail2ban-client get ssh ignoreip

Jeśli twój adres IP znajduje się na liście ignorowanych, możesz go usunąć poprzez:

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

Usuń wpis hosta:

fail2ban-client reload

2
Lista ignorowanych jest listą adresów IP, których nigdy nie należy blokować. Nie ma to żadnego związku z listą obecnie zablokowanych adresów IP, czyli listą, z której OP chce usunąć adres IP.
jlh

3

Korzystanie z 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

Zakłada się, że użyto host.deny .... Ale jest to nadal bardziej przydatne niż rzeczy, które próbują zmienić metodę odblokowywania adresów IP w starszych wersjach za pomocą actionunban...
Gert van den Berg

delignoreipDziałania nie usuwając IP z zakazem, jest usunięcie adresu IP z listy ignorowanych IP (czyli IP, który nigdy nie będzie zakazane).
Tonin

2

niestety w wersji 0.8.2 klienta fail2ban polecenie:

fail2ban-client get jail actionunban ipaddress

nie działa. Aby rozwiązać problem, najlepszym wyborem jest uaktualnienie fail2ban do najnowszej wersji i użycie nowej opcji:

unbanip



0

Jeśli korzystasz z wersji v0.10.2:

sudo fail2ban-client unban YOUR_IP_ADDRESS

To z pomocy:

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

Potwierdzono działanie w moim przypadku, gdy najprawdopodobniej zostałem zbanowany z powodu wielokrotnego logowania klienta ssh przy użyciu nieprawidłowego hasła.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.