1.  [Strona główna](/) ›
2.  [Baza wiedzy](/baza-wiedzy/) ›
3.  Bezpieczeństwo VPS - checklist

# Bezpieczeństwo VPS - checklist po instalacji

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

⚡ W skrócie · 9 min czytania

-   Kompletna lista kontrolna bezpieczeństwa VPS po instalacji: SSH hardening, UFW firewall, fail2ban, unattended-upgrades, lynis audit, rkhunter, ClamAV, logwatch, port scan.
-   Blok 1: SSH Hardening (kroki 1-6).
-   Blok 2: Firewall UFW (kroki 7-9).
-   Blok 3: fail2ban (krok 10).
-   Blok 4: Automatyczne aktualizacje (krok 11).

Ś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 twoj@email.com --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

1

Utwórz użytkownika non-root z sudo

Krytyczny

5 min

2

Skonfiguruj klucze SSH

Krytyczny

10 min

3

Zmień port SSH

Wysoki

2 min

4

PermitRootLogin no

Krytyczny

2 min

5

PasswordAuthentication no

Krytyczny

2 min

6

MaxAuthTries 3

Wysoki

1 min

7-9

UFW firewall - reguły

Krytyczny

10 min

10

fail2ban z jail.local

Wysoki

10 min

11

unattended-upgrades

Wysoki

5 min

12

Lynis audit

Średni

15 min

13

rkhunter baseline

Średni

10 min

14

logwatch e-mail

Średni

5 min

15

nmap port scan

Wysoki

5 min

16

Weryfikacja backupów

Wysoki

20 min

17

Wyłącz nieużywane usługi

Średni

10 min

18

Monitoring logów auth

Ciągły

5 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.

Contabo

VPS z dostępem root - pełna kontrola nad konfiguracją bezpieczeństwa

VPS

[Aktywuj rabat →](/out/contabo/#reklama "Contabo")

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/contabo/)

Mikrus

Tani VPS do nauki i testowania konfiguracji security

Dev/Test

[Aktywuj rabat →](/out/mikrus/#reklama "Mikrus")

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/mikrus/)

## Powiązane strony

-   [Ranking i porównanie VPS
    
    Aktualne ceny VPS z pełnym kosztem 2-letnim (TCO) i bez ukrytych opłat odnowienia.
    
    ](/vps/)
-   [UFW firewall - konfiguracja na VPS](/baza-wiedzy/ufw-firewall-konfiguracja/)
-   [fail2ban - konfiguracja na VPS](/baza-wiedzy/fail2ban-konfiguracja-vps/)
-   [SSH keys - konfiguracja na VPS](/baza-wiedzy/ssh-keys-konfiguracja-vps/)
-   [Przeniesienie WordPress na VPS](/baza-wiedzy/przeniesienie-strony-na-vps/)
-   [Wszystkie artykuły](/baza-wiedzy/)
-   [Jaki VPS wybrać?](/jaki-vps-wybrac/)

Autor: [Redakcja HostGrade.pl](/autorzy/) Zespół redakcyjny · Aktualizacja: 9 kwietnia 2026

Artykuły HostGrade.pl przygotowuje i aktualizuje redakcja serwisu. Ceny startowe, ceny odnowienia i warunki planów sprawdzamy w cennikach i regulaminach dostawców, a potem liczymy całkowity koszt za 2 lata (cena startowa plus odnowienia). Zasady zbierania danych i liczenia kosztów opisujemy na stronie Metodologia. Linki partnerskie oznaczamy jako #reklama.

[O redakcji i metodologii →](/autorzy/)