Was dieses Modul tut #
Ein Rootkit ist Schadsoftware, die dafür gemacht ist, sich in deinen Server einzuschleichen und zu verstecken: es ersetzt Systembefehle, öffnet Backdoors und verwischt seine eigenen Spuren, damit du es nicht siehst. Genau das ist das Problem — wenn es gut funktioniert, bemerkst du es nicht. Deshalb lohnt es sich, das System regelmäßig zu prüfen.
Das Modul rkhunter stützt sich auf rkhunter (Rootkit Hunter), um diese Arbeit für dich zu erledigen: es scannt das System, indem es Dateien und Befehle mit bekannten Rootkit-Signaturen vergleicht, achtet auf verdächtige Eigenschaften (ungewöhnliche Berechtigungen, versteckte Ports, veränderte Binärdateien) und fasst dir die Warnungen in klarer Sprache zusammen, damit du weißt, worauf du schauen musst. Es pflegt außerdem eine Baseline — eine Aufnahme davon, wie deine Dateien aussehen sollten — und hält die Signaturen aktuell, die beiden Bausteine, von denen eine zuverlässige Erkennung abhängt.
Aktualisiere nach dem Installieren des Moduls oder dem Aktualisieren von Systempaketen die Baseline mit update-baseline. Tust du das nicht, erscheinen legitime Änderungen (zum Beispiel ein apt upgrade) als Warnungen und du wirst dich schwertun, das Normale vom Verdächtigen zu unterscheiden.
Häufige Aufgaben #
Wähle, was du tun möchtest. Jedes Rezept bringt den Befehl schon fertig mit — kopiere ihn, füge ihn ein und drücke Kopieren.
1
Das System jetzt scannen
Starte eine vollständige Analyse und erhalte eine Zusammenfassung der Warnungen.
Verbinde dich per SSH mit deinem Server über den Benutzer ubuntu.
Starte den Scan. Er dauert eine Weile: rkhunter prüft Hunderte von Dateien und Befehlen.
$ sudo imaxe rkhunter checkRufst du es aus einem Skript auf oder willst du es mit einem anderen Werkzeug integrieren? Füge --json hinzu:
$ sudo imaxe rkhunter check --json2
Die Warnungen des letzten Scans ansehen
Geh durch, was rkhunter markiert hat, in lesbarem Format.
Zeige die Warnungen des letzten check, ohne erneut scannen zu müssen:
$ sudo imaxe rkhunter report3
Den Status prüfen
Auf einen Blick: Installation, Baseline, letzter Scan und Warnungen.
Eine schnelle Übersicht, ob rkhunter bereit ist, ob es eine Baseline gibt, wann der letzte Scan war, wie viele Warnungen er hinterlassen hat und ob ein Scan geplant ist:
$ sudo imaxe rkhunter statusFür Monitoring oder Skripte fordere es als JSON an:
$ sudo imaxe rkhunter status --json4
Die Baseline aktualisieren
Akzeptiere den aktuellen Zustand der Dateien als gute Referenz.
Speichere die aktuellen Eigenschaften der Dateien als Baseline (entspricht rkhunter --propupd). Tu dies nur, wenn du dem Zustand des Systems vertraust — zum Beispiel direkt nach der Installation oder nach einem Update, das du erkennst:
$ sudo imaxe rkhunter update-baselinecheck geht von dieser neuen Referenzaufnahme aus.5
Die Signaturen aktualisieren
Lade die neuesten rkhunter-Datendateien herunter.
Aktualisiere die Datendateien und Signaturen von rkhunter (entspricht rkhunter --update), damit die Erkennung die neuesten Rootkits kennt:
$ sudo imaxe rkhunter update-datacheck neuere Bedrohungen. Es lohnt sich, das vor einem wichtigen Scan zu tun.Das ist normal beim ersten Mal oder direkt nach dem Aktualisieren von Paketen: rkhunter sieht Änderungen, die noch nicht in der Baseline sind. Sieh sie dir mit report an, und wenn du sie als legitim erkennst, akzeptiere sie mit update-baseline. Aktualisiere die Baseline niemals, wenn du vermutest, dass das System bereits kompromittiert ist.
Synopsis #
imaxe rkhunter <subcomando> [--json]Alle Unterbefehle erfordern root-Rechte (nutze sudo), da rkhunter Systemdateien lesen, Binärdateien vergleichen und seine Baseline sowie seine Daten schreiben muss. Füge --json zu check oder status hinzu, um maschinenlesbare Ausgabe zu erhalten, geeignet für Scripting und Monitoring.
Unterbefehle #
| Unterbefehl | Was er tut | Relevante Flags |
|---|---|---|
| check | Startet einen Rootkit-/Malware-Scan und fasst die Warnungen zusammen. | --json |
| report | Zeigt die Warnungen des letzten Scans in lesbarer Form. | — |
| status | Status: installiert, Baseline vorhanden, letzter Scan, Warnungen und geplanter Scan. | --json |
| update-baseline | Akzeptiert die aktuellen Dateieigenschaften als Baseline (rkhunter --propupd). | — |
| update-data | Aktualisiert die Daten-/Signaturdateien von rkhunter (rkhunter --update). | — |
Argumente und Flags #
| Flag | Typ | Standard | Beschreibung |
|---|---|---|---|
| --json | bool | false | Bei check/status gibt das Ergebnis als strukturiertes JSON über stdout aus, geeignet für Scripting und Monitoring. |
Die Unterbefehle report, update-baseline und update-data nehmen keine Flags an: sie laufen ohne Argumente.
Dateien und Pfade #
| Pfad | Inhalt |
|---|---|
| /etc/imaxe/rkhunter.yml | Konfiguration des Moduls: standardmäßig meldet check nur Warnungen (report_warnings_only). |
| /var/lib/rkhunter/db/ | Eigenschaften-Baseline der Dateien und Daten-/Signaturdateien, die update-baseline und update-data aktualisieren. |
| /var/log/rkhunter.log | Log des letzten Scans, aus dem report die Warnungen extrahiert. |
Beispiel für rkhunter.yml:
check:
report_warnings_only: trueExit-Codes und Logs #
Jede Ausführung liefert einen Code, den du mit echo $? prüfen kannst — nützlich zum Verketten in Skripten oder Auslösen von Warnungen aus dem Monitoring:
Prüfe das Log des letzten Scans, während du sichtest:
$ sudo imaxe rkhunter report
$ sudo tail -f /var/log/rkhunter.logFehlerbehebung #
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| WARN erscheint (Code 1) nach dem Aktualisieren von Paketen | Legitime Änderungen, die noch nicht in der Baseline sind. | Sichte mit report; erkennst du sie, akzeptiere sie mit update-baseline. |
status sagt „baseline: not present" | Das Modul wurde gerade installiert und es gibt keine Referenzaufnahme. | Führe update-baseline einmal aus, während das System in einem vertrauenswürdigen Zustand ist. |
| Viele Warnungen über alte Dateien oder Versionen | Die Signaturen und Daten von rkhunter sind veraltet. | Führe update-data aus und wiederhole den check. |
| ERR erscheint (Code 3) | rkhunter ist nicht installiert oder die Binärdatei antwortet nicht. | Prüfe die Installation des Moduls und konsultiere /var/log/rkhunter.log. |
Steckst du beim Modul rkhunter fest?
Schreib uns mit der Ausgabe von «imaxe <module> status --json» und wir antworten dir schnell.