Jak przeglądasz wszystkie zablokowane adresy IP dla Ubuntu 12.04 za pomocą wiersza poleceń?

36

Nie mogę znaleźć szybkiego polecenia, aby wyświetlić wszystkie zablokowane adresy IP na serwerze. Czy jest plik, który mogę po prostu edytować?

Domyślam się, że fail2ban to ten, który wprowadza wszystkie adresy IP do bana. Gdzie mogę zmienić ustawienia?

Wydaje mi się, że mogę logować się na mój serwer zdalnie tylko wtedy, gdy wyłączę ufw. Nie mogę się dowiedzieć, jak się odblokować. Nie wiem nawet, dlaczego zostałem zbanowany. Czy istnieje jakiś dziennik umożliwiający przegląd wszystkich podjętych prób?

Patoshi パ ト シ
źródło
5
sudo iptables -L -n?
Seth
jest tyle wyników. czego mam szukać? i.imgur.com/zTTXJTE.png ... dzięki .. zrobiłem ufw zezwalam na <adres_ip> i nadal nie działało. nie wiem, gdzie to jest zakazane.
Patoshi パ ト シ
Zrobiłem również status ufw, a następnie wyłączyłem ufw, zrobiłem iptables -F, a następnie ufw enable. Nadal nie mogę uzyskać dostępu do mojego serwera zdalnie. Moje ip jest wyraźnie pokazane w polu statusu jako zezwól: i.imgur.com/f7JD2Ny.png
Patoshi パ ト シ
czy otworzyłeś port ssh przed sshingiem serwera?
Qasim
jak to sprawdzić? Mogę włączyć SSH, gdy zapora jest wyłączona. więc czy to nie działa domyślnie?
Patoshi パ ト シ

Odpowiedzi:

24

sudo iptables -L INPUT -v -n | less

Mówi to iptables, aby wyświetliło listę wszystkich reguł w łańcuchu INPUT, zapewniając pełne wyjście numeryczne. Przesuwamy mniej, aby uzyskać jednocześnie stronę.

Starszy Geek
źródło
2
Być może coś się zmieniło od 2014 roku, ale w obecnej sytuacji ta odpowiedź jest zła, ponieważ fail2ban nie umieszcza INPUTłańcucha w łańcuchu.
billynoah
@billynoah Oczywiście coś się zmieniło. Nic w życiu nie jest statyczne. Po pierwsze, 12.04 nie jest już wspierane. Jeśli nadal go używasz, zalecam uaktualnienie do wersji 16.04 LTS, która jest obsługiwana do kwietnia 2021 r.
Starszy Geek
Nie jestem pewien, czy odwołujesz się do 12.04, ponieważ powiedziałem 2014? Mówiłem o roku twojej odpowiedzi.
billynoah
1
@billynoah Odwołuję się do 12.04, ponieważ jest to odniesienie w pytaniu, na które udzielono tej odpowiedzi. Przepraszam za wszelkie nieporozumienia. :-)
Starszy Geek
45

krótka wersja :

wyświetl wszystkie aktualnie zablokowane Ips:

fail2ban-client status | grep "Jail list:" | sed "s/ //g" | awk '{split($2,a,",");for(i in a) system("fail2ban-client status " a[i])}' | grep "Status\|IP list"

odblokować ip:

fail2ban-client set postfix-mail unbanip 111.222.333.444

długa wersja :

jeśli szukasz „oficjalnego” sposobu, aby to zrobić, istnieje klient linii poleceń dla fail2ban https://www.fail2ban.org/wiki/index.php/Commands :

~ # fail2ban-client status
Status
|- Number of jail:      8
`- Jail list:           roundcube, sshd, sogo, postfix-sasl, postfix-mail, dovecot, ssh, sshd-ddos

wtedy możesz biec

~ # fail2ban-client status roundcube

Status for the jail: roundcube
|- filter
|  |- File list:        /var/log/mail.log
|  |- Currently failed: 0
|  `- Total failed:     12
`- action
   |- Currently banned: 1
   |  `- IP list:       111.222.333.444
   `- Total banned:     1

lub możesz użyć mojego polecenia, które iteruje wszystkie istniejące więzienia:

fail2ban-client status | grep "Jail list:" | sed "s/ //g" | awk '{split($2,a,",");for(i in a) system("fail2ban-client status " a[i])}' | grep "Status\|IP list"

które wyjścia:

Status for the jail: roundcube
   |  `- IP list:
Status for the jail: sshd
   |  `- IP list:
Status for the jail: sogo
   |  `- IP list:
Status for the jail: postfix-sasl
   |  `- IP list:
Status for the jail: postfix-mail
   |  `- IP list:
Status for the jail: dovecot
   |  `- IP list:
Status for the jail: ssh
   |  `- IP list:
Status for the jail: sshd-ddos
   |  `- IP list:
c33s
źródło
Powinna być teraz akceptowana odpowiedź.
Basj,
bez awk:fail2ban-client status | grep "Jail list:" | sed "s/`- Jail list://" | sed "s/\s//g" | sed "s/,/\n/g" | xargs -L1 fail2ban-client status | less
Quamis
21

Możesz zobaczyć wszystkie wcześniej zablokowane adresy IP /var/log/fail2ban.log

sudo zgrep 'Ban' /var/log/fail2ban.log*

Niektóre zakazy są tymczasowe, więc nie jestem pewien, jak najlepiej je anulować (moje dzienniki fail2ban są puste, co utrudnia testowanie!). Możesz wprowadzić duży schemat księgowy za pomocą awkpolecenia, ale robi się dość nudny.

W każdym razie właśnie tak chcesz to zrobić, jeśli szukasz powodu, dla którego zostałeś zbanowany.

Innym sposobem jest spojrzenie na tabele IP i zobaczenie, co się upuszcza. Znowu ma to pewne problemy, ponieważ pokazuje domyślne trasy, które są zastępowane, ale blokuję reguły ze źródłem 0.0.0.0/0 i wydaje się, że utrzymuje je w czystości na tyle, aby można było z nich skorzystać:

sudo iptables -L -n | awk '$1=="DROP" && $4!="0.0.0.0/0"'

Nie wyjaśnia to jednak, dlaczego nastąpił zakaz.

Oli
źródło
czy fail2ban to główna aplikacja, która wykonuje banowanie, a nie jakakolwiek inna aplikacja? mój serwer jest tylko podstawowym serwerem ubuntu, więc nigdy nie instalowałem na nim niczego innego.
Patoshi パ ト シ
W takim przypadku tak.
Oli
1
Zauważ, że moja obecna wersja pisze NOTICE [snap-iptables] Ban 45.32.216.148- nie ':'po słowie Ban, ale spacje przed i po.
Alexis Wilke