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
Możesz zaimplementować co chcesz, stosując 2 poniższe zasady
Zauważ, że użycie
-A
dodawania 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.
źródło
Możesz wypróbować moduł LIMIT.
źródło