Ein Lynis-Audit ist der schnellste Weg, um ein ehrliches Bild der Sicherheitslage Ihres Linux-Servers zu erhalten. Lynis ist ein Open-Source-Sicherheitsaudit-Tool, das über 300 Prüfungen durchführt — zu Authentifizierung, Dateisystemberechtigungen, Kernel-Härtung, Netzwerkdiensten, Softwareschwachstellen und Compliance-Kontrollen — und dann einen Härtungs-Index-Score zwischen 0 und 100 erstellt. In dieser Anleitung installieren Sie Lynis, interpretieren seine Ausgabe, wenden die wirkungsvollsten Härtungsempfehlungen an und automatisieren regelmäßige Audits für kontinuierliche Linux-Compliance.
Voraussetzungen
- Ein Linux-Server (Ubuntu 20.04/22.04, Debian 11/12, RHEL/CentOS/AlmaLinux 8/9 oder vergleichbar)
- Root- oder
sudo-Zugriff - Grundkenntnisse der Kommandozeile und das Lesen von Log-Ausgaben
- Optional:
auditdundaideinstalliert für vollständige Testabdeckung
Lynis installieren
Lynis ist in den Standard-Paketquellen verfügbar, aber das von CISOfy gepflegte Repository liefert immer die neueste Version — was wichtig ist, da Lynis-Tests häufig aktualisiert werden, wenn neue CVEs veröffentlicht werden.
Ubuntu / Debian:
sudo apt install -y apt-transport-https gnupg
curl -fsSL https://packages.cisofy.com/keys/cisofy-software-public.key | sudo gpg --dearmor -o /usr/share/keyrings/cisofy.gpg
echo "deb [signed-by=/usr/share/keyrings/cisofy.gpg] https://packages.cisofy.com/community/lynis/deb/ stable main" \
| sudo tee /etc/apt/sources.list.d/cisofy-lynis.list
sudo apt update && sudo apt install lynis
RHEL / CentOS / AlmaLinux:
sudo rpm --import https://packages.cisofy.com/keys/cisofy-software-public.key
cat <<EOF | sudo tee /etc/yum.repos.d/cisofy-lynis.repo
[lynis]
name=CISOfy Software - Lynis package
baseurl=https://packages.cisofy.com/community/lynis/rpm/
enabled=1
gpgcheck=1
gpgkey=https://packages.cisofy.com/keys/cisofy-software-public.key
EOF
sudo yum install lynis
Installation überprüfen:
lynis show version
Ihren ersten Lynis-Audit ausführen
Ein vollständiger System-Audit dauert 2-5 Minuten und erfordert Root-Rechte, um alle Kontrollen zu testen:
sudo lynis audit system
Lynis gibt die Ergebnisse im Terminal aus und schreibt ein detailliertes Protokoll nach /var/log/lynis.log sowie einen Bericht nach /var/log/lynis-report.dat. Die Terminalausgabe verwendet farbkodierte Labels:
| Label | Bedeutung |
|---|---|
[OK] | Test bestanden |
[WARNING] | Sicherheitslücke — vorrangig beheben |
[SUGGESTION] | Verbesserung empfohlen — geringere Dringlichkeit |
[FOUND] | Element gefunden (neutral) |
[NOT FOUND] | Tool oder Datei nicht vorhanden |
Am Ende des Scans suchen Sie nach der Hardening index-Zeile:
Hardening index : 62 [############ ]
Ein frischer Ubuntu-22.04-Server mit Standardeinstellungen erzielt typischerweise etwa 60-65. Ihr Ziel ist 80+.
Lynis-Ausgabe verstehen und priorisieren
Warnungen — zuerst beheben
Warnungen weisen auf echte Sicherheitslücken hin. Häufige Warnungen bei einer Standardinstallation:
- SSH-Root-Anmeldung aktiviert —
PermitRootLogin yesin/etc/ssh/sshd_config - Kein GRUB-Passwort — Bootloader ungeschützt
- Compiler-Tools installiert —
gccauf einem Produktionsserver - Keine aktive Firewall — keine
ufw-,firewalld- oderiptables-Regeln gefunden - World-writable-Dateien — Dateien, die jeder ändern kann
Für jede Warnung gibt Lynis eine Test-ID aus, z. B. SSH-7412. Nutzen Sie sie, um die genaue Abhilfemaßnahme nachzuschlagen:
lynis show details SSH-7412
Vorschläge — schrittweise härten
Vorschläge sind Sicherheits-Best-Practices, die nicht dringend sind, aber Ihren Score erhöhen:
auditdfür Kernel-Level-Audit-Protokollierung installieren- Prozessabrechnung (
acct) aktivieren umask 027für strengere Dateierstellungsberechtigungen konfigurierenapt-listchangeshinzufügen, um sicherheitsrelevante Paket-Changelogs zu überwachenAIDE(Datei-Integritätsüberwachung) aktivieren
Wichtige Härtungsmaßnahmen nach einem Lynis-Audit
Nachfolgend die wirkungsvollsten Korrekturen, die den Härtungs-Index am stärksten verbessern.
1. SSH härten
sudo nano /etc/ssh/sshd_config
Setzen Sie diese Werte:
PermitRootLogin no
PasswordAuthentication no
X11Forwarding no
MaxAuthTries 3
ClientAliveInterval 300
ClientAliveCountMax 2
AllowTcpForwarding no
SSH neu starten: sudo systemctl restart sshd
2. sysctl-Kernel-Härtung anwenden
Erstellen Sie /etc/sysctl.d/99-hardening.conf:
# IP-Quell-Routing deaktivieren
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0
# ICMP-Weiterleitungen ignorieren
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
# SYN-Cookie-Schutz aktivieren
net.ipv4.tcp_syncookies = 1
# Martian-Pakete protokollieren
net.ipv4.conf.all.log_martians = 1
# IPv6 deaktivieren, wenn nicht benötigt
net.ipv6.conf.all.disable_ipv6 = 1
Anwenden: sudo sysctl --system
3. auditd installieren und konfigurieren
sudo apt install auditd audispd-plugins
sudo systemctl enable auditd --now
Regeln für die Protokollierung privilegierter Befehle hinzufügen:
sudo auditctl -a always,exit -F arch=b64 -S execve -k exec_commands
4. Firewall aktivieren
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw enable
Nach diesen vier Änderungen steigt der typische Server-Score von 62 auf 75-80.
Vergleich: Lynis vs. alternative Sicherheitsaudit-Tools
| Tool | Typ | Umfang | CIS-Benchmarks | Behebung | Ideal für |
|---|---|---|---|---|---|
| Lynis | Lokaler Agent | Linux/macOS | Teilweise | Vorschläge | Sysadmin-Handhärtung |
| OpenSCAP | Lokaler Agent | Linux | Vollständig SCAP/XCCDF | Automatisiert | Compliance-orientierte Organisationen (DISA STIG) |
| CIS-CAT Lite | Lokaler Agent | Multi-OS | Vollständig CIS | Nur Bericht | CIS-Benchmark-Scoring |
| Wazuh | Agent + Server | Multi-OS | Ja | Alarme | Zentrales SIEM + Compliance |
| Nessus Essentials | Netzwerkscanner | Multi-OS | Ja | Bericht | Externe Schwachstellen-Scans |
| Trivy | Container/Code | Container, IaC | Teilweise | Bericht | DevSecOps-Pipelines |
Lynis eignet sich hervorragend zur Härtung einzelner Server durch einen Sysadmin. Für unternehmensweite Compliance-Dashboards oder Container-Sicherheit kombinieren Sie Lynis mit Wazuh oder OpenSCAP.
Praxisbeispiel
Sie haben einen Produktions-Webserver mit Ubuntu 22.04, Nginx, MySQL und einer Node.js-Anwendung. Er wurde vor sechs Monaten bereitgestellt und wurde noch nie auditiert. Vor dem ISO-27001-Audit des Unternehmens ist nun eine Sicherheitsprüfung erforderlich.
Sie führen sudo lynis audit system aus und erhalten einen Score von 58 mit 7 Warnungen und 34 Vorschlägen. Die kritischen Warnungen sind:
- SSH-Root-Anmeldung aktiviert — Ihre Deployment-Skripte nutzen noch das Root-Konto
- Keine Firewall-Regeln — die Instanz verlässt sich ausschließlich auf die Cloud-Sicherheitsgruppe
- MySQL lauscht auf 0.0.0.0 — unnötigerweise im internen Netzwerk exponiert
/tmpmitexec-Berechtigungen eingehängt — ermöglicht Codeausführung aus temporären Dateien
Sie arbeiten jede Warnung ab:
- Deployment-Skripte aktualisieren, um einen dedizierten Deploy-Benutzer mit sudo zu verwenden, dann
PermitRootLogin nosetzen ufw-Regeln hinzufügen, die nur Ports 22, 80 und 443 erlauben- MySQL in
/etc/mysql/mysql.conf.d/mysqld.cnfan127.0.0.1binden noexeczur/tmp-Einhängung in/etc/fstabhinzufügen und neu einhängen
Ein erneuter Lynis-Lauf ergibt einen Score von 79. Sie beheben fünf weitere hochprioritäre Vorschläge (auditd installieren, umask 027 setzen, nicht verwendete Kernel-Module deaktivieren) und erreichen 84 — deutlich über dem Schwellenwert von 80, der für das Audit erforderlich ist.
Stolperfallen und Sonderfälle
Score variiert je nach installierter Software. Lynis überspringt Tests für nicht vorhandene Tools (z. B. wenn postfix nicht installiert ist, werden alle E-Mail-bezogenen Tests übersprungen). Ein minimaler Server kann einfach deshalb höher abschneiden, weil weniger Angriffsflächen-Tests zutreffen — nicht weil er sicherer konfiguriert ist.
Einige Vorschläge widersprechen Anwendungsanforderungen. Das Deaktivieren von Compiler-Tools (gcc) bringt Punkte, aber ein Server, der Software kompiliert (CI-Runner, Build-Host), benötigt sie legitimerweise. Urteilen Sie mit Bedacht — Lynis ist ein Leitfaden, kein absolutes Regelwerk.
Erneute Ausführung ohne Änderungen kann leicht variieren. Lynis testet den Systemzustand in Echtzeit. Wenn zwischen zwei Läufen ein Prozess startet oder stoppt, kann der Score um 1-2 Punkte schwanken. Dies ist normales Rauschen.
Root-exklusive Tests. Das Ausführen von Lynis als Nicht-Root-Benutzer überspringt viele privilegierte Tests und liefert einen niedrigeren, weniger aussagekräftigen Score. Führen Sie Lynis immer mit sudo aus.
Benutzerdefinierte Profile. Für Umgebungen mit spezifischen Anforderungen (PCI-DSS, HIPAA) verwenden Sie --profile, um ein benutzerdefiniertes Lynis-Profil zu laden, das bestimmte Testgruppen aktiviert oder deaktiviert. Kopieren Sie /etc/lynis/default.prf und passen Sie es an, um False Positives für Ihre Umgebung zu unterdrücken.
Fehlerbehebung
„Warning: lynis executable not found” — das CISOfy-Repository-Paket installiert nach /usr/bin/lynis. Wenn Sie Lynis über ein Tarball installiert haben, stellen Sie sicher, dass der Pfad in Ihrem $PATH enthalten ist, oder rufen Sie es mit dem vollständigen Pfad auf.
Audit bricht mit Berechtigungsfehlern ab — bestimmte Tests prüfen /proc, /sys und /etc/shadow. Diese erfordern Root-Rechte. Führen Sie sudo lynis audit system aus, nicht als normaler Benutzer.
Protokolldatei wird nicht geschrieben — /var/log/lynis.log erfordert Schreibrechte. Auf SELinux-enforcing-Systemen prüfen Sie: ausearch -m avc -ts recent auf Lynis-bezogene Verweigerungen. Möglicherweise müssen Sie eine benutzerdefinierte SELinux-Richtlinie hinzufügen oder --logdir /tmp als Workaround verwenden.
Score nach einem OS-Update gesunken — Paketaktualisierungen können neue Software installieren, die Lynis nun testet. Überprüfen Sie neue Warnungen und Vorschläge, die durch das Update eingeführt wurden; sie stellen neu erkannte Angriffsflächen dar.
Cron-Job produziert keine Ausgabe — führen Sie ihn mit --quiet --cronjob aus und leiten Sie die Ausgabe in eine Datei um: sudo lynis audit system --quiet --cronjob >> /var/log/lynis-cron.log 2>&1. Verwenden Sie logrotate zur Verwaltung der Dateigröße.
Zusammenfassung
- Lynis-Audit scannt über 300 Sicherheitskontrollen und erstellt einen Härtungs-Index von 0 bis 100
- Frische Linux-Installationen erzielen typischerweise 55-65; Ziel ist 80+ für Produktionsserver
- WARNING-Einträge zuerst beheben (echte Schwachstellen), dann SUGGESTION-Einträge abarbeiten
- Die wirkungsvollsten Maßnahmen sind: SSH-Root-Anmeldung deaktivieren, Firewall aktivieren, auditd installieren und sysctl-Kernel-Härtung anwenden
- Lynis ist schreibgeschützt — es ändert nie Ihr System; alle Änderungen werden manuell angewendet
- Verwenden Sie
--profile, um False Positives spezifisch für Ihre Umgebung zu unterdrücken - Planen Sie wöchentliche Cron-Läufe, um Ihren Härtungs-Score im Laufe der Zeit zu erhalten
- Für Enterprise-Compliance (CIS, DISA STIG) kombinieren Sie Lynis mit OpenSCAP oder Wazuh