Viren- und Rootkit-Scanner: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „= Viren- und Rootkit-Scanner = Unter Linux sind klassische Viren-Infektionen deutlich seltener als unter Windows – dennoch existieren Bedrohungen: Rootkits,…“)
 
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
 +
 
= Viren- und Rootkit-Scanner =
 
= Viren- und Rootkit-Scanner =
  
Zeile 70: Zeile 71:
 
<code>chkrootkit</code> meldet unter Debian häufig einen Alarm beim Paket <code>sysstat</code>:
 
<code>chkrootkit</code> meldet unter Debian häufig einen Alarm beim Paket <code>sysstat</code>:
  
<code>apt install sysstat -y</code>
+
<pre>
<code>sudo chkrootkit | grep -i infected</code>
+
apt install sysstat -y
 +
sudo chkrootkit | grep -i infected
 +
</pre>
  
 
Typische Ausgabe:
 
Typische Ausgabe:
Zeile 104: Zeile 107:
 
Um zu zeigen, was rkhunter erkennt, wird manuell eine SUID-Datei erstellt:
 
Um zu zeigen, was rkhunter erkennt, wird manuell eine SUID-Datei erstellt:
  
<code>sudo cp /bin/bash /tmp/backdoor</code>
+
<pre>
<code>sudo chmod u+s /tmp/backdoor</code>
+
sudo cp /bin/bash /tmp/backdoor
 +
sudo chmod u+s /tmp/backdoor
 +
</pre>
  
 
Jetzt Scan ausführen:
 
Jetzt Scan ausführen:
Zeile 119: Zeile 124:
 
Bekannte False Positives können in <code>/etc/rkhunter.conf</code> whitegelistet werden:
 
Bekannte False Positives können in <code>/etc/rkhunter.conf</code> whitegelistet werden:
  
<code>SCRIPTWHITELIST=/usr/bin/prelink</code>
+
<pre>
<code>ALLOWHIDDENDIR=/dev/.udev</code>
+
SCRIPTWHITELIST=/usr/bin/prelink
 +
ALLOWHIDDENDIR=/dev/.udev
 +
</pre>
  
 
Nach Änderungen an der Konfiguration:
 
Nach Änderungen an der Konfiguration:
Zeile 132: Zeile 139:
 
=== Datenbank aktualisieren ===
 
=== Datenbank aktualisieren ===
  
<code>sudo systemctl stop clamav-freshclam</code>
+
<pre>
<code>sudo freshclam</code>
+
sudo systemctl stop clamav-freshclam
<code>sudo systemctl start clamav-freshclam</code>
+
sudo freshclam
 +
sudo systemctl start clamav-freshclam
 +
</pre>
  
 
=== Verzeichnis scannen ===
 
=== Verzeichnis scannen ===
Zeile 147: Zeile 156:
 
Der EICAR-Testvirus ist eine harmlose Datei, die von allen Virenscannern als Bedrohung erkannt werden soll:
 
Der EICAR-Testvirus ist eine harmlose Datei, die von allen Virenscannern als Bedrohung erkannt werden soll:
  
<code>echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > /tmp/eicar.txt</code>
+
<pre>
<code>sudo clamscan /tmp/eicar.txt</code>
+
echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > /tmp/eicar.txt
 +
sudo clamscan /tmp/eicar.txt
 +
</pre>
  
 
Erwartete Ausgabe:
 
Erwartete Ausgabe:

Aktuelle Version vom 4. Mai 2026, 19:21 Uhr

Viren- und Rootkit-Scanner

Unter Linux sind klassische Viren-Infektionen deutlich seltener als unter Windows – dennoch existieren Bedrohungen: Rootkits, Trojaner, Web-Shells auf Servern oder kompromittierte Binaries. Dieser Artikel stellt grundlegende Werkzeuge zur Erkennung solcher Bedrohungen vor und zeigt deren Einsatz in der Praxis.

Hintergrund

Braucht Linux einen Virenscanner?

Die kurze Antwort: Nicht zwingend, aber situationsabhängig. Für Desktop-Systeme mit aktuellem Kernel und eingeschränkten Nutzerrechten ist das Risiko gering. Relevanter wird das Thema bei:

  • Servern mit vielen Nutzern oder Webdiensten
  • Systemen, die Dateien für Windows-Clients bereitstellen (Samba)
  • Umgebungen mit Compliance-Anforderungen (z.B. PCI-DSS)

Was ist ein Rootkit?

Ein Rootkit ist Schadsoftware, die sich gezielt versteckt – oft durch Manipulation von Systembinaries, Kernelmodulen oder Bibliotheken. Ziel ist es, dauerhaften, unentdeckten Zugriff auf ein System zu sichern. Erkennungswerkzeuge suchen daher nach:

  • veränderten Systembinaries (Hashvergleich)
  • bekannten Rootkit-Signaturen
  • verdächtigen SUID-Dateien und versteckten Prozessen
  • auffälligen Netzwerkverbindungen

Grenzen signaturbasierter Scanner

Alle hier vorgestellten Tools arbeiten signaturbasiert oder prüfen gegen eine bekannte Baseline. Das bedeutet:

  • Neue, unbekannte Rootkits werden nicht erkannt
  • False Positives sind häufig (legitime Tools werden als verdächtig gemeldet)
  • Ein sauberer Scan schließt eine Kompromittierung nicht aus

Ein positiver Befund ist immer manuell zu verifizieren.

Werkzeuge im Überblick

Werkzeug Typ Stärke Schwäche
chkrootkit Rootkit-Scanner einfach, schnell veraltet, wenige Updates
rkhunter Rootkit-/Backdoor-Scanner umfangreicher, konfigurierbar viele False Positives
ClamAV Virenscanner aktive Datenbank, gut für Dateiserver kein Rootkit-Fokus

Installation

apt install chkrootkit rkhunter clamav clamav-daemon -y

chkrootkit

Grundnutzung

chkrootkit prüft Systembinaries auf bekannte Rootkit-Modifikationen per Shell-Skript.

sudo chkrootkit

Relevante Ausgabezeilen:

  • INFECTED – Treffer (unbedingt verifizieren, oft False Positive)
  • not infected – unauffällig
  • not found – Binary nicht vorhanden

Ausgabe in Datei umleiten:

sudo chkrootkit | tee /root/chkrootkit-$(date +%F).log

Vorführung: False Positive provozieren

chkrootkit meldet unter Debian häufig einen Alarm beim Paket sysstat:

apt install sysstat -y
sudo chkrootkit | grep -i infected

Typische Ausgabe:

Checking `sniffer'... lo: PACKET SNIFFER(/usr/lib/xorg/Xorg PID)

Das ist ein bekannter False Positive – Xorg verwendet Raw Sockets, was chkrootkit als Sniffer interpretiert. Solche Meldungen illustrieren gut, warum Ergebnisse immer zu hinterfragen sind.

rkhunter

Konfiguration vorbereiten

Vor dem ersten Lauf muss eine Baseline der Systembinaries erstellt werden – nur auf einem nachweislich sauberen System:

sudo rkhunter --propupd

Diese Datenbank wird bei späteren Scans als Referenz verwendet.

Scan durchführen

sudo rkhunter --check --sk

  • --check – führt alle Tests durch
  • --sk – überspringt Enter-Bestätigungen (Skip Keypress)

Ergebnis im Log:

sudo grep -i warning /var/log/rkhunter.log

Vorführung: Verdächtige SUID-Datei anlegen

Um zu zeigen, was rkhunter erkennt, wird manuell eine SUID-Datei erstellt:

sudo cp /bin/bash /tmp/backdoor
sudo chmod u+s /tmp/backdoor

Jetzt Scan ausführen:

sudo rkhunter --check --sk 2>/dev/null | grep -A2 -i "suid"

rkhunter meldet die neue SUID-Datei als auffällig. Danach aufräumen:

sudo rm /tmp/backdoor

Whitelist für False Positives

Bekannte False Positives können in /etc/rkhunter.conf whitegelistet werden:

SCRIPTWHITELIST=/usr/bin/prelink
ALLOWHIDDENDIR=/dev/.udev

Nach Änderungen an der Konfiguration:

sudo rkhunter --propupd

ClamAV

ClamAV ist primär ein Virenscanner – kein Rootkit-Detektor. Relevant für Systeme, die Dateien für Windows-Clients bereitstellen oder Mail-Server betreiben.

Datenbank aktualisieren

sudo systemctl stop clamav-freshclam
sudo freshclam
sudo systemctl start clamav-freshclam

Verzeichnis scannen

sudo clamscan -r --infected /home

  • -r – rekursiv
  • --infected – nur infizierte Dateien ausgeben

Vorführung: Testdatei EICAR

Der EICAR-Testvirus ist eine harmlose Datei, die von allen Virenscannern als Bedrohung erkannt werden soll:

echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > /tmp/eicar.txt
sudo clamscan /tmp/eicar.txt

Erwartete Ausgabe:

/tmp/eicar.txt: Eicar-Signature FOUND

Danach aufräumen:

sudo rm /tmp/eicar.txt

Automatisierung mit Cron

Regelmäßige Scans können per Cronjob eingerichtet werden:

sudo crontab -e

Beispiel: rkhunter täglich um 02:00 Uhr mit Ergebnismail:

0 2 * * * /usr/bin/rkhunter --check --sk --report-warnings-only | mail -s "rkhunter Report $(hostname)" root

Voraussetzung: Ein MTA (z.B. postfix) muss konfiguriert sein.

Fazit und Einordnung

Szenario Empfehlung
Schneller Einmal-Check chkrootkit + rkhunter kombinieren
Dateiserver für Windows-Clients ClamAV mit regelmäßigem Scan
Produktiver Server mit Compliance-Anforderungen Wazuh / OSSEC als vollständiges HIDS
Verdacht auf aktive Kompromittierung System offline nehmen, Forensik von externem Medium

Wichtigste Erkenntnis: Ein sauberer Scan bedeutet nicht "sicher". Die Tools sind eine Schicht im Sicherheitskonzept, kein Allheilmittel. Ergänzend dazu gehören: aktueller Kernel, minimale Angriffsfläche, Firewall, und Monitoring von Logins und Systemänderungen (siehe Artikel Linux Security Hardening).

Weblinks