Zablokowany atak SSH przez IP

1

Korzystam z 64-bitowego serwera CentOS 5.7, który ma dziwny problem.

Podczas oglądania moich logów /var/log/securezauważyłem, że jedno dziwne IP próbuje połączyć się z ssh z wieloma dziwnymi nazwami użytkowników.

Dane wyjściowe dziennika: http://pastebin.com/raw.php?i=3uYjPrLL

Uruchamiam fail2ban, który już zablokował ten adres IP, a także ręcznie zablokowałem ten adres IP za pomocą iptables.

Uruchamianie iptables -n -LMam ten wynik:

Chain fail2ban-SSH (1 references)
target     prot opt source               destination
DROP       all  --  50.115.166.129       0.0.0.0/0
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

Więc blok jest na swoim miejscu. Iptables również działa i już zablokowałem wiele adresów IP za pośrednictwem iptables, a wszystkie te bloki działają dobrze.

Ale w jakiś sposób ten adres IP może dostać się do mojej maszyny. Wiesz, jak to możliwe?

Mr.Boon
źródło
Być może fail2ban-SSHłańcuch nigdy nie jest wywoływany lub jest wywoływany na niewłaściwym etapie przetwarzania. Będziemy musieli zobaczyć wyjście z iptables -L -n -vpowiedzenia czegoś przydatnego.
MadHatter
To jest wynik: pastebin.com/raw.php?i=kxYGc6Gs
Mr.Boon
1
Brakuje górnej części danych wyjściowych, więc nie możemy być pewni, że zaczyna się ona od reguły 1. Czy możesz upewnić się, że wszystkie dane wyjściowe polecenia iptables trafiają do Twojego obszaru roboczego? I czy możesz potwierdzić na jakim porcie używasz sshd?
MadHatter
Zaktualizowałem plik pastebin, teraz pokazuje pełną wydajność. pastebin.com/raw.php?i=kxYGc6G ma kilka tysięcy linii, ponieważ niedawno musiałem zablokować całą sieć botów zalewających moją stronę.
Mr.Boon
ssh działa na porcie 2222
Mr.Boon

Odpowiedzi:

4

Problem polega na tym, że Twój fail2ban-SSHłańcuch jest stosowany do ruchu do portu 22, który nie jest tam, gdzie nasłuchuje sshd. Dlatego fail2ban przejmuje błędy z dzienników uwierzytelniania i poprawnie aktualizuje łańcuch odmowy. Ale ruch ssh nigdy nie jest wysyłany do tego łańcucha, więc twój złoczyńca, który nie może rozmawiać z portem 22, nadal może rozmawiać z sshd 2222.

Zakładając, że używasz standardowego CentOS /etc/sysconfig/iptables, musisz zmienić linię w filtersekcji, która obecnie mówi coś takiego

-A INPUT -p tcp --dport 22 -j fail2ban-SSH

powiedzieć

-A INPUT -p tcp --dport 2222 -j fail2ban-SSH

Jeśli chodzi o ręczne upuszczanie, dodano go po wierszach, które mówią

 689M  126G ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED

i

 0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:2222 state NEW

więc po prostu nigdy nie zostanie wywołany w celu ograniczenia nowego ruchu do portu 2222 lub kolejnych pakietów w takim połączeniu, ponieważ są one już dozwolone. Kolejność reguł jest ważna w iptables, ponieważ wygrywa pierwszy mecz z dyspozycją.

Szalony Kapelusznik
źródło
Dziękuję, zmieniłem domyślny port ssh w pliku jail.conf, który działał.
Mr.Boon,