Niezabezpieczony serwer to otwarte zaproszenie dla atakujących. W ciągu kilku minut od uruchomienia Twój serwer jest już skanowany w poszukiwaniu luk. Dzięki tej liście kontrolnej zabezpieczysz swój serwer Linux przed najczęstszymi atakami.
1. Zabezpieczenie SSH
SSH to najczęściej atakowana usługa na każdym serwerze. Zabezpiecz ją w pierwszej kolejności:
- Zmień port SSH: zmień domyślny port 22 na wysoki numer portu (np. 2222 lub 49152). To zatrzyma automatyczne skanowanie.
- Używaj kluczy SSH: wyłącz uwierzytelnianie hasłem i używaj kluczy SSH. Wygeneruj klucz poleceniem
ssh-keygen -t ed25519. - Wyłącz logowanie jako root: ustaw
PermitRootLogin noi używaj zwykłego użytkownika z uprawnieniami sudo. - Zainstaluj Fail2Ban: banuje adresy IP, które zbyt często błędnie się logują.
Dostosuj te ustawienia w /etc/ssh/sshd_config i zrestartuj SSH: systemctl restart sshd.
2. Konfiguracja firewalla
Zezwalaj tylko na niezbędny ruch. Użyj UFW (Uncomplicated Firewall):
ufw default deny incoming ufw default allow outgoing ufw allow 2222/tcp # SSH (twój port) ufw allow 80/tcp # HTTP ufw allow 443/tcp # HTTPS ufw enable
Otwieraj tylko porty, których faktycznie używasz. Dla serwera gier dodaj odpowiednie porty gry.
3. Automatyczne aktualizacje
Aktualizacje bezpieczeństwa muszą być instalowane automatycznie:
apt install unattended-upgrades dpkg-reconfigure -plow unattended-upgrades
To automatycznie instaluje łatki bezpieczeństwa, gdy tylko staną się dostępne.
4. Zarządzanie użytkownikami
- Utwórz osobnego użytkownika do codziennego zarządzania:
adduser administrator. - Nadaj uprawnienia sudo:
usermod -aG sudo administrator. - Usuń nieużywane konta.
- Używaj silnych, unikalnych haseł (lub lepiej: tylko kluczy SSH).
5. Minimalizacja usług
Uruchamiaj tylko oprogramowanie, które jest potrzebne. Sprawdź, co działa:
ss -tulpn systemctl list-units --type=service --state=running
Wyłącz niepotrzebne usługi: systemctl disable [usługa] && systemctl stop [usługa].
6. Kopie zapasowe
Brak kopii zapasowej = brak serwera. Skonfiguruj automatyczne kopie zapasowe:
- Codzienne kopie zapasowe baz danych i konfiguracji.
- Cotygodniowe pełne kopie zapasowe.
- Przechowuj kopie zapasowe w innej lokalizacji (nie na tym samym serwerze).
- Regularnie testuj, czy możesz przywrócić kopie zapasowe.
7. Monitoring
- Logwatch: codzienny przegląd plików logów wysyłany e-mailem.
- Netdata: monitoring w czasie rzeczywistym CPU, RAM, dysku i sieci.
- Lynis: narzędzie audytu bezpieczeństwa, które skanuje serwer i daje rekomendacje.
Podsumowanie listy kontrolnej
| Krok | Priorytet | Status |
|---|---|---|
| Zmiana portu SSH | Wysoki | [ ] |
| Konfiguracja kluczy SSH | Wysoki | [ ] |
| Wyłączenie logowania root | Wysoki | [ ] |
| Instalacja Fail2Ban | Wysoki | [ ] |
| Konfiguracja firewalla (UFW) | Wysoki | [ ] |
| Automatyczne aktualizacje | Wysoki | [ ] |
| Utworzenie osobnego użytkownika | Średni | [ ] |
| Wyłączenie zbędnych usług | Średni | [ ] |
| Konfiguracja kopii zapasowych | Wysoki | [ ] |
| Instalacja monitoringu | Średni | [ ] |
Czy VPS jest wystarczająco bezpieczny bez tych kroków?
Nie. Standardowa instalacja VPS jest minimalnie zabezpieczona. Bez firewalla i hardening SSH Twój serwer zostanie znaleziony w ciągu kilku godzin przez automatyczne skanery przeprowadzające ataki brute-force.
Jak sprawdzić, czy mój serwer został zhakowany?
Zwróć uwagę na: niewyjaśnione wysokie użycie CPU (cryptomining), nieznane procesy, zmienione pliki, nowe konta użytkowników lub ruch wychodzący do nieznanych adresów. Sprawdź za pomocą last, who, ps aux i netstat -tulpn.
Czy powinienem wybrać managed VPS, jeśli nie mam doświadczenia z Linuxem?
Jeśli nie masz czasu lub wiedzy, aby zabezpieczyć swój serwer, managed hosting to rozsądny wybór. Płacisz więcej, ale ktoś inny dba o aktualizacje, bezpieczeństwo i monitoring.
Sprawdź nasz hosting VPS w HostValues z ochroną DDoS i dyskami NVMe.