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

Lynis — audyt bezpieczeństwa Linux dla VPS

Opublikowano: 10 kwietnia 2026 · Kategoria: Bezpieczeństwo

Nowy VPS po instalacji systemu operacyjnego ma domyślną konfigurację zoptymalizowaną pod wygodę, nie pod bezpieczeństwo. Otwarty SSH bez ograniczeń, zbędne usługi działające w tle, brak auditd, słabe uprawnienia plików konfiguracyjnych — to standardowy stan. Lynis to narzędzie, które w kilka minut przeskanuje system, pokaże konkretne problemy i poda rekomendacje naprawy. Wynik końcowy to hardening index: liczba od 0 do 100 informująca jak dobrze zabezpieczony jest serwer w porównaniu do CIS Benchmark i innych standardów bezpieczeństwa.

Instalacja Lynis

# Ubuntu / Debian — oficjalny pakiet
sudo apt update && sudo apt install lynis -y

# RHEL / CentOS / Rocky / AlmaLinux — przez EPEL
sudo dnf install epel-release -y
sudo dnf install lynis -y

# Instalacja najnowszej wersji bezposrednio od CISOfy (zalecane)
cd /opt
sudo git clone https://github.com/CISOfy/lynis
cd lynis
# Sprawdz wersje
./lynis --version

# Aktualizacja (jezeli zainstalowan przez git)
cd /opt/lynis
sudo git pull

# Weryfikacja integralnosci instalacji
lynis show version
lynis show details

Pierwsze uruchomienie — skan systemu

# Pelny skan systemu (wymaga root lub sudo)
sudo lynis audit system

# Skan bez interaktywnych przerw (dla cron / CI)
sudo lynis audit system --quiet

# Skan tylko wybranych kategorii
sudo lynis audit system --tests-from-group "authentication,ssh"

# Skan z rozszerzonym logowaniem
sudo lynis audit system --logfile /var/log/lynis.log

# Wyniki skanu
# Raport tekstowy: /var/log/lynis-report.dat
# Szczegolowy log: /var/log/lynis.log

# Wyswietl tylko ostrzezenia i sugestie
sudo lynis audit system | grep -E "Warning|Suggestion"

# Podsumowanie raportu
sudo lynis show report

Kategorie testów i co sprawdza Lynis

Kategoria Co sprawdza Typowe problemy
Authentication PAM, sudo, hasła, lockout Brak pam_pwquality, brak timeout sudo
SSH sshd_config, protokoły, cipher PermitRootLogin yes, słabe ciphers, brak rate limit
Networking Interfejsy, porty, netstat Otwarte porty bez potrzeby, brak firewall
Logging rsyslog, syslog, auditd Brak auditd, brak centralizacji logów
File Permissions Wrażliwe pliki /etc, cron, binaries Zbyt szerokie uprawnienia /etc/passwd, world-writable dirs
Kernel sysctl, kernel params, modules ip_forward bez potrzeby, ASLR wyłączony
Software Zainstalowane pakiety, aktualizacje Nieaktualne pakiety z lukami CVE
Malware Rootkity, trojany (przez rkhunter/chkrootkit) Podejrzane pliki w /tmp, /dev
Containers Docker security, seccomp, namespaces Privileged containers, brak user namespace

Interpretacja wyników — warnings i suggestions

Lynis klasyfikuje problemy na trzy poziomy: Warnings (poważne problemy wymagające natychmiastowej naprawy), Suggestions (rekomendacje do poprawy) i OK (zdane testy). Poniżej najczęstsze warnings i jak je naprawić:

# --- NAPRAWA NAJCZESTSZYCH OSTRZEZEN ---

# Warning: SSH PermitRootLogin enabled
sudo sed -i 's/^PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart sshd

# Warning: No firewall detected
sudo apt install ufw -y
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

# Warning: auditd not running
sudo apt install auditd audispd-plugins -y
sudo systemctl enable --now auditd

# Warning: Core dumps disabled check
echo "* hard core 0" >> /etc/security/limits.conf
echo "fs.suid_dumpable = 0" >> /etc/sysctl.conf
sudo sysctl -p

# Suggestion: Set umask to 027 or 077
# W /etc/profile i /etc/login.defs:
echo "umask 027" >> /etc/profile
sudo sed -i 's/^UMASK.*$/UMASK 027/' /etc/login.defs

# Suggestion: Harden SSH — wzmocnienie ciphers i MACs
# /etc/ssh/sshd_config:
# KexAlgorithms curve25519-sha256,[email protected]
# Ciphers [email protected],[email protected]
# MACs [email protected],[email protected]

# Suggestion: Install fail2ban
sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban

Automatyzacja — cron i alerty

# /etc/cron.weekly/lynis-audit
#!/bin/bash
REPORT="/var/log/lynis/report-$(date +%Y-%m-%d).log"
mkdir -p /var/log/lynis

# Uruchom skan
/usr/sbin/lynis audit system --quiet --logfile "$REPORT" 2>&1

# Pobierz hardening index
HI=$(grep "hardening_index" /var/log/lynis-report.dat | cut -d= -f2)
WARNINGS=$(grep -c "^warning" /var/log/lynis-report.dat || true)

# Wyslij alert jezeli HI < 65 lub sa ostrzezenia
if [ "$HI" -lt 65 ] || [ "$WARNINGS" -gt 0 ]; then
  mail -s "[LYNIS ALERT] $(hostname): HI=$HI Warnings=$WARNINGS" \
    [email protected] < "$REPORT"
fi

# Zarchiwizuj raport (90-dniowa retencja)
find /var/log/lynis -name "*.log" -mtime +90 -delete

chmod +x /etc/cron.weekly/lynis-audit

# Weryfikacja konfiguracji własnej (custom.prf)
# /etc/lynis/custom.prf - plik nadpisuje domyslne ustawienia
# Przyklad: wylacz test jesli serwer nie uzywa IPv6:
# skip-test=NETW-3032

Zwiększanie hardening index — praktyczne kroki

  • AppArmor lub SELinux — samo włączenie i uruchomienie profilów daje +5 do indeksu. Na Ubuntu: sudo aa-enforce /etc/apparmor.d/*.
  • Kernel hardening przez sysctlkernel.randomize_va_space=2 (ASLR), net.ipv4.conf.all.rp_filter=1 (anti-spoofing), kernel.dmesg_restrict=1.
  • Minimalizacja usług — wyłącz wszystko czego nie używasz: sudo systemctl disable avahi-daemon bluetooth cups. Mniej usług = mniejsza powierzchnia ataku.
  • Automatyczne aktualizacje bezpieczeństwaunattended-upgrades dla Debian/Ubuntu eliminuje warning o nieaktualnych pakietach.
  • Logowanie do syslog z retencją — skonfiguruj rsyslog z rotacją 90 dni. Lynis sprawdza czy logi są zachowywane wystarczająco długo.
  • PAM wzmocnieniepam_pwquality z minlen=12, retry=3, pam_faillock z deny=5 za bruteforce.

Najczęstsze pytania

Co to jest Lynis i do czego służy? +
Lynis to open-source security auditing tool dla systemów Linux/Unix, stworzony przez CISOfy. Skanuje system pod kątem problemów bezpieczeństwa: błędnej konfiguracji, słabych ustawień SSH/sudo, nieaktualnych pakietów, otwartych portów, słabych uprawnień plików i zgodności z frameworkami (CIS Benchmark, GDPR, PCI-DSS, ISO 27001). Na końcu podaje hardening index (0-100) i konkretne rekomendacje do naprawy.
Jak interpretować hardening index Lynisa? +
Hardening index to wynik od 0 do 100 obliczany na podstawie liczby zdanych/niezdanych testów. Poniżej 60 — system wymaga natychmiastowej uwagi, jest otwarty na typowe ataki. 60-74 — przeciętne bezpieczeństwo, wiele ulepszeń do zrobienia. 75-84 — dobry poziom, serwer produkcyjny. 85+ — doskonały poziom hardeningu, porównywalny z CIS Level 2. Wynik powyżej 80 osiągają serwery ze skonfigurowanym AppArmor/SELinux, auditd, fail2ban i minimalnymi usługami.
Czy Lynis modyfikuje system podczas skanu? +
Nie — Lynis działa wyłącznie w trybie odczytu (read-only). Nie modyfikuje żadnych plików konfiguracyjnych, nie instaluje pakietów ani nie zmienia ustawień systemu. Jest to bezpieczne uruchamiać na systemach produkcyjnych. Lynis tylko zbiera informacje i generuje raport z rekomendacjami — implementację poprawek musisz wykonać ręcznie lub skryptami.
Jak często uruchamiać Lynis audit? +
Rekomendacja: raz w tygodniu na serwerach produkcyjnych (cron w niedzielę o 4:00) i po każdej większej zmianie konfiguracji. Dla środowisk z wymogami compliance (PCI-DSS, ISO 27001) — minimum raz na miesiąc z archiwizowanymi raportami. Lynis można uruchomić w trybie ciągłego monitoringu z alertami na obniżenie hardening index poniżej progu.

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.