Istnieje wiele różnych pakietów służących do blokowania adresów IP, z których w systemie uruchamiane są ataki SSH typu brute-force. Na przykład:
Jakie są zalety / wady tych lub innych?
Moje obecne rozwiązanie polega na pobieraniu wiadomości e-mail, które dziennik generuje codziennie, i zrzucaniu rażących adresów IP do pliku tekstowego, który przesyłam do skryptu, który następnie odbudowuje iptables. Jest hacky, czasochłonny i ręczny, i chciałbym lepszy sposób.
(Pamiętaj, że nie zapytałem, jaki był najlepszy sposób rozwiązania problemu, ponieważ nie ma „najlepszego” sposobu na zrobienie czegokolwiek).
Prostą i praktycznie skuteczną ochroną przed atakami opartymi na skanowaniu jest nieużywanie standardowego portu. 443 (port https) naraża cię na różne ataki siłowe, które nie złamią twoich słabych haseł i prawdopodobnie działają przez więcej zapór ogniowych niż domyślny port (22).
Większość metod zapobiegania atakom z użyciem brutalnej siły ssh to świetne sposoby na samodzielne wykonanie (Ups, zepsułem konfigurację! Ups, zrobiłem kilka szybkich rsync i jestem teraz zbanowany na cały dzień!) Lub Assisted-Self-DoS (Ups , atakujący pochodzi z / zniszczył maszynę w tej samej podsieci co ja (dynamiczny zakres adresów IP, sieć uczelni ...), a ja również zostanę zbanowany!).
Jeśli logujesz się tylko z kilku miejsc, możesz po prostu dodać źródłowe adresy IP do białej listy. To oczywiście nie jest dobre, jeśli chcesz ssh z laptopa lub telefonu komórkowego w podróży.
Posiadanie demona ssh, który nasłuchuje tylko połączeń IPv6, jeszcze przez kilka lat chroni cię przed skanowaniem. Jednak wiele zapór ogniowych nie pozwala na transport IPv6 w żaden rozsądny sposób.
Inną metodą, o której nie wspominasz, jest pukanie portów . Nie cierpi z powodu problemów z samo-DoS (innych niż błędna konfiguracja), ale nie przepuszcza dobrze zapór ogniowych i może zwiększyć opóźnienie o kilka sekund podczas nawiązywania połączenia.
Jeśli masz dobre hasła lub możesz żyć bez uwierzytelniania za pomocą hasła, wyłącz uwierzytelnianie za pomocą hasła. (Klucze i hasła jednorazowe są wystarczające w większości przypadków użycia: jeśli nie ufasz komputerowi klienckiemu wystarczającemu do przechowywania klucza ssh, nie ufasz, że nie ma keyloggera). Wtedy ataki siłowe będą kosztować trochę procesora i przepustowości, ale nie narażaj się na włamanie (o ile sprawdziłeś, że żaden z kluczy nie pochodzi z OpenSSL o niskiej entropii ).
Podsumowując, należy pamiętać, że zmiana portu nie zmniejsza znacząco ekspozycji. Będziesz mniej skanować , ale wszystko, co możesz odciąć, to nisko wiszący owoc, który stara się wykorzystać stare luki i słabe hasła. Tak długo, jak dbasz o aktualność swojego demona i wymuszasz rozsądne hasła lub rozsądne limity częstotliwości prób, zmiana portu jest bardziej odpowiedzialna niż środek bezpieczeństwa.
źródło
.ssh/config
. Blokada jest problemem, jeśli zapora nie przepuszcza cię, a najłatwiejszym rozwiązaniem jest przyklejenie się do portu 22, a także nasłuchiwanie na 443. Zgadzam się, że zmiana portu tak naprawdę nie poprawia bezpieczeństwa, może powinienem to wyjaśnić . Nie wiem, dlaczego uważasz, że niemożliwe jest, aby demon SSH nie obsługiwał uwierzytelniania za pomocą hasła: to tylko kwestia dodania linii dosshd_config
OpenSSH, najczęstszej implementacji.