Konfiguration rkhunter

Automatische DB-Aktualisierung nach Paketinstallation/-Upgrade

Ab der Version 1.3.8, die z.B. auf Ubuntu 12.04 LTS eingesetzt wird, kann man rkhunter automatisch seine DB aktualisieren lassen, damit man beim Einsatz von automatischen Aktualisierungen hinterher keine False-Positive-Emails von rkhunter kommen. Dazu den Wert APT_AUTOGEN in der /etc/default/rkhunter auf true setzen. Den Rest erledigt dann die APT-Konfiguration aus /etc/apt/apt.conf.d/90rkhunter, welche automatisch bei der Installation angelegt wurde.

Wer noch mit der Version 1.3.6 arbeitet, z.B. auf Debian Squeeze und Ubuntu 10.04 LTS, kann sich diese Funktion aber sehr einfach aktivieren. Dazu einfach die folgenden Konfigurationen und ein Script aus Ubuntu 12.04 LTS auf die Konsole kopieren und ab geht’s.

cat >> /usr/share/rkhunter/scripts/rkhupd.sh <<EOF
#!/bin/sh
set -e
 
if ! grep -qsE '^DISABLE_TESTS=.*(hashes.*attributes|attributes.*hashes|properties)' /etc/rkhunter.conf{.local,} || \
     grep -qsE '^ENABLE_TESTS=.*(hashes|attributes|properties)' /etc/rkhunter.conf{.local,}; then
         rkhunter --propupd --nolog
fi
EOF
chmod 755 /usr/share/rkhunter/scripts/rkhupd.sh
 
cat >> /etc/default/rkhunter <<EOF
 
# Set this to yes to enable automatic database updates
# (default: false)
APT_AUTOGEN="true"
EOF
 
cat >> /etc/apt/apt.conf.d/90rkhunter <<EOF
// Makes sure that rkhunter file properties database is updated after each remove or install only APT_AUTOGEN is enabled
DPkg::Post-Invoke { "if [ -x /usr/bin/rkhunter ] && grep -qiE '^APT_AUTOGEN=.?(true|yes)' /etc/default/rkhunter; then /usr/share/rkhunter/scripts/rkhupd.sh; fi" }
EOF

Semiaktuelle Software-Versionen bestätigen

Debian legt standarmäßig mehr Wert auf Stabilität und Minimalismus, als auf Aktualität. Zumindestens, wenn man sich auf den STABLE-Zweig beschränkt. Benutzt man dann z.B. den RootKit-Hunter, kommt es zu Meldungen, dass einige Applikationen, wie z.B. openSSL, GPG, PHP, SSH-Server, die bekannte Ziele für Sicherheitsattacken sind, zu alt sind.

Man hat jetzt zwei Möglichkeiten, diesen Warnungen zu begegnen. Zum einen die aktuell eingesetzten Versionen per Konfigurationsoption in der /etc/rkhunter.conf auf eine Whitelist zu setzen:

APP_WHITELIST="gpg:1.4.9 openssl:0.9.8g php:5.2.6 sshd:5.1p1"

Damit werden z.B. die o.g. Applikationen mit der aufgeführten Version als o.k. angesehen. Man muss diese Versionen bei einem Update allerdings manuell nachpflegen.

Alternativ, kann man auch das Scannen aller Applikationen per Konfiguraitonsoption ausschalten. Dafür muss man die „apps“ unter „DISABLE_TESTS“ mit aufnehmen:

DISABLE_TESTS="suspscan hidden_procs deleted_files packet_cap_apps apps"

Meines Erachtens ist das aber nicht der wirklich gute Weg.

Neuerungen in Debian Squeeze und rkhunter 1.3.6

Mit der Version 1.3.6 werden einige neue Punkte gemeldet. So z.B.:

No MAIL-ON-WARNING option has been configured.
Warning: Checking for possible rootkit strings [ Warning ]
Found string 'hdparm' in file '/etc/init.d/.depend.boot'. Possible rootkit: Xzibit Rootkit
Found string 'hdparm' in file '/etc/init.d/hdparm'. Possible rootkit: Xzibit Rootkit
Warning: Hidden directory found: /dev/.udev
Warning: Hidden directory found: /dev/.mdadm
Warning: Hidden directory found: /dev/.initramfs

Im Einzelnen dazu Folgendes:

No MAIL-ON-WARNING option has been configured

Ist keine „MAIL-ON-WARNING“ Email-Adresse angegeben, wird die Ausgabe standardmäßig an root gesendet. Hat man keine Weiterleitung aktiviert, bekommt man auch keine Meldungen. Hat man eine Weiterleitung eingerichtet, bekommt man alle Ausgaben per Email unverschlüsselt zugesendet. Beim Transport durch das Internet kann das auch ein Sicherheitsrisiko bedeuten, da man lesen kann, welche Sicherheitsrisiken bestehen.
Also sollte man lieber eine Email-Adresse eintragen. Dann bekommt man nur eine Info über eine mögliche Infektion und man muss das lokale Log kontrollieren.

Warning: Checking for possible rootkit strings

Durch die Umstellung in Debian squeeze auf den Abhängigkeits-Boot-Modus geht die Datei /etc/init.d/.depend.boot in Ordnung. Zusätzlich wird auch die Datei /etc/init.d/hdparm gemeldet, die aber nur das Festplattenmonitoring darstellt.

Beide und weitere kann man wie folgt von der Überprüfung ausnehmen:

RTKT_FILE_WHITELIST="/etc/init.d/.depend.boot /etc/init.d/hdparm"

Warning: Hidden directory found

Squeeze hat auch ein paar neue versteckte Ordner unterhalb von /dev erzeugt, die natürlich potentiell gefährlich sein können. Nach manueller Kontrolle, kann man die bereits vorbereiteten Optionen einfach inder /etc/rkhunter.conf auskommentieren:

ALLOWHIDDENDIR=/dev/.udev
ALLOWHIDDENDIR=/dev/.initramfs
ALLOWHIDDENDIR=/dev/.mdadm

Lokale Konfigurationsdatei aber Version 1.3.6

Ab Version 1.3.6 kann rkhunter mit einer lokalisierten Konfigurationsdatei betrieben werden, was Updates wesentlich erleichtert. Die Datei muss zwingend rkhunter.conf.local heißen und im selben Verzeichnis liegen wie die Konfigurationsdatei des Betreuers (rkhunter.conf). Bei Debian liegen beide Dateien also unter /etc.

Sie enthält einfach alle geänderten Variablen. Da sie nach der Standard-Datei eingelesen wird, werden alle vorher konfigurierten Optionen überschrieben.