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