 Autor: [Adam Nadolny](/autorzy/adam-nadolny) Ekspert DevOps i infrastruktury · Zweryfikowano Kwiecień 2026

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

Ś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 · link partnerski

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

Mikrus

Tani VPS do nauki i testowania konfiguracji security

Dev/Test

[Aktywuj rabat →](/out/mikrus)

#Reklama · link partnerski

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

## Powiązane strony

-   [UFW firewall — konfiguracja na VPS](/baza-wiedzy/ufw-firewall-konfiguracja-vps)
-   [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/)