Menu
Szybki wybór
Hosting Domeny VPS SSL Kalkulator Porównania FAQ
Aktywne kody
Wszystkie kody rabatowe

Bezpieczeństwo VPS — checklist po instalacji

Opublikowano: 9 kwietnia 2026 · Kategoria: VPS, Bezpieczeństwo

Świeży VPS z domyślną konfiguracją Ubuntu jest dostępny w internecie z otwartym portem 22 i hasłem root — to cel dla zautomatyzowanych skanerów, które szukają słabych haseł i znanych podatności. W ciągu minut od uruchomienia serwera zaczną pojawiać się próby logowania. Ten checklist obejmuje 18 kroków, które zamkniesz w 1–2 godziny i które radykalnie poprawią bezpieczeństwo Twojego VPS.

Blok 1: SSH Hardening (kroki 1–6)

1. Utwórz użytkownika non-root z sudo

# Utwórz nowego użytkownika
adduser admin_user

# Dodaj do grupy sudo
usermod -aG sudo admin_user

# Zaloguj się jako nowy użytkownik i sprawdź sudo
su - admin_user
sudo whoami  # Powinno zwrócić: root

2. Skonfiguruj klucze SSH

# Na lokalnym komputerze — generuj klucz (jeśli nie masz)
ssh-keygen -t ed25519 -C "vps-admin"

# Skopiuj klucz publiczny na VPS
ssh-copy-id -i ~/.ssh/id_ed25519.pub admin_user@IP_VPS

# Lub ręcznie — na VPS jako admin_user:
mkdir -p ~/.ssh && chmod 700 ~/.ssh
# Wklej zawartość id_ed25519.pub do:
nano ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

3–6. Edytuj /etc/ssh/sshd_config

# /etc/ssh/sshd_config — kluczowe zmiany

# 3. Zmień port SSH (domyślnie 22)
Port 2222

# 4. Wyłącz logowanie jako root
PermitRootLogin no

# 5. Wyłącz logowanie hasłem (TYLKO po skonfigurowaniu kluczy SSH!)
PasswordAuthentication no
PubkeyAuthentication yes

# 6. Ogranicz czas na logowanie i maksymalną liczbę prób
LoginGraceTime 30
MaxAuthTries 3
MaxSessions 5

# Opcjonalnie: ogranicz logowanie do konkretnych użytkowników
AllowUsers admin_user
# Zrestartuj SSH (UWAGA: nie wylogowuj się przed sprawdzeniem!)
systemctl restart sshd

# Otwórz NOWY terminal i przetestuj nowe połączenie:
ssh -p 2222 -i ~/.ssh/id_ed25519 admin_user@IP_VPS

Blok 2: Firewall UFW (kroki 7–9)

# 7. Zainstaluj i włącz UFW
apt install -y ufw

# 8. Domyślne reguły: blokuj wszystko przychodzące, zezwalaj wychodzące
ufw default deny incoming
ufw default allow outgoing

# 9. Otwórz tylko potrzebne porty
ufw allow 2222/tcp     # SSH (twój nowy port)
ufw allow 80/tcp       # HTTP
ufw allow 443/tcp      # HTTPS

# Jeśli masz bazę danych — NIE otwieraj portu 3306 publicznie
# Dostęp do MySQL/MariaDB przez localhost lub VPN

# Włącz UFW
ufw enable

# Sprawdź status
ufw status verbose

Blok 3: fail2ban (krok 10)

# 10. Instalacja fail2ban
apt install -y fail2ban

# Utwórz lokalną konfigurację (nie nadpisuj domyślnej)
cat > /etc/fail2ban/jail.local <<EOF
[DEFAULT]
bantime  = 3600
findtime = 600
maxretry = 5
backend = systemd

[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 86400
EOF

# Uruchom fail2ban
systemctl enable fail2ban
systemctl start fail2ban

# Sprawdź status
fail2ban-client status
fail2ban-client status sshd

Blok 4: Automatyczne aktualizacje (krok 11)

# 11. Automatyczne aktualizacje bezpieczeństwa
apt install -y unattended-upgrades

# Aktywuj
dpkg-reconfigure --priority=low unattended-upgrades

# Sprawdź konfigurację
cat /etc/apt/apt.conf.d/50unattended-upgrades
# Upewnij się że linia "security" jest odkomentowana

# Sprawdź logi aktualizacji
cat /var/log/unattended-upgrades/unattended-upgrades.log

Blok 5: Audyt bezpieczeństwa (kroki 12–15)

12. Lynis — audit systemu

apt install -y lynis
lynis audit system

# Wynik: Hardening index X/100
# Sprawdź sekcje WARNINGS (czerwone) i SUGGESTIONS (żółte)
# Raport szczegółowy: /var/log/lynis.log

13. rkhunter — wykrywanie rootkitów

apt install -y rkhunter
rkhunter --update
rkhunter --propupd   # Zapisz baseline systemu
rkhunter --check     # Skanuj (pierwsze uruchomienie może pokazać fałszywe alarmy)

# Logi: /var/log/rkhunter.log

14. Logwatch — raporty z logów

apt install -y logwatch
logwatch --output mail --mailto [email protected] --detail high

# Automatyczny raport dzienny (cron):
# /etc/cron.daily/00logwatch już istnieje po instalacji

15. Port scan z nmap

# Na lokalnym komputerze — sprawdź co jest widoczne z zewnątrz
nmap -sV -p 1-65535 IP_VPS

# Powinno być widoczne TYLKO to co otworzyłeś w UFW:
# 2222/tcp open  ssh
# 80/tcp   open  http
# 443/tcp  open  https
# Wszystkie inne porty: closed lub filtered

Blok 6: Dodatkowe warstwy (kroki 16–18)

16. Weryfikacja backupów

Backup nie jest backupem dopóki go nie przetestowałeś. Raz w miesiącu: przywróć losowy plik lub bazę z kopii zapasowej i sprawdź czy dane są nienaruszone. Backup niesprawdzony = backup który może nie działać gdy będzie potrzebny.

17. Wyłącz nieużywane usługi

# Sprawdź co nasłuchuje na portach
ss -tlnp

# Wyłącz nieużywane usługi (przykład: avahi-daemon, cups)
systemctl disable avahi-daemon
systemctl stop avahi-daemon

18. Monitorowanie logów auth

# Sprawdź nieudane próby logowania
grep "Failed password" /var/log/auth.log | tail -20

# Sprawdź zablokowane IP przez fail2ban
fail2ban-client status sshd

# Sprawdź ostatnie udane logowania
last -n 20

Podsumowanie checklisty

# Zadanie Priorytet Czas
1Utwórz użytkownika non-root z sudoKrytyczny5 min
2Skonfiguruj klucze SSHKrytyczny10 min
3Zmień port SSHWysoki2 min
4PermitRootLogin noKrytyczny2 min
5PasswordAuthentication noKrytyczny2 min
6MaxAuthTries 3Wysoki1 min
7–9UFW firewall — regułyKrytyczny10 min
10fail2ban z jail.localWysoki10 min
11unattended-upgradesWysoki5 min
12Lynis auditŚredni15 min
13rkhunter baselineŚredni10 min
14logwatch e-mailŚredni5 min
15nmap port scanWysoki5 min
16Weryfikacja backupówWysoki20 min
17Wyłącz nieużywane usługiŚredni10 min
18Monitoring logów authCiągły5 min

Najczęstsze pytania

Czy zmiana portu SSH rzeczywiście poprawia bezpieczeństwo? +
Tak, ale tylko jako pierwsza warstwa obrony (security through obscurity). Boty i masowe skanery atakują domyślnie port 22 — zmiana na niestandardowy port (np. 2222, 22222) eliminuje 90% automatycznych ataków bez żadnego nakładu obliczeniowego. To nie zastępuje klucza SSH ani fail2ban, ale redukuje szum w logach i obciążenie procesora fail2ban. Zawsze stosuj łącznie: zmiana portu + klucze SSH + fail2ban + firewall.
Jak szybko skonfigurować automatyczne aktualizacje bezpieczeństwa na Ubuntu? +
Zainstaluj pakiet unattended-upgrades: apt install unattended-upgrades. Następnie dpkg-reconfigure --priority=low unattended-upgrades i wybierz "Yes". Domyślnie aktualizuje tylko pakiety z repozytorium bezpieczeństwa (security.ubuntu.com). Sprawdź konfigurację w /etc/apt/apt.conf.d/50unattended-upgrades. Opcjonalnie włącz automatyczny restart po aktualizacjach kernela: Unattended-Upgrade::Automatic-Reboot "true" z ustawionym Unattended-Upgrade::Automatic-Reboot-Time "02:00" (restart o 2 w nocy).
Co to jest lynis i czy powinienem go używać? +
Lynis to open-source narzędzie do audytu bezpieczeństwa systemu Linux. Skanuje konfigurację serwera i generuje raport z listą znalezionych problemów (WARNINGS) i sugestii (SUGGESTIONS) podzielonych na kategorie: kernel, uwierzytelnianie, sieci, usługi, oprogramowanie. Instalacja: apt install lynis. Użycie: lynis audit system. Wynik hardening index (0–100) to przydatna metryka postępu. Lynis nie naprawia problemów — wskazuje co naprawić. Polecany do regularnego audytu (np. raz na kwartał).
Czy potrzebuję antywirusa (ClamAV) na serwerze Linux? +
Na dedykowanym serwerze webowym ClamAV ma ograniczoną wartość — Linux nie jest głównym celem wirusów komputerowych. ClamAV przydaje się gdy: (1) serwer obsługuje upload plików od użytkowników (musi skanować przesłane pliki), (2) serwer działa jako mail relay (skanowanie załączników), (3) hostingujesz WordPress i chcesz wykrywać zainfekowane wtyczki/motywy. Alternatywa: maldet (Linux Malware Detect) — lepiej dopasowany do środowisk hostingowych, wykrywa typowe webshelle i backdoory PHP.

Sprawdź oferty pasujące do tego scenariusza

Poniżej masz szybkie przejścia do ofert i stron z kodami rabatowymi tam, gdzie są dostępne.