Próbuję zablokować (spowolnić) ataki siłowe na mój serwer sshd. Postępuję zgodnie z tym przewodnikiem http://www.rackaid.com/resources/how-to-block-ssh-brute-force-attacks/, który w zasadzie mówi, że muszę tylko wprowadzić 2 poniższe polecenia.
sudo iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
sudo iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
Mój port sshd to 6622, więc zmieniłem wpisy z „22” na „6622” i wstawiłem te polecenia. Następnie spróbowałem po prostu przetestować nowe iptables. Poszedłem na inny komputer i celowo wpisałem błędne hasło logowania kilka razy. Niestety nowe zasady nie powstrzymują mnie od próbowania tak dużo, jak chcę. Poniżej wymienione są moje obecne zasady. Co ja robię źle?
# iptables --list
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- anywhere anywhere tcp dpt:6622 state NEW recent: UPDATE seconds: 60 hit_count: 4 name: DEFAULT side: source
tcp -- anywhere anywhere tcp dpt:6622 state NEW recent: SET name: DEFAULT side: source
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain LOGDROP (0 references)
target prot opt source destination
LOG all -- anywhere anywhere LOG level warning
DROP all -- anywhere anywhere
MaxStartups
na ulepszenie strony demona?Odpowiedzi:
Jak zauważył @banjer w swoim komentarzu, próbujesz niewłaściwego rozwiązania swojego rzeczywistego problemu.
To, co musisz zrobić, to skonfigurować fail2ban . Używa iptables w tle do automatycznego blokowania prób połączenia z hostów, które generują nieudane próby dostępu z różnych źródeł. Jest niezwykle wszechstronny i pozwala dodawać i modyfikować różne progi, wzorce do wyszukiwania i metody banowania; będziesz musiał nieco ulepszyć domyślne więzienie ssh, aby uwzględnić niestandardowy port, którego używasz, ale to nie powinno być trudne.
źródło
Używam takich reguł, aby spowolnić:
W innych miejscach ograniczam takie rzeczy:
źródło
Czytałeś stronę man?
man sshd_config:
źródło
Właśnie wypróbowałem rozwiązanie dwóch reguł i miałem ten sam problem, kiedy to sprawdziłem. Następnie zauważam, że opublikowane zasady mają
-i eth0
opcję! Zmieniłem go na dobry interfejs sieciowy i wreszcie zaczął działać.źródło
Większość samouczków służy
-A
do dołączania na końcu zestawu reguł. OP używane-I
do wstawiania, ale bez indeksu, więc reguły skończyły w niewłaściwej kolejności.Cennym narzędziem do debugowania reguł iptables jest
iptables -vL
lista reguł z liczbą przypadków zastosowania każdej reguły. Gdy pojawi się nieoczekiwana liczba 0, możesz zobaczyć, co jest nie tak.źródło