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

SSH Penetration Testing — audyt bezpieczeństwa własnego serwera

Ważne: Testy penetracyjne wykonuj wyłącznie na własnych serwerach lub za pisemną zgodą właściciela. Testowanie cudzej infrastruktury bez zgody jest nielegalne (ustawa o cyberprzestępczości art. 267–269b k.k.).

Po co testować SSH na własnym serwerze?

Boty skanujące internet nieustannie atakują port 22 w poszukiwaniu słabych haseł i podatnych wersji OpenSSH. Luki w konfiguracji SSH to jedna z najczęstszych przyczyn przejęcia serwerów VPS. Samodzielny audyt pozwala znaleźć luki zanim zrobi to atakujący.

Typowe słabości ujawniane przez audyt SSH:

  • Root login przez hasło (powinien być wyłączony)
  • Słabe hasła użytkowników
  • Stara wersja OpenSSH z CVE
  • Brak fail2ban lub zbyt łagodna konfiguracja
  • SSH dostępny na domyślnym porcie 22 (łatwy cel automatycznych skanerów)
  • Włączone słabe algorytmy kryptograficzne (MD5, SHA1)

Krok 1: Skanowanie portu SSH (Nmap)

Nmap wykrywa wersję OpenSSH i aktywne algorytmy kryptograficzne:

# Skanowanie portu 22 z detekcją wersji
nmap -sV -p 22 TW_IP_SERWERA

# Pełny audyt SSH z sprawdzeniem algorytmów
nmap --script ssh2-enum-algos -p 22 TW_IP_SERWERA

# Sprawdzenie podatności (CVE)
nmap --script ssh-auth-methods --script-args="ssh.user=root" -p 22 TW_IP_SERWERA

Co sprawdzić w wynikach Nmap

  • Wersja OpenSSH — porównaj z listą wydań OpenSSH. Stara wersja = aktualizacja przez apt upgrade openssh-server.
  • Słabe algorytmydiffie-hellman-group1-sha1, arcfour, hmac-md5 powinny być nieobecne. Jeśli są — hardening konfiguracji (patrz niżej).
  • auth_methods — powinno być wyłącznie publickey. Jeśli widać password — wyłącz logowanie hasłem.

Krok 2: Test brute-force (Hydra) na własnym serwerze

Hydra sprawdza czy fail2ban i konfiguracja SSH blokują ataki słownikowe:

# Instalacja
sudo apt install hydra

# Test na WŁASNYM serwerze — podstawowy słownik
hydra -l root -P /usr/share/wordlists/rockyou.txt ssh://TW_IP_SERWERA

# Test z własną listą haseł
hydra -l admin -P mojalistahaseł.txt -t 4 ssh://TW_IP_SERWERA:22

Oczekiwany wynik na dobrze skonfigurowanym serwerze: Hydra powinna zostać zablokowana przez fail2ban po 3–5 próbach. Jeśli test biegnie bez blokady — fail2ban nie działa poprawnie.

Sprawdzenie czy fail2ban działa

sudo fail2ban-client status sshd
# Powinno pokazać: Currently banned: 1 (twój IP testowy)

# Odblokowanie własnego IP po teście
sudo fail2ban-client set sshd unbanip TW_IP

Krok 3: Audit konfiguracji OpenSSH

Narzędzie ssh-audit analizuje konfigurację serwera SSH bez logowania:

# Instalacja ssh-audit
pip3 install ssh-audit

# Audyt serwera
ssh-audit TW_IP_SERWERA

Wynik zawiera kolorowe oznaczenia: 🟢 OK, 🟡 ostrzeżenie, 🔴 krytyczne. Skup się na pozycjach czerwonych — to algorytmy lub konfiguracje do usunięcia.

Alternatywna weryfikacja online

Bez instalacji narzędzi — użyj serwisu ssl-config.mozilla.org lub sshcheck.io (wpisz IP serwera). Pamiętaj że zewnętrzny skaner zostawia ślad w logach.

Krok 4: Hardening na podstawie wyników

Po audycie zaktualizuj /etc/ssh/sshd_config:

# Bezpieczna konfiguracja OpenSSH (minimum)
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
AuthorizationKeysFile .ssh/authorized_keys
MaxAuthTries 3
LoginGraceTime 30

# Wyłącz słabe algorytmy
KexAlgorithms curve25519-sha256,diffie-hellman-group14-sha256
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com
MACs hmac-sha2-512,hmac-sha2-256

# Restart po zmianach (pamiętaj o aktywnej sesji SSH!)
sudo sshd -t  # test konfiguracji
sudo systemctl restart sshd
Uwaga: Przed restartem SSH upewnij się że masz aktywną sesję lub dostęp przez konsolę VPS (panel Hetzner/Contabo/itp.). Błąd konfiguracji może zablokować dostęp.

Automatyczny monitoring: Lynis

Lynis to kompleksowy audytor bezpieczeństwa systemu Linux — sprawdza SSH i dziesiątki innych obszarów:

sudo apt install lynis
sudo lynis audit system --quick

Wynik zawiera punktację (hardening index) i listę rekomendacji. Uruchamiaj cyklicznie — np. przez cron co miesiąc.

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.