Gut, das man auf Unix-Betriebssystemen keinen Virenscanner benötigt ist Interpretationssache und natürlich stark vom jeweiligen Einsatzzweck des Systems abhängig. Bei Fileservern für Windows-Systeme macht dieser nämlich durchaus wieder Sinn. Was man jedoch auf allen, zumindest öffentlich erreichbaren, Servern haben sollte ist eine Routine zur Suche nach tiefer gehenden Kompromittierungen. Hier bietet sich der Rootkit Hunter an, welcher nach Rootkits, Backdoors und lokalen Exploits sucht.
Im Normalfall steht Rootkit Hunter bereits als fertiges Paket zur Verfügung und kann über das distributionseigene Paketmanagement als rkhunter schnell installiert werden. Im Anschluss an die Installation sollte man sicherstellen das der Rootkit Hunter auch über die aktuellen Schädlingsdefinitionen vergügt, das geschieht über folgenden Aufruf:

~# rkhunter --update
[ Rootkit Hunter version 1.4.0 ]
Checking rkhunter data files...
  Checking file mirrors.dat                                  [ No update ]
  Checking file programs_bad.dat                             [ No update ]
  Checking file backdoorports.dat                            [ No update ]
  Checking file suspscan.dat                                 [ No update ]
  Checking file i18n/cn                                      [ No update ]
  Checking file i18n/de                                      [ No update ]
  Checking file i18n/en                                      [ No update ]
  Checking file i18n/zh                                      [ No update ]
  Checking file i18n/zh.utf8                                 [ No update ]

Mit dem Parameter “propupd” speichert Rootkit Hunter den aktuellen Zustand des Systems als Referenz und gleicht diesen Stand bei zukünftigen Durchläufen ab. Daher sollte man sicherstellen das RKHunter nur auf einem bisher unkompromittierten System in Betrieb genommen wird. Am Besten ist es also den Rootkit Hunter direkt im Anschluss an eine Betriebssystemneuinstallation zu installieren.

~# rkhunter --propupd
[ Rootkit Hunter version 1.4.0 ]
File updated: searched for 169 files, found 138

Damit Rootkit Hunter keine unnötigen Warnungmeldungen generiert, empfiehlt es sich diesen Aufruf auch nach gravierenden Änderungen am Betriebssystem (u.a. auch bei Kernel-Updates, etc.) durchzuführen.
In der zentralen Konfigurationsdatei “/etc/rkhunter.conf” sollte unter “OS_VERSION_FILE” sichergestellt werden das RKHunter das verwendete Betriebssystem identifizieren kann. Außerdem kann ggf. die Mailadresse für Benachrichtigungen bei “MAIL-ON-WARNING” angepasst werden. Danach steht einem ersten Systemcheck nichts mehr im Wege:

~# rkhunter --check
[ Rootkit Hunter version 1.4.0 ]
Checking system commands...
...
Checking for rootkits...
...
Checking the network...
...
Checking the local host...
...
System checks summary
=====================
File properties checks...
    Files checked: 138
    Suspect files: 2
Rootkit checks...
    Rootkits checked : 303
    Possible rootkits: 0
Applications checks...
    All checks skipped
The system checks took: 9 minutes and 18 seconds
All results have been written to the log file (/var/log/rkhunter.log)
One or more warnings have been found while checking the system.
Please check the log file (/var/log/rkhunter.log)

Warnungen protokolliert RKHunter ausführlich nach “/var/log/rkhunter.log” und gibt am Ende des Durchlaufs eine Kurzzusammenfassung aus. Je nachdem welche Warnungen beim Durchlauf auftreten erfordert dies ggf. entsprechende Konfigurationsanpassungen in “/etc/rkhunter.conf”. Danach ist es angebracht einen erneuten Checkdurchgang zu starten bis keine Warnungen mehr auftreten.
Ist ein konsistenter Zustand des System erreicht sollte Rootkit Hunter selbstverständlich in regelmäßigen Abständen ausgeführt werden. Dafür kann der folgende Befehl als Cron-Aufruf hinterlegt werden:

~# rkhunter --crontab

Mit “chrootkit” steht auch eine Alternative zum Rootkit Hunter bereit. In diesem Sinne kann ich Ihnen nur noch wünschen das diese Tools bei ihrer Arbeit keine unerwünschten Eindringlinge entdecken!

Markus Waldmüller
Markus Waldmüller
Lead Senior Consultant

Markus war bereits mehrere Jahre als Sysadmin in Neumarkt i.d.OPf. und Regensburg tätig. Nach Technikerschule und Selbständigkeit ist er nun Anfang 2013 bei NETWAYS als Lead Senior Consultant gelandet. Wenn er nicht gerade die Welt bereist, ist der sportbegeisterte Neumarkter mit an Sicherheit grenzender Wahrscheinlichkeit auf dem Mountainbike oder am Baggersee zu finden.