Zum Hauptinhalt springen
Zurück zur Kategorie

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.

Lesezeit: 14 min Sicherheit
malwarerootkitrkhunterclamavsicherheitvirusscanlinuxserversicherheit

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

hljs bash
# 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

hljs bash
# 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

hljs bash
# 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

hljs bash
sudo nano /etc/rkhunter.conf
hljs ini
# /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
hljs bash
# 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

hljs bash
# Ubuntu/Debian
sudo apt update
sudo apt install clamav clamav-daemon -y

# CentOS/AlmaLinux
sudo dnf install clamav clamd clamav-update -y

Virendatenbank aktualisieren

hljs bash
# 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

hljs bash
# 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.

hljs bash
# 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

hljs bash
# Cron-Datei erstellen
sudo nano /etc/cron.d/security-scan
hljs bash
# /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

hljs bash
# 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

hljs bash
# 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

hljs bash
# 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.