Jak zabezpieczyć serwer VPS – podstawowa konfiguracja

Serwery VPS stają się coraz popularniejsze na polskim rynku. Wpływ na to ma kilka czynników. Przede wszystkim poszerza się możliwość zarządzania wirtualną maszyną w konfrontacji ze standardowym współdzielonym hostingiem.

VPS daje szereg korzyści, jednak należy pamiętać, że administrowanie, konfiguracja, instalacja aplikacji, zapewnienie bezpieczeństwa, leży teraz po naszej stronie.

Nie ma 100% bezpiecznych systemów. Pokazały to przykłady skutecznych ataków na wielkich graczy typu Amazon, Google, itp. Jedno jest pewne. Jeżeli ktoś posiada odpowiednie środki, to złamie nasze zabezpieczenia. Jednak, przed atakami domorosłych hakerów, jesteśmy w stanie się skutecznie zabezpieczyć. Poniżej prezentuje kilka wskazówek jak zabezpieczyć serwer VPS.

Instruktarz będę opierał o popularną dystrybucję Ubuntu 18.04

Aktualizacja systemu

Warto tą czynność powtarzać regularnie! Pamiętaj o tym, że deweloperzy często wprowadzają poprawki do swoich dystrybucji. Często są to poprawki bezpieczeństwa. Co za tym idzie, nie wykonując tej czynności, narażamy się na ataki tzw. „back door” tylnymi drzwiami.

Aktualizację listy pakietów dokonamy poprzez wpisanie w konsoli:

apt-get update

Aktualizację samych pakietów poprzez:

apt-get upgrade

Zmiana hasła root

Dostawcy serwerów VPS po instalacji, dostarczają dane do logowania. Jest to adres IP maszyny, oraz login i hasło. Dostajemy dostęp do użytkownika root. Hasło warto zmienić na własne. Dlaczego? Przede wszystkim ze względów bezpieczeństwa. Po drugie, hasła generowane automatycznie są często nieprzyjazne.

Aby przeprowadzić proces zmiany hasła, wystarczy w konsoli wpisać polecenie:

passwd root

i wprowadzić dwukrotnie własne hasło. Ze względów bezpieczeństwa, wpisywane znaki nie są widoczne. To naturalne działanie w systemach klasy Linux.

Tworzenie własnego użytkownika z uprawnieniami administracyjnymi.

Użytkownik root tworzony jest domyślnie w systemach UNIX. Należy pamiętać, że ma najszersze uprawnienia w systemie i może wykonywać operacje o nieodwracalnych skutkach. Dlatego przyjęło się zasadę, aby nie pracować w codziennych czynnościach na użytkowniku root.

Warto więc stworzyć swojego użytkownika i przydzielić mu uprawnienia administracyjne.

Aby utworzyć nowego użytkownika, wpisujemy:

adduser NazwaUzytkownika

Wystarczy teraz przypisać naszego nowo utworzonego użytkownika do grupy sudo:

usermod -aG sudo NazwaUzytkownika

Tym oto sposobem, nasz użytkownik uzyskał uprawnienia sudo.

Aby wykonać polecenie z uprawnieniami administratora, wystarczy użyć w poleceniu słowa sudo. Przykładowo:

sudo apt-get update

Użycie polecenia sudo, ze względów bezpieczeństwa, często wymaga podania hasła do konta. To naturalne działanie.

Wyłączenie możliwości logowania się do serwera użytkownikowi root

Skoro posiadamy już własnego użytkownika, warto wyłączyć możliwość logowanie się do serwera bezpośrednio na użytkownika root. Jak już wspomniałem, użytkownik root posiada najszersze możliwości w systemie i nieuprawniony użytkownik może sporo namieszać.

Należy zmodyfikować plik konfiguracyjny, np. za pomocą edytora nano:

nano /etc/ssh/sshd_config

Odnajdujemy sekcję:

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

i przy wartości PermitRootLogin yes zmieniamy na no. Zapisujemy zmiany Ctr+X, wpisujemy Y aby potwierdzić dokonanie zmiany i klikamy ENTER.

Pozostaje zrestartować usługę za pomocą polecenia:

/etc/init.d/ssh restart 

Jeżeli poprawnie edytowaliśmy plik konfiguracyjny, powinniśmy otrzymać komunikat o powodzeniu restartu:

[ ok ] Restarting ssh (via systemctl): ssh.service.

Zmiana domyślnego portu SSH

Dobrym pomysłem, jest zmiana domyślnego portu po którym łączymy się do naszego serwera VPS. Większość przeprowadzanych ataków, odbywa się za pomocą robotów, które penetrują najczęściej domyślny port 22. Dlatego aby im to utrudnić, zmienimy ustawienia na inne.

Aby tego dokonać należy edytować plik konfiguracyjny:

nano /etc/ssh/sshd_config

Odszukujemy linijkę:

# What ports, IPs and protocols we listen for
Port 22

w miejsce Port 22, wpisujemy swój własny numer portu np. 1234. Zapisujemy zmiany Ctr+X, wpisujemy Y aby potwierdzić dokonanie zmiany i klikamy ENTER.

Pozostaje zrestartować usługę za pomocą polecenia:

/etc/init.d/ssh restart

Jeżeli wszystko przebiegło poprawnie, powinniśmy otrzymać komunikat o powodzeniu akcji:

[ ok ] Restarting ssh (via systemctl): ssh.service.

Od tej pory podczas logowania trzeba będzie podawać nowy port, np.:

ssh root@adresIP -p 1234