Blokowanie konta ROOT oraz zmiana domyślnego portu SSH na serwerze VPS
Zaraz po zakupie serwera VPS warto od razu wyłączyć logowanie się na konto ROOT i zmienić domyślny port SSH (22). Konto ROOT to cel nr 1 dla automatycznych skanerów i ataków brute-force, więc jego zablokowanie to jedna z podstawowych metod zabezpieczenia serwera.
Jeśli chcesz skutecznie zabezpieczyć swój serwer VPS już od pierwszego dnia, zadbaj o solidne podstawy techniczne. Blokowanie logowania ROOT, zmiana portu SSH i konfiguracja dostępu działają najefektywniej wtedy, gdy serwer pracuje na stabilnym środowisku — takim jak szybki hosting NVMe lub niezawodny serwer VPS. Pamiętaj również o aktywnej domenie internetowej, a jeśli zależy Ci na oszczędnościach, sprawdź korzystny cennik rejestracji i odnowienia domen.
Blokowanie konta ROOT
Na początku, przed zablokowaniem możliwości logowania się na konto ROOT, dodajmy poleceniem useradd nasze konto robocze, z którego będziemy mogli przeprowadzać wszelakie prace administracyjne.
useradd administrator
# Polecenie do nadania hasła nowemu użytkownikowi:
passwd administrator
Po wprowadzeniu hasła do naszego nowo powstałego użytkownika możemy przejść do edycji pliku sudoers, dodając następujące wpisy, aby nadać użytkownikowi uprawnienia administracyjne:
vim /etc/sudoers
W nim dodajemy następującą linię, zamieniając nazwa_naszego_sura na nazwę utworzonego użytkownika:
nazwa_naszego_sura ALL=(ALL) ALL
Bądź wprowadzając następujące polecenie:
echo "nazwa_uzytkownika ALL=(ALL) ALL" >> /etc/sudoers
Sprawdzenie
Przed dokonaniem dalszych zmian koniecznie sprawdź, czy masz dostęp z naszego nowego konta możliwość operowania z uprawnieniami ROOT.
W celu sprawdzenia wprowadź polecenie:
sudo su
Jeśli udało Ci się zalogować jako ROOT z użytkownika, którego utworzyliśmy, to znaczy, że wszystko się udało i jedynie pozostaje nam zablokowanie logowania do konta ROOT.
Blokowanie konta ROOT
Po sprawdzeniu naszego użytkownika roboczego i upewnieniu się, że mamy do niego dostęp, możemy zablokować możliwość logowania się jako ROOT, a więc:
Aby zablokować możliwość logowania się jako ROOT, musimy edytować plik o nazwie sshd_config znajdujący się w katalogu ssh. Ścieżka do pliku jest poniżej - otwórz tenże plik swoim ulubionym edytorem tekstu (np. nano czy vim) i odnajdź następującą opcję:
sudo vim /etc/ssh/sshd_config
Opcja do zmiany z "yes" na "no":

PermitRootLogin no
Po dokonaniu powyższych zmian należy zrestartować usługę poleceniem:
service sshd restart
Polecenie powinno zadziałać jednakowo na Debianie/Ubuntu oraz na CentOS.
Zmiana portu SSH
Zmianę domyślnego portu naszego SSH możesz dokonać w następujący sposób.
Domyślny port SSH to 22, który jest często skanowany przez atakujące boty. Przed zmianą portu warto wykonać kopię zapasową pliku konfiguracyjnego.
Za pomocą dowolnego edytora tekstu (czy to vim, czy nano obojętnie) edytuj następujący plik "sshd\_config":
vim /etc/ssh/sshd_config
W powyższym pliku musimy zlokalizować linię zaczynającą się #Port 22, odkomentować ją (usunąć #) a następnie zamienić 22 na dowolny port, najlepiej wyższy niż 1024, czyli np. 4312. Po dokonaniu zmian możemy zrestartować usługę analogicznym poleceniem jak podczas blokowania logowania do konta ROOT.
service sshd restart
Teraz możemy za pomocą narzędzia netstat sprawdzić, czy wszystko poprawnie się zaaplikowało (narzędzie można doinstalować za pomocą polecenia yum install net-tools w przypadku CentOS).
Output wygląda następująco:

Kopia zapasowa przed zmianą konfiguracji
Jeśli interesuje Cię bezpieczne przeprowadzenie zmian w konfiguracji SSH — zwłaszcza gdy robisz to pierwszy raz — warto wykonać szybki backup pliku sshd_config. Dzięki temu, jeśli wkradnie się literówka lub usługa nie wstanie po restarcie, możesz przywrócić poprzednią wersję jednym poleceniem.
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
Ten krok nic nie kosztuje, a potrafi oszczędzić sporo nerwów w sytuacji, gdy przypadkowo zablokujesz sobie dostęp do serwera.
Logowanie kluczem SSH jako bezpieczna alternatywa
Jeżeli interesuje Cię maksymalne ograniczenie ryzyka włamań typu brute-force, warto rozważyć logowanie za pomocą klucza SSH zamiast hasła. To metoda, którą administratorzy stosują jako standard — klucz jest praktycznie niemożliwy do odgadnięcia, a po jego włączeniu możesz całkowicie wyłączyć logowanie hasłem.
Generowanie klucza:
ssh-keygen -t ed25519
Wklejenie klucza na serwer (do pliku authorized_keys):
nano ~/.ssh/authorized_keys
A gdy wszystko działa — możesz w sshd_config ustawić:
PasswordAuthentication no
To rozwiązanie szczególnie polecam, jeśli chcesz podnieść poziom bezpieczeństwa po jednoczesnym wyłączeniu logowania ROOT i zmianie portu SSH. Dzięki temu serwer staje się odporniejszy na automatyczne skanery i masowe próby logowania.
Przeczytaj również inne artykuły w naszym Centrum Pomocy: