3 sposoby zabezpieczenia serwera SSH w systemie Linux

click fraud protection

SSH jest niesamowity, ponieważ pozwala nam uzyskać dostęp do terminali z innymi komputerami i serwerami z systemem Linux przez sieć, a nawet Internet! Mimo tego, że technologia ta jest tak niesamowita, istnieje kilka rażących problemów bezpieczeństwa, które sprawiają, że korzystanie z niej jest niebezpieczne. Jeśli jesteś przeciętnym użytkownikiem, nie ma potrzeby instalowania skomplikowanych narzędzi bezpieczeństwa SSH. Zamiast tego rozważ wykonanie tych podstawowych kroków, aby zabezpieczyć serwer SSH w systemie Linux.

Zmień domyślny port połączenia

Zdecydowanie najszybszym i najłatwiejszym sposobem zabezpieczenia serwera SSH jest zmiana używanego portu. Domyślnie serwer SSH działa na porcie 22. Aby to zmienić, otwórz okno terminala. W oknie terminala przejdź do zdalnego komputera PC obsługującego serwer SSH.

ssh użytkownik @ lokalny-adres-ip

Po zalogowaniu przejdź od zwykłego użytkownika do rootowania. Jeśli masz konto root, zaloguj się przy użyciu su to dobry wybór. W przeciwnym razie musisz uzyskać dostęp sudo.

instagram viewer
su -

lub

sudo -s

Teraz, gdy masz dostęp administratora, otwórz plik konfiguracyjny SSH w Nano.

nano / etc / ssh / sshd_config

Przewiń plik konfiguracji „Port 22”. Usunąć jeśli jest, to zmień 22 ″ na inny numer. Zazwyczaj wystarczy port powyżej 100, a nawet jeden z zakresu 1000. Po zmianie numeru portu naciśnij Ctrl + O kombinacja klawiatury, aby zapisać zmiany. Następnie zamknij edytor, naciskając Ctrl + X.

Edycja pliku konfiguracyjnego nie spowoduje natychmiastowego przełączenia serwera SSH na używanie poprawnego portu. Zamiast tego musisz ręcznie ponownie uruchomić usługę.

systemctl restart sshd

Uruchomienie polecenia systemctl powinno uruchomić ponownie demona SSH i zastosować nowe ustawienia. Jeśli ponowne uruchomienie demona nie powiedzie się, inną opcją jest ponowne uruchomienie komputera serwera SSH:

restart

Po zrestartowaniu demona (lub komputera) SSH nie będzie dostępny przez port 22. W rezultacie połączenie przez SSH wymaga ręcznego określenia portu.

Uwaga: pamiętaj, aby zmienić „1234” na port ustawiony w pliku konfiguracyjnym SSH.

ssh -p 1234 użytkownik @ lokalny adres IP

Wyłącz logowanie za pomocą hasła

Innym doskonałym sposobem zabezpieczenia serwera SSH jest usunięcie hasła i przejście do logowania za pomocą kluczy SSH. Przejście trasy klucza SSH tworzy krąg zaufania między serwerem SSH a zdalnymi maszynami, które mają Twój klucz. Jest to zaszyfrowany plik hasła, który trudno złamać.

Skonfiguruj za pomocą klucza SSH na twoim serwerze. Po skonfigurowaniu kluczy otwórz terminal i plik konfiguracyjny SSH.

su -

lub

sudo -s

Następnie otwórz konfigurację w Nano za pomocą:

nano / etc / ssh / sshd_config

Domyślnie serwery SSH obsługują uwierzytelnianie za pomocą hasła użytkownika. Jeśli masz bezpieczne hasło, jest to dobra droga, ale zaszyfrowany klucz SSH na zaufanych komputerach jest szybszy, wygodniejszy i bezpieczny. Aby zakończyć przejście do „logowania bez hasła”, sprawdź plik konfiguracyjny SSH. Wewnątrz tego pliku przewiń i odszukaj wpis zatytułowany „Uwierzytelnianie hasła”.

Usuń symbol # przed „PasswordAuthentication” i upewnij się, że ma przed sobą słowo „nie”. Jeśli wszystko wygląda dobrze, zapisz zmiany w konfiguracji SSH, naciskając Ctrl + O na klawiaturze.

Po zapisaniu konfiguracji zamknij Nano za pomocą Ctrl + Xi ponownie uruchom dysk SSHD, aby zastosować zmiany.

systemctl restart sshd

Jeśli nie używasz systemd, spróbuj zrestartować SSH za pomocą tego polecenia:

usługa ssh restart

Następnym razem, gdy zdalna maszyna spróbuje zalogować się na tym serwerze SSH, sprawdzi poprawne klucze i wpuści je bez hasła.

Wyłącz konto root

Wyłączenie konta root na serwerze SSH jest sposobem na złagodzenie szkód, które mogą wystąpić, gdy nieautoryzowany użytkownik uzyska dostęp przez SSH. Aby wyłączyć konto root, konieczne jest, aby przynajmniej jeden użytkownik na twoim serwerze SSH mógł uzyskać rootowanie przez sudo. Zapewni to, że nadal będziesz mógł uzyskać dostęp na poziomie systemu, jeśli będziesz go potrzebować, bez hasła rootowania.

Uwaga: upewnij się, że użytkownicy, którzy mogą uzyskiwać dostęp do uprawnień rootowania przez sudo, mają bezpieczne hasło lub wyłączenie konta administratora jest bezcelowe.

Aby wyłączyć rootowanie, podnieś terminal do uprawnień administratora:

sudo -s

Używanie sudo -s omija potrzebę logowania su, i zamiast tego przyznaje powłokę główną za pomocą pliku sudoers. Teraz, gdy powłoka ma dostęp administratora, uruchom hasło dowodzić i mieszać konto root z -zamek.

passwd --lock root

Uruchomienie powyższego polecenia szyfruje hasło do konta root, aby zalogować się przez su jest niemożliwe. Odtąd użytkownicy mogą korzystać tylko z SSH jako użytkownik lokalny, a następnie przełączyć się na konto root za pomocą uprawnień sudo.

watch instagram story