[[Vorlage(Getestet, bionic)]] {{{#!vorlage Wissen [:Pakete_installieren:Pakete installieren] [:Paketquellen_freischalten: Bearbeiten von Paketquellen] [:Terminal: Ein Terminal öffnen] [:Editor: Editor benutzen] [:Packprogramme:Archive entpacken] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(2)]] [sourceforge2:rkhunter:] {en} (Rootkit Hunter) ist ein Linux-Werkzeug, welches nach [wikipedia:Rootkit:Rootkits], [wikipedia:Backdoor:Hintertüren] und möglichen lokalen [wikipedia:Exploit:Exploits] sucht. Dabei vergleicht es vorhandene Dateien anhand von [wikipedia:Message-Digest_Algorithm_5:MD5]-hashes mit kompromittierten Dateien, sucht nach von Rootkits angelegten Ordnern, falschen Dateirechten, versteckten Dateien, verdächtigen Strings in Kernelmodulen und führt eine Reihe weiterer Tests durch. rkhunter richtet sich dabei an professionelle Linux-Administratoren, wobei das Programm natürlich jeder benutzen kann. Um die Ausgabe verstehen zu können, bedarf es aber mindestens Grundkenntnissen der tieferen Schichten des Betriebssystems. = Installation = == Aus den Paketquellen == Das Programm kann aus den Paketquellen von Ubuntu über das Paket {{{#!vorlage Paketinstallation rkhunter }}} installiert [1] werden. Wer automatische Scan-Läufe und E-Mail-Benachrichtigungen erhalten möchte, muss noch folgendes Paket installieren: {{{#!vorlage Paketinstallation mailutils }}} == Manuelle Installation == Zuerst lädt man sich das aktuelle rkhunter-Paket (Datei mit der Endung '''tar.gz''') von [sourceforge:rkhunter:Sourceforge] {en} herunter und entpackt [5] es in ein Verzeichnis seiner Wahl. Jetzt installiert man rkhunter vom Terminal [6] aus mit: {{{#!vorlage Befehl sudo ./installer.sh --layout /usr/local --install }}} = Paketsystem einbeziehen= rkhunter kann vom Paketsystem Gebrauch machen um z.B. die HASH-Werte für die Dateien aus dem Paketsystem zu beziehen. Standardmäßig verwendet rkhunter das Paketsystem nicht. Um das zu ändern muss man in der Datei /etc/rkhunter.conf den Eintrag {{{ PKGMGR=NONE }}} auf {{{ PKGMGR=DPKG }}} = Datenbank aufbauen = Bevor rkhunter verwendet werden kann, muss noch dessen Datenbank aufgebaut werden. Durch den Parameter `--propupd` werden die Hash-Werte (SHA256) für "known-good"-Dateien vom momentanen System erstellt. Bei einem Scan werden dann die gefundenen Werte mit diesen Hash-Werten verglichen. Dabei gilt zu beachten, dass dies nur funktioniert, wenn das System zu dem Zeitpunkt der Durchführung des Updates durch `--propupd` noch nicht kompromittiert war. Es empfiehlt sich also, diesen Schritt auf einer neuen Ubuntu-Installation anzuwenden, da somit sichergestellt wird, dass die Hash-Werte auch richtig sind. {{{#!vorlage Befehl sudo rkhunter --propupd }}} = Benutzung = Jetzt kann man das komplette System mit folgendem Befehl scannen: {{{#!vorlage Befehl sudo rkhunter -c }}} ||<-2 cellstyle="text-align: center; background-color: #F9EAAF;"> '''Einige Parameter'''|| ||`-c` ||kompletter System-Scan|| ||`--rwo`|| gibt nur Befunde aus ("report warnings only"); vermeidet überlange Ausgabe-Listen...|| ||`--display-logfile`|| zeigt eine Zusammenfassung des Scans am Ende|| ||`--skip-keypress`|| man muss zwischen den einzelnen Scan-Abschnitten nicht mehr Enter drücken|| ||`--propupd`||führt ein Update der known-good Hash-Datenbank durch (nur bei der manuell installierten Version bzw. > 1.3 möglich )|| Eine vollständige Liste der möglichen Parameter findet man in den [:man:manpages] von rkhunter. {{{#!vorlage Warnung Alleine durch die Benutzung von rkhunter kann nicht garantiert werden, dass sich nicht doch ein Rootkit auf dem System befindet. Die Anwendung von nur einem einzigen Tool ist nicht sehr effektiv, da ein Autor sein Rootkit dagegen immun gemacht haben könnte. Es sollten immer noch weitere Tests durchgeführt werden, wie zum Beispiel mit [:chkrootkit:] bzw. andere Maßnahmen vorgenommen werden. Des Weiteren sollte rkhunter, um dessen Integrität und damit die Verlässlichkeit sicherzustellen, immer von einem 100%ig unkompromittierten System ausgeführt werden, wie z.B. einer Live-CD. }}} = Automatische Scans und Signatur-Aktualisierungen per Cron-Job einrichten = Gerade bei Servern ist es nicht immer möglich, von einer Live-CD zu booten und dann nach Rootkits zu fanden. Hierfür haben die Programmierer die Möglichkeit geschaffen, sowohl rkhunter täglich als auch die Signatur-Aktualisierung automatisch als Cron-Job auszuführen. {{{#!vorlage Warnung Bevor man rkhunter als Cron-Job einplant, sollte man sich jedoch sicher sein, das Programm auf einem nicht kompromittierten System zu installieren, um die entsprechenden MD5-Fingerprints ("Checksummen") anzulegen (zum Beispiel direkt nach einer Neuinstallation). }}} Nach der Installation von rkhunter sollte man zuerst {{{#!vorlage Befehl sudo rkhunter --propupd }}} ausführen, um das Programm auf den aktuellen Stand zu bringen. {{{#!vorlage Befehl sudo rkhunter -c }}} startet dann einen umfassenden interaktiven Prüflauf. Hierbei kann es durchaus zu Fehlalarmen kommen. Diese überprüft man in der Logdatei '''/var/log/rkhunter.log''' und passt gegebenenfalls die Konfigurationsdatei '''/etc/rkhunter.conf''' an, zum Beispiel, um inetd-Dienste wie „swat“ hinzuzufügen. == Falsche Warnungen durch Whitelist-Einträge beseitigen == Nach dem ersten Scan sollte man '''/var/log/rkhunter.log''' genau ansehen und alle Warnungen genauer untersuchen. Dann kann man die Konfigurations-Datei '''/etc/rkhunter.conf''' so ändern, dass keine Warnungen mehr kommen ("Whitelisting"). Das folgendes Skript (das aus der FAQ von rkhunter entstanden ist) vereinfacht diese Arbeit, indem es für jede in der Log-Datei vorhandenen Warnung eine Whitelist-Konfigurations-Zeile am Bildschirm ausgibt. Für die falschen Warnungen kopiert man dann die passenden Konfigurations-Zeilen ans Ende der Konfigurations-Datei. {{{#!code sh #!/bin/sh # http://rkhunter.cvs.sourceforge.net/viewvc/rkhunter/rkhunter/files/FAQ LOG=/var/log/rkhunter.log cat <