Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux:security:rkhunter

RKHunter

rkhunter ist ein Linux-Werkzeug, welches nach Rootkits, Hintertüren und möglichen lokalen Exploits sucht. Dabei vergleicht es vorhandene Dateien anhand von 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

apt-get install rkhunter 

rkhunter ist leider nicht in der Lage, die Scan-Engine selbst zu aktualisieren (nur die Signatur-Dateien können aktualisiert werden).
Um auf eine neue rkhunter-Version der Scan-Engine zu prüfen, führt man diesen Befehl in der Konsole aus:

rkhunter --versioncheck  

Ist die aktuell verfügbare Version („Latest Version“) neuer, muss diese leider manuell nachinstalliert werden (siehe Manuelle Installation).

Manuelle Installation

Zuerst lädt man sich das aktuelle rkhunter-Paket (Datei mit der Endung tar.gz) von Sourceforge herunter und entpackt es in ein Verzeichnis seiner Wahl. Danach öffnet man zuerst mit einem Editor die Datei installer.sh und ändert die erste Zeile in

#!/bin/bash 

um. Jetzt installiert man rkhunter vom Terminal aus mit:

./installer.sh  --layout /usr/local --install 

Um nun die Probleme der Version aus den Paketquellen zu beheben, bringt man rkhunter 1.3 mit einem zusätzlichen Parameter auf den aktuellen Stand:

rkhunter --propupd --update  

Die Konfigurationsdatei liegt jetzt unter /usr/local/etc/rkhunter.conf.

Hinweis:
Durch den Parameter –propupd werden die Hash-Werte 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.

Automatische Tests per Cron-Job

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, rkhunter als Cron-Job auszuführen.
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 anzulegen (zum Beispiel nach einer Neuinstallation).

Nach der Installation von rkhunter sollte man zuerst

rkhunter --propupd --update  

ausführen, um das Programm auf den aktuellen Stand zu bringen.

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.

Läuft alles sauber, d.h. man bekommt keine Fehlalarme mehr, kann man rkhunter als Cron-Job in /etc/crontab eintragen:

10 3    * * *   root    /usr/bin/rkhunter --cronjob  

Wer aus den Paketquellen installiert hat, verwendet aber direkt /etc/cron.daily und muss nichts Weiteres einstellen. Eine weitere Anpassung der Konfigurationsdatei /etc/rkhunter.conf benachrichtigt bei Warnungen komfortabel per E-Mail. Der E-Mail Versand muss bei Verwendung von ssmtp angepasst werden. Siehe Mailversand bei Verwendung von ssmtp als Cronjob. Außerdem ist es sinnvoll, einen weiteren Scanner wie chkrootkit regelmäßig einzuplanen.

Mailversand bei Verwendung von ssmtp als Cronjob

rkhunter.sh in /root/bin/ erzeugen mit folgendem Inahlt:

#!/bin/sh 
MACHINE=`hostname` 
( echo Subject: "RKHunter Output for $MACHINE" 
/usr/local/bin/rkhunter --versioncheck 
/usr/local/bin/rkhunter --update 
/usr/local/bin/rkhunter --cronjob --nocolors --report-warnings-only 
) | /usr/sbin/sendmail RECEPIENT 
chmod 750 ./rkhunter.sh 
crontab -e 
# Jeden Tag um 03:10 rkhunter starten 
10      3       *       *       *       /root/bin/rkhunter.sh
linux/security/rkhunter.txt · Zuletzt geändert: 2014/04/17 10:07 von Madic