Użycie chmurowego VPS wymaga szczególnej uwagi na kwestie bezpieczeństwa, ponieważ serwery w chmurze są stale zagrożone przez cyberprzestępców. Ataki cybernetyczne na serwery mogą prowadzić do wycieku danych, usunięcia informacji, zablokowania serwera, a nawet do wykorzystania zasobów VPS do przeprowadzania ataków na inne systemy. Aby zrozumieć, jak ważne jest bezpieczeństwo VPS, rozważmy niektóre podstawowe typy zagrożeń:
Ataki DDoS (Distributed Denial of Service): Serwer jest przeciążany wieloma żądaniami, co prowadzi do jego niedostępności dla użytkowników i strat finansowych dla firmy.
Ataki brute force: Cyberprzestępcy próbują odgadnąć login i hasło, aby uzyskać nieautoryzowany dostęp, co może prowadzić do całkowitego przejęcia systemu.
Malware i rootkity: Po włamaniu się na serwer przez luki w zabezpieczeniach, cyberprzestępcy instalują złośliwe oprogramowanie, które może wykonywać ukryte działania (zbieranie danych, wysyłanie spamu, uruchamianie ataków na inne serwery).
Można uniknąć tych zagrożeń dzięki odpowiedniej konfiguracji i kompleksowemu podejściu do bezpieczeństwa. W artykule omówimy, jak prawidłowo skonfigurować SSH, zaporę sieciową, wdrożyć uwierzytelnianie dwuskładnikowe i wykorzystać inne środki ochrony.
Podstawowe środki bezpieczeństwa dla chmurowego VPS
1. Konfiguracja protokołu sieciowego SSH
SSH — główny sposób zarządzania serwerem i "Instalacja i użycie protokołu SSH na Ubuntu 24.04 LTS", ale jego standardowe ustawienia czynią serwer podatnym na ataki. Ochronę połączenia z serwerem można zapewnić, podejmując określone środki bezpieczeństwa.
Zmiana standardowego portu SSH
Standardowy port 22 dla SSH jest często skanowany przez cyberprzestępców. Aby zmniejszyć liczbę ataków na serwer, zaleca się rezygnację z używania portu SSH i jego zamianę.
Wprowadź niezbędne zmiany w pliku sshd_config, aby zmienić port SSH:
sudo nano /etc/ssh/sshd_config
W dokumencie konfiguracyjnym należy znaleźć linię z #Port 22 i ustawić inną wartość, na przykład 2200. Zapisz zmiany i uruchom ponownie usługę SSH:
sudo systemctl restart ssh
Wyłączenie dostępu przez hasło
Znacznie poprawia proces pracy wdrożenie i zastosowanie kluczy SSH, które zastępują klasyczne hasła, ponieważ klucze są trudne do odgadnięcia metodą brute force. Aby skonfigurować, zapoznaj się z opisanymi poniżej działaniami:
Tworzenie klucza:
ssh-keygen -t rsa -b 4096
Utworzenie na serwerze duplikatu klucza:
ssh-copy-id user@server_ip
Dezaktywacja systemu haseł:
sudo nano /etc/ssh/sshd_config
Ustaw PasswordAuthentication na no, a następnie uruchom ponownie protokół sieciowy.Użycie adresów IP do ograniczenia dostępu
Należy używać ustawień zapory sieciowej lub plików konfiguracyjnych /etc/hosts.allow i /etc/hosts.deny, aby zastosować konfiguracje, które pozwolą na dostęp do SSH tylko dla określonych adresów IP.
2. Użycie silnych haseł
Skomplikowane hasła, zawierające co najmniej 12 znaków, znaki specjalne i litery w różnych rejestrach, zwiększają odporność, odgrywając kluczową rolę w ochronie przed atakami brute force. Zaleca się korzystanie z menedżerów haseł, aby uniknąć zapamiętywania skomplikowanych kombinacji.
3. Uwierzytelnianie dwuskładnikowe
Aby zapewnić wyższy poziom bezpieczeństwa, należy skonfigurować uwierzytelnianie dwuskładnikowe (2FA). Doda to dodatkowy poziom ochrony, wymagając nie tylko hasła, ale także jednorazowego kodu generowanego przez aplikację na twoim telefonie.
Zainstaluj bibliotekę:
sudo apt install libpam-google-authenticator
Skonfiguruj uwierzytelnianie za pomocą Google Authenticator:
google-authenticator
Skanuj kod QR aplikacją i postępuj zgodnie z instrukcjami. Zrzut ekranu powyżej ma na celu pokazanie, jak to będzie wyglądać i był wykonany w środowisku testowym.
4. Inne środki bezpieczeństwa
Ograniczenie uprawnień dostępu: Twórz oddzielnych użytkowników z ograniczonymi uprawnieniami i używaj sudo tylko w razie potrzeby.
Aktualizacja oprogramowania: Stare wersje oprogramowania mogą zawierać luki, które cyberprzestępcy mogą wykorzystać do włamania się na serwer. Regularne aktualizowanie wszystkich pakietów zmniejsza takie ryzyko:
sudo apt update && sudo apt upgrade
Monitorowanie logów: Logi zawierają ważne informacje o podejrzanej aktywności na serwerze. Używaj narzędzi fail2ban i logwatch do automatycznego monitorowania i powiadamiania o podejrzanej aktywności.
Konfiguracja zapory sieciowej
Zapora sieciowa, znana również jako firewall, jest pierwszą linią obrony, zapobiegającą nieautoryzowanemu dostępowi do twojego serwera. Można skorzystać z narzędzia ufw (Uncomplicated Firewall), które można stosować jako zaporę sieciową. Charakteryzuje się ono prostotą w konfiguracji i zarządzaniu.
1. Instalacja i uruchomienie narzędzia
W przypadku braku zainstalowanej wersji, zainstaluj i aktywuj ufw:
sudo apt install ufw
sudo ufw enable
2. Otwieranie dostępu przez SSH
Umożliw dostęp do SSH na wybranym porcie, aby uniknąć utraty połączenia z serwerem:
sudo ufw allow 2200/tcp # Podaj swój niestandardowy port
3. Konfiguracja reguł dostępu
Po skonfigurowaniu SSH można zezwolić na dostęp do innych usług, takich jak HTTP i HTTPS:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
4. Blokowanie wszystkich innych połączeń
Aby wzmocnić ochronę, całkowicie zablokuj przychodzące połączenia, z wyjątkiem tych, którym wyraźnie udzieliłeś zezwolenia:
sudo ufw default deny incoming
sudo ufw default allow outgoing
5. Analiza i ocena norm
Możliwość zapoznania się z obowiązującymi zasadami zapory i potwierdzenia, że wszystkie konfiguracje działają poprawnie, daje polecenie ufw status:
sudo ufw status
Nadzór i ocena środków bezpieczeństwa
Ciągłe przeprowadzanie kontroli i nadzoru nad bezpieczeństwem pomaga uniknąć incydentów, zapobiegając wyrządzeniu szkód.
Jak pracować z fail2ban
Narzędzie fail2ban automatycznie ogranicza dostęp adresów IP, które wykonują podejrzane działania, takie jak wielokrotne nieudane logowania. Zainstaluj narzędzie:
sudo apt install fail2ban
Przygotuj plik konfiguracyjny i ustaw parametry blokady:
sudo nano /etc/fail2ban/jail.local
Ustaw niezbędne konfiguracje dla SSH, HTTP i innych usług.
Monitorowanie logów za pomocą logwatch
logwatch — narzędzie, które pozwala na otrzymywanie raportów o podejrzanej aktywności na serwerze. Zainstaluj logwatch:
sudo apt install logwatch
Aby monitorować aktywność na serwerze, warto skonfigurować codzienne raporty na email.
Kopia zapasowa danych
Aby chronić swoje pliki przed cyberatakami lub błędami administratora, niezwykle przydatne jest regularne tworzenie kopii zapasowych wszystkich niezbędnych danych. Aby skonfigurować automatyczne kopie zapasowe, można skorzystać z rsync, cron oraz chmurowych usług przechowywania.
Podsumowanie
Korzystając z omówionych metod, można znacznie wzmocnić ochronę VPS i zmniejszyć ryzyko. Fundamentalnymi, ale nie wyczerpującymi środkami zapewnienia bezpieczeństwa będą instalacja uwierzytelniania dwuskładnikowego, stosowanie skomplikowanych haseł oraz konfiguracja SSH. Konfiguracja zapory ogranicza dostęp tylko do potrzebnych portów, zapobiegając nieautoryzowanemu połączeniu, a takie narzędzia jak fail2ban i logwatch pomogą w terminowym wykrywaniu podejrzanych działań i zapobieganiu prób intruzji.
Warto również pamiętać o regularnym tworzeniu kopii zapasowych danych. Niezależnie od tego, jak dobrze zabezpieczony jest twój system, zawsze istnieje szansa, że serwer napotka atak. W takich przypadkach kopie zapasowe będą nieocenioną pomocą w szybkim przywracaniu systemu i minimalizowaniu szkód. Nie zapominaj okresowo przeglądać i aktualizować swoje ustawienia bezpieczeństwa zgodnie z aktualnymi zagrożeniami. Współczesne cyberataki stają się coraz bardziej wyrafinowane, a tylko stała uwaga na bezpieczeństwo pozwoli chronić twój VPS i dane na nim.
Aby wzmocnić swoją ochronę, staraj się być na bieżąco z nowymi lukami i trendami w dziedzinie cyberbezpieczeństwa. Wykorzystanie tych zaleceń w całości tworzy potężną strategię ochrony i zapewnia stabilną i bezpieczną pracę twojego serwera, niezależnie od tego, do jakich zadań go używasz.