Zapobiegaj atakom SSH

9

Usiłuję skonfigurować reguły iptables, aby zezwalały tylko 3 próbom IP na minutę połączenia się z serwerem za pośrednictwem SSH i porzucały wszystkie połączenia później, aby zapobiec atakom SSH; ale wygląda na to, że robię coś złego!

-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 --name DEFAULT --rsource -j DROP
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

Dzięki

MGP
źródło

Odpowiedzi:

10

Myślę, że lepiej musisz użyć fail2ban, ponieważ twoje reguły ipfilter blokują również prawidłowe połączenia. fail2banblokuje adresy IP tylko po nieudanych połączeniach.

Następnie powszechną praktyką jest blokowanie adresów IP podczas próby połączenia z portem 22 i powiązanie serwera ssh z innym portem. Jeśli Twój komputer nie jest dobrze znanym celem, napotykasz tylko kilka nielegalnych połączeń tygodniowo.

Dokładne pytanie, które zadałeś:

iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
Gregory MOUSSAT
źródło
1
Ponieważ serwer ma niską wartość vps, staram się ograniczyć zużycie zasobów do minimum, utrzymując go tak bezpiecznie, jak to możliwe. Zmieniłem już port serwera ssh. Czy powinienem zachować te zasady (powyżej) w nowym porcie i zablokować domyślną (22)?
MGP
Fail2ban jest w rzeczywistości najlepszym rozwiązaniem, nawet dla niskiego VPS
MGP
7

Możesz zaimplementować co chcesz, stosując 2 poniższe zasady

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 -j DROP

Zauważ, że użycie -Adodawania reguł na końcu łańcucha może popsuć sposób, w jaki są przetwarzane reguły iptables, tj. W kolejności, więc jeśli istnieje ogólna DROP lub reguła zezwalająca, zanim twoja zostanie osiągnięta, to nigdy nie będzie działać.

Powiedziawszy, że możesz również znaleźć fail2ban, jest lepszym sposobem na wdrożenie tego rodzaju bloku.

użytkownik9517
źródło
Gdy próbuję dodać te reguły, pojawia się komunikat o błędzie: iptables: Brak łańcucha / celu / dopasowania o tej nazwie.
MGP
Upvote dla fail2ban.
Michael B
4

Możesz wypróbować moduł LIMIT.

iptables -A INPUT -p tcp --dport 22 -m limit --limit 3/minute -j ACCEPT
Magellan
źródło