Malware & Rootkit-Scan: rkhunter und ClamAV Anleitung
Schützen Sie Ihren Linux-Server vor Malware und Rootkits. rkhunter und ClamAV Installation, Scan-Konfiguration, Ergebnisinterpretation, geplante Scans und Incident-Response-Anleitung.
Inhaltsverzeichnis
Malware & Rootkit-Scan: rkhunter und ClamAV Anleitung
Obwohl Linux-Server seltener als Windows-Systeme angegriffen werden, sind sie nicht immun gegen Malware und Rootkit-Angriffe. Regelmäßige Sicherheitsscans sind besonders für internetfähige Server unerlässlich. Diese Anleitung führt Sie durch den Aufbau einer umfassenden Sicherheits-Scan-Infrastruktur mit rkhunter und ClamAV.
Was ist rkhunter?
rkhunter (Rootkit Hunter) ist ein Open-Source-Sicherheitstool zur Erkennung von Rootkits, Backdoors und lokalen Exploits auf Linux-Systemen. Es überprüft Hash-Werte, Berechtigungen und bekannte Rootkit-Signaturen von Systemdateien.
rkhunter installieren
# Ubuntu/Debian
sudo apt update
sudo apt install rkhunter -y
# CentOS/AlmaLinux/Rocky Linux
sudo dnf install rkhunter -y
# oder aus dem EPEL-Repo:
sudo dnf install epel-release -y
sudo dnf install rkhunter -y
rkhunter-Datenbank aktualisieren
# Signaturdatenbank aktualisieren
sudo rkhunter --update
# Initiale Hash-Werte der Systemdateien speichern
# Führen Sie dies auf einem sauberen System aus!
sudo rkhunter --propupd
Führen Sie --propupd nur aus, wenn Sie sicher sind, dass Ihr System sauber ist. Dieser Befehl speichert aktuelle Datei-Hashes als Referenzwerte.
rkhunter-Scans durchführen
# Vollständiger Systemscan
sudo rkhunter --check
# Nicht-interaktiver Modus (für Cron)
sudo rkhunter --check --skip-keypress
# Nur Warnungen anzeigen
sudo rkhunter --check --rwo
# Ausführliche Ausgabe
sudo rkhunter --check --verbose-logging
# Log-Datei anzeigen
sudo cat /var/log/rkhunter.log
rkhunter-Konfiguration
sudo nano /etc/rkhunter.conf
# /etc/rkhunter.conf wichtige Einstellungen
# E-Mail-Benachrichtigung
MAIL-ON-WARNING=admin@example.com
MAIL_CMD=mail -s "[rkhunter] Warnung - $(hostname)"
# Tägliche Aktualisierung
AUTO_X_DETECT=1
UPDATE_MIRRORS=1
MIRRORS_MODE=0
# Whitelist - bekannte gute Dateien
SCRIPTWHITELIST=/usr/bin/egrep
SCRIPTWHITELIST=/usr/bin/fgrep
SCRIPTWHITELIST=/usr/bin/which
# Verstecktes Verzeichnis prüfen
ALLOW_HIDDEN_SYS_FILELIST=0
# SSH-Root-Login prüfen
ALLOW_SSH_ROOT_USER=no
ALLOW_SSH_PROT_V1=0
rkhunter-Ergebnisse interpretieren
Die rkhunter-Ausgabe zeigt drei Zustände:
- OK (Grün): Datei oder Einstellung ist sicher
- Warning (Gelb): Verdächtiger Zustand, manuelle Überprüfung erforderlich
- Not found (Weiß): Tool oder Datei nicht auf dem System vorhanden
# Nur Warnungen filtern
sudo grep -i warning /var/log/rkhunter.log
# Zusammenfassungsbericht anzeigen
sudo tail -50 /var/log/rkhunter.log
Einige Warnungen können falsch-positiv sein. Benutzerdefinierte kompilierte Tools oder modifizierte Systemdateien können Warnungen auslösen. Überprüfen Sie jede Warnung manuell.
Was ist ClamAV?
ClamAV ist eine Open-Source-Antivirus-Engine. Sie wird auf Linux-Servern häufig für Datei-Scans, E-Mail-Anhang-Prüfungen und Web-Content-Scans verwendet.
ClamAV installieren
# Ubuntu/Debian
sudo apt update
sudo apt install clamav clamav-daemon -y
# CentOS/AlmaLinux
sudo dnf install clamav clamd clamav-update -y
Virendatenbank aktualisieren
# ClamAV-Dienst stoppen (für Update)
sudo systemctl stop clamav-freshclam
# Datenbank manuell aktualisieren
sudo freshclam
# Dienst neu starten
sudo systemctl start clamav-freshclam
sudo systemctl enable clamav-freshclam
# Update-Status prüfen
sudo freshclam --verbose
Mit ClamAV scannen
# Einzelnes Verzeichnis scannen
sudo clamscan -r /home
# Vollständiger Systemscan (kann langsam sein)
sudo clamscan -r / --exclude-dir="^/sys" --exclude-dir="^/proc" --exclude-dir="^/dev"
# Nur infizierte Dateien anzeigen
sudo clamscan -r /var/www --infected
# Infizierte Dateien entfernen (mit Vorsicht verwenden!)
sudo clamscan -r /home --infected --remove
# Infizierte Dateien in Quarantäne verschieben
sudo clamscan -r /home --infected --move=/quarantine
# Scan-Ergebnisse in Datei speichern
sudo clamscan -r / --log=/var/log/clamav-scan.log --exclude-dir="^/sys" --exclude-dir="^/proc"
ClamAV-Daemon (clamd) verwenden
clamd ist der Hintergrund-ClamAV-Dienst und für wiederholte Scans viel schneller.
# clamd-Dienst starten
sudo systemctl start clamav-daemon
sudo systemctl enable clamav-daemon
# Schneller Scan mit clamdscan
sudo clamdscan -r /home
Geplante Scans einrichten
Automatisierte Scans mit Cron
# Cron-Datei erstellen
sudo nano /etc/cron.d/security-scan
# /etc/cron.d/security-scan
# rkhunter-Scan jeden Abend um 02:00
0 2 * * * root /usr/bin/rkhunter --check --skip-keypress --report-warnings-only 2>&1 | mail -s "[rkhunter] $(hostname) Tagesbericht" admin@example.com
# ClamAV-Vollscan jeden Sonntag um 03:00
0 3 * * 0 root /usr/bin/clamscan -r / --exclude-dir="^/sys" --exclude-dir="^/proc" --exclude-dir="^/dev" --infected --log=/var/log/clamav-weekly.log
# ClamAV-Datenbankupdate täglich
0 1 * * * root /usr/bin/freshclam --quiet
Incident Response
Wenn beim Scannen eine Bedrohung erkannt wird:
1. System isolieren
# Netzwerkverbindungen prüfen
sudo ss -tlnp
# Verdächtige Verbindungen finden
sudo ss -anp | grep ESTABLISHED
# Netzwerkzugang bei Bedarf einschränken
sudo ufw default deny incoming
sudo ufw default deny outgoing
sudo ufw allow ssh # SSH-Zugang behalten
2. Beweise sammeln
# Laufende Prozesse speichern
ps aux > /tmp/processes_$(date +%Y%m%d).txt
# Netzwerkverbindungen speichern
ss -anp > /tmp/connections_$(date +%Y%m%d).txt
# Kürzlich geänderte Dateien finden
find / -mtime -1 -type f 2>/dev/null | grep -v proc | grep -v sys
3. Bereinigung und Wiederherstellung
# Verdächtige Dateien in Quarantäne verschieben
mkdir -p /quarantine
mv /path/to/suspicious/file /quarantine/
# Systemdateien verifizieren
sudo debsums -c # Debian/Ubuntu
sudo rpm -Va # CentOS/RHEL
Bei einer schwerwiegenden Rootkit-Infektion ist die sicherste Lösung eine Neuinstallation des Servers. Da Rootkits Systemtools modifizieren können, ist eine Bereinigung nicht immer zuverlässig.
Fazit
Regelmäßige Malware- und Rootkit-Scans sind ein grundlegender Bestandteil der Serversicherheit. Die gemeinsame Verwendung von rkhunter und ClamAV schafft eine umfassende Schutzschicht. Geplante Scans und E-Mail-Benachrichtigungen ermöglichen eine frühzeitige Erkennung von Sicherheitsbedrohungen.
Verwandte Artikel
Fail2Ban Konfiguration: SSH Brute-Force-Schutz Anleitung
Schützen Sie Ihren Server vor SSH-Brute-Force-Angriffen mit Fail2Ban. Installation, jail.local-Konfiguration, Nginx/Apache-Jails, IP-Whitelist, Ban-Überwachung und E-Mail-Benachrichtigungen.
WireGuard VPN-Server einrichten: Schritt-für-Schritt-Anleitung
WireGuard VPN-Server einrichten: Schlüsselgenerierung, Server- und Client-Konfiguration, IP-Weiterleitung, Firewall-Regeln und Windows/Linux/Android-Client-Setup.
Zero Trust Netzwerksicherheit: Grundlegende Konfigurationsanleitung
Zero Trust Netzwerksicherheitsprinzipien und praktische Umsetzung: niemals vertrauen immer verifizieren, Mikro-Segmentierung, identitätsbasierter Zugriff und Implementierung mit vorhandenen Linux-Tools.