Viren- und Rootkit-Scanner: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
*[[chkrootkit und rkhunter]]
= Viren- und Rootkit-Scanner =
*[[debsums]]
 
*[[rpm verify]]
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.
*[[clamav Verzeichnis scannen]]
 
== 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 ==
 
{| class="wikitable"
! Werkzeug !! Typ !! Stärke !! Schwäche
|-
| <code>chkrootkit</code> || Rootkit-Scanner || einfach, schnell || veraltet, wenige Updates
|-
| <code>rkhunter</code> || Rootkit-/Backdoor-Scanner || umfangreicher, konfigurierbar || viele False Positives
|-
| <code>ClamAV</code> || Virenscanner || aktive Datenbank, gut für Dateiserver || kein Rootkit-Fokus
|}
 
== Installation ==
 
<code>apt install chkrootkit rkhunter clamav clamav-daemon -y</code>
 
== chkrootkit ==
 
=== Grundnutzung ===
 
<code>chkrootkit</code> prüft Systembinaries auf bekannte Rootkit-Modifikationen per Shell-Skript.
 
<code>sudo chkrootkit</code>
 
Relevante Ausgabezeilen:
 
* <code>INFECTED</code> – Treffer (unbedingt verifizieren, oft False Positive)
* <code>not infected</code> – unauffällig
* <code>not found</code> – Binary nicht vorhanden
 
Ausgabe in Datei umleiten:
 
<code>sudo chkrootkit | tee /root/chkrootkit-$(date +%F).log</code>
 
=== Vorführung: False Positive provozieren ===
 
<code>chkrootkit</code> meldet unter Debian häufig einen Alarm beim Paket <code>sysstat</code>:
 
<pre>
apt install sysstat -y
sudo chkrootkit | grep -i infected
</pre>
 
Typische Ausgabe:
 
Checking `sniffer'... lo: PACKET SNIFFER(/usr/lib/xorg/Xorg PID)
 
Das ist ein bekannter False Positive – <code>Xorg</code> verwendet Raw Sockets, was <code>chkrootkit</code> 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''':
 
<code>sudo rkhunter --propupd</code>
 
Diese Datenbank wird bei späteren Scans als Referenz verwendet.
 
=== Scan durchführen ===
 
<code>sudo rkhunter --check --sk</code>
 
* <code>--check</code> – führt alle Tests durch
* <code>--sk</code> – überspringt Enter-Bestätigungen (Skip Keypress)
 
Ergebnis im Log:
 
<code>sudo grep -i warning /var/log/rkhunter.log</code>
 
=== Vorführung: Verdächtige SUID-Datei anlegen ===
 
Um zu zeigen, was rkhunter erkennt, wird manuell eine SUID-Datei erstellt:
 
<pre>
sudo cp /bin/bash /tmp/backdoor
sudo chmod u+s /tmp/backdoor
</pre>
 
Jetzt Scan ausführen:
 
<code>sudo rkhunter --check --sk 2>/dev/null | grep -A2 -i "suid"</code>
 
rkhunter meldet die neue SUID-Datei als auffällig. Danach aufräumen:
 
<code>sudo rm /tmp/backdoor</code>
 
=== Whitelist für False Positives ===
 
Bekannte False Positives können in <code>/etc/rkhunter.conf</code> whitegelistet werden:
 
<pre>
SCRIPTWHITELIST=/usr/bin/prelink
ALLOWHIDDENDIR=/dev/.udev
</pre>
 
Nach Änderungen an der Konfiguration:
 
<code>sudo rkhunter --propupd</code>
 
== 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 ===
 
<pre>
sudo systemctl stop clamav-freshclam
sudo freshclam
sudo systemctl start clamav-freshclam
</pre>
 
=== Verzeichnis scannen ===
 
<code>sudo clamscan -r --infected /home</code>
 
* <code>-r</code> – rekursiv
* <code>--infected</code> – nur infizierte Dateien ausgeben
 
=== Vorführung: Testdatei EICAR ===
 
Der EICAR-Testvirus ist eine harmlose Datei, die von allen Virenscannern als Bedrohung erkannt werden soll:
 
<pre>
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:
 
/tmp/eicar.txt: Eicar-Signature FOUND
 
Danach aufräumen:
 
<code>sudo rm /tmp/eicar.txt</code>
 
== Automatisierung mit Cron ==
 
Regelmäßige Scans können per Cronjob eingerichtet werden:
 
<code>sudo crontab -e</code>
 
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. <code>postfix</code>) muss konfiguriert sein.
 
== Fazit und Einordnung ==
 
{| class="wikitable"
! Szenario !! Empfehlung
|-
| Schneller Einmal-Check || <code>chkrootkit</code> + <code>rkhunter</code> kombinieren
|-
| Dateiserver für Windows-Clients || <code>ClamAV</code> 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 ==
 
* [http://www.chkrootkit.org/ chkrootkit Projektseite]
* [https://rkhunter.sourceforge.net/ rkhunter Projektseite]
* [https://www.clamav.net/ ClamAV]

Aktuelle Version vom 30. September 2026, 17:44 Uhr