Viren- und Rootkit-Scanner: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(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