Skip to content

Jak ryzykowne jest uruchamianie serwera domowego zabezpieczonego za pomocą protokołu SSH?

7 de lipiec de 2021
img 52a0d9e9cc184

Kiedy musisz otworzyć coś w swojej sieci domowej do większego Internetu, czy tunel SSH jest wystarczająco bezpiecznym sposobem, aby to zrobić?

Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser — pododdziału Stack Exchange, społecznościowej grupy witryn internetowych z pytaniami i odpowiedziami.

Pytanie

Czytnik SuperUser Alfred M. chce wiedzieć, czy jest na dobrej drodze z bezpieczeństwem połączenia:

Niedawno skonfigurowałem mały serwer z słabszym komputerem z uruchomionym debianem w celu wykorzystania go jako osobistego repozytorium git. Włączyłem ssh i byłem dość zaskoczony szybkością, z jaką cierpiał na ataki brute force i tym podobne. Potem przeczytałem, że to jestdość powszechnyi dowiedziałem się o podstawowych środkach bezpieczeństwa, aby odeprzeć te ataki (wiele pytań i duplikatów dotyczących awarii serwera radzi sobie z tym, zobacz na przykładtenlubten).

Ale teraz zastanawiam się, czy to wszystko jest warte wysiłku. Postanowiłem skonfigurować własny serwer głównie dla zabawy: mogłem po prostu polegać na rozwiązaniach innych firm, takich jak te oferowane przez gitbucket.org, bettercodes.org itp. Chociaż część zabawy polega na nauce bezpieczeństwa w Internecie, nie mam wystarczająco dużo czasu, aby poświęcić się temu, aby zostać ekspertem i być prawie pewnym, że podjąłem właściwe środki zapobiegawcze.

Aby zdecydować, czy będę dalej bawić się tym zabawkowym projektem, chciałbym wiedzieć, na co tak naprawdę ryzykuję. Na przykład, w jakim stopniu zagrożone są również inne komputery podłączone do mojej sieci? Niektóre z tych komputerów są używane przez osoby o jeszcze mniejszej wiedzy niż moja z systemem Windows.

Jakie jest prawdopodobieństwo, że wpadnę w poważne kłopoty, jeśli zastosuję się do podstawowych wytycznych, takich jak silne hasło, wyłączony dostęp roota dla ssh, niestandardowy port dla ssh i ewentualnie wyłączenie logowania hasłem i użycie jednej z reguł fail2ban, denyhosts lub iptables?

Innymi słowy, czy są jakieś duże złe wilki, których powinienem się bać, czy też chodzi głównie o odpędzanie skryptowych dzieciaków?

Czy Alfred powinien trzymać się rozwiązań innych firm, czy jego rozwiązanie DIY jest bezpieczne?

Odpowiedź

Współtwórca SuperUser TheFiddlerWins zapewnia Alfreda, że ​​to całkiem bezpieczne:

IMO SSH to jedna z najbezpieczniejszych rzeczy do słuchania w otwartym Internecie. Jeśli jesteś naprawdę zaniepokojony, słuchaj na niestandardowym porcie high-end. Nadal miałbym zaporę ogniową (na poziomie urządzenia) między twoim urządzeniem a rzeczywistym Internetem i po prostu używałbym przekierowania portów dla SSH, ale jest to środek ostrożności w stosunku do innych usług. Samo SSH jest dość solidne.

jamiećludzie czasami trafiali na mój domowy serwer SSH (otwarty dla Time Warner Cable). Nigdy nie miał rzeczywistego wpływu.

Inny współpracownik, Stephane, podkreśla, jak łatwe jest dalsze zabezpieczanie SSH:

Konfiguracja systemu uwierzytelniania klucza publicznego za pomocą SSH jest naprawdęSHtrywialne, a konfiguracja zajmuje około 5 minut.

Jeśli zmusisz wszystkie połączenia SSH, aby z niego korzystały, sprawi to, że Twój system będzie tak odporny, jak możesz mieć nadzieję, bez inwestowania DUŻO w infrastrukturę bezpieczeństwa. Szczerze mówiąc, jest tak prosty i skuteczny (o ile nie masz 200 kont – wtedy robi się bałagan), że nieużywanie go powinno być przestępstwem publicznym.


Na koniec Craig Watson oferuje kolejną wskazówkę, jak zminimalizować próby włamań:

Prowadzę również osobisty serwer git, który jest otwarty na świat przez SSH, a także mam te same problemy z brutalną siłą co ty, więc mogę sympatyzować z twoją sytuacją.

TheFiddlerWins zajęło się już głównymi implikacjami bezpieczeństwa związanymi z otwarciem SSH na publicznie dostępnym adresie IP, ale najlepszym narzędziem IMO w odpowiedzi na próby siłowe jestFail2Ban– oprogramowanie monitorujące pliki dziennika uwierzytelniania, wykrywające próby włamań i dodające reguły zapory do lokalnej maszynyiptableszapora. Możesz skonfigurować zarówno liczbę prób przed banem, jak i długość bana (domyślnie 10 dni).

Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych doświadczonych technologicznie użytkowników Stack Exchange?Sprawdź pełny wątek dyskusji tutaj.

Czy ten post był pomocny?