- - 3 sposoby zabezpieczenia serwera SSH w systemie Linux

3 sposoby zabezpieczenia serwera SSH w systemie Linux

SSH jest niesamowity, ponieważ pozwala nam zdobyć terminaldostęp do innych komputerów i serwerów z systemem Linux za pośrednictwem sieci, a nawet Internetu! Mimo tego, że technologia ta jest 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 najszybszy i najłatwiejszy sposób na zabezpieczenieSerwer SSH ma zmienić używany port. Domyślnie serwer SSH działa na porcie 22. Aby go zmienić, otwórz okno terminala. W oknie terminala przejdź do zdalnego komputera PC obsługującego serwer SSH.

ssh user@local-ip-address

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.

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:

reboot

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 user@local-ip-address

Wyłącz logowanie za pomocą hasła

Innym doskonałym sposobem zabezpieczenia serwera SSH jestusuń hasło logowania i zamiast tego przejdź 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 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 pośrednictwemhasło 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 znajdź 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:

service ssh restart

Następnym razem, gdy komputer zdalny 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 tosposób na ograniczenie 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 pomija potrzebę logowania su, a 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ą SSH tylko jako użytkownik lokalny, a następnie przełączyć się na konto root za pomocą uprawnień sudo.

Komentarze