Główna » jak » Jak ryzykowne jest uruchamianie serwera domowego zabezpieczonego za SSH?

    Jak ryzykowne jest uruchamianie serwera domowego zabezpieczonego za SSH?

    Kiedy trzeba otworzyć coś w sieci domowej na większy internet, tunel SSH jest wystarczająco bezpieczny, aby to zrobić?

    Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, opartego na społecznościach grupowania witryn z pytaniami i odpowiedziami.

    Pytanie

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

    Niedawno założyłem mały serwer z komputerem o niskim końcu, z uruchomionym debianem, którego celem jest wykorzystanie go jako osobistego repozytorium git. Uaktywniłem ssh i byłem bardzo zaskoczony szybkością ataków brutalnych sił i tym podobnych. Potem przeczytałem, że jest to dość powszechne i dowiedziałem się o podstawowych środkach bezpieczeństwa, aby odeprzeć te ataki (wiele pytań i duplikatów na serwerze servera, patrz na przykład ten lub ten).

    Ale teraz zastanawiam się, czy to wszystko warte wysiłku. Zdecydowałem się założyć własny serwer głównie dla zabawy: mogłem po prostu polegać na rozwiązaniach stron trzecich, takich jak oferowane przez gitbucket.org, bettercodes.org itp. Podczas gdy część zabawy polega na poznawaniu bezpieczeństwa w Internecie, nie wystarczająco dużo czasu, aby poświęcić się temu, by stać się ekspertem i być prawie pewnym, że podjąłem właściwe środki zapobiegawcze.

    Aby zdecydować, czy będę nadal grał w ten zabawkowy projekt, chciałbym wiedzieć, co tak naprawdę ryzykuję. Na przykład, w jakim stopniu zagrożone są także inne komputery podłączone do mojej sieci? Niektóre z tych komputerów są używane przez osoby o mniejszej wiedzy niż moje 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 root'a dla ssh, niestandardowy port dla ssh i ewentualnie wyłączenie logowania do hasła i użycie jednej z reguł fail2ban, denyhosts lub iptables?

    Innymi słowy, czy powinienem się bać kilku dużych złych wilków, czy też przede wszystkim chodzi o to, żeby odejść od scenariuszy dziecięcych zabawek??

    Czy Alfred powinien trzymać się rozwiązań innych firm, czy też jego rozwiązanie dla majsterkowiczów jest bezpieczne?

    Odpowiedź

    Pomocnik SuperUser TheFiddlerWins zapewnia Alfreda, że ​​jest całkiem bezpieczny:

    IMO SSH to jedna z najbezpieczniejszych rzeczy do słuchania w otwartym Internecie. Jeśli naprawdę zależy Ci na słuchaniu na niestandardowym porcie high-end. Nadal miałbym zaporę ogniową (na poziomie urządzenia) pomiędzy twoim pudełkiem a rzeczywistym Internetem i po prostu używałbym przekierowania portów dla SSH, ale jest to zabezpieczenie przed innymi usługami. Sam SSH jest całkiem cholernie solidny.

    ja mieć ludzie czasami uderzali w mój domowy serwer SSH (otwarty na Time Warner Cable). Nigdy nie miałem rzeczywistego wpływu.

    Inny uczestnik, Stephane, podkreśla, jak łatwo jest dalej zabezpieczyć SSH:

    Konfigurowanie systemu uwierzytelniania klucza publicznego za pomocą SSH jest naprawdę trywialne i wymaga około 5 minut na skonfigurowanie.

    Jeśli zmusisz wszystkie połączenia SSH do korzystania z niego, to sprawi, że twój system będzie tak odporny, jak możesz mieć nadzieję, bez inwestowania LOTU w infrastrukturę bezpieczeństwa. Szczerze mówiąc, jest to tak proste i skuteczne (o ile nie masz 200 kont - wtedy jest brudny), że nie używanie go powinno być przestępstwem publicznym.

    Wreszcie, Craig Watson oferuje kolejną wskazówkę, aby zminimalizować próby włamania:

    Prowadzę również osobisty serwer git, który jest otwarty na świat w SSH, i mam również te same problemy z brutalną siłą, więc mogę współczuć z twoją sytuacją.

    TheFiddlerWins już rozwiązuje główne problemy związane z bezpieczeństwem otwierania SSH na publicznie dostępnym IP, ale najlepszym narzędziem IMO w odpowiedzi na próby brute-force jest Fail2Ban - oprogramowanie, które monitoruje pliki dziennika uwierzytelniania, wykrywa próby włamań i dodaje reguły zapory do maszyna lokalnaiptables zapora ogniowa. Możesz skonfigurować zarówno liczbę prób przed banem, jak i długość bana (domyślnie 10 dni).


    Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.