Rkhunter

Aus xinux.net
Zur Navigation springen Zur Suche springen

Was ist Rhkunter

  • 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
  • Es sucht nach von Rootkits angelegten Ordnern, falschen Dateirechten, versteckten Dateien, verdächtigen Strings in Kernelmodulen.
  • Es 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

Erste schritte

Nach der Installation von rkhunter

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.
  • Es sollte beachtet werden, dass 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.

Kommando

  • rkhunter --propupd

Das Programm auf den aktuellen Stand zu bringen.

  • rkhunter -c

Einige Parameter

Parameter Beschreibung
-c kompletter System-Scan
--display-logfile zeigt eine Zusammenfassung des Scans am Ende
--skip-keypress man muss zwischen den einzelnen Scan-Abschnitten nicht mehr Enter drücken
--update führt ein Update der known-bad Hash-Datenbank durch
--propupd führt ein Update der known-good Hash-Datenbank durch (nur bei der manuell installierten Version bzw. > 1.3 möglich )

configfile

  • vi /etc/rkhunter.conf
ROTATE_MIRRORS=1
UPDATE_MIRRORS=1
MIRRORS_MODE=0
MAIL-ON-WARNING=""
MAIL_CMD=mail -s "[rkhunter] Warnings found for ${HOST_NAME}"
TMPDIR=/var/lib/rkhunter/tmp
DBDIR=/var/lib/rkhunter/db
SCRIPTDIR=/usr/share/rkhunter/scripts
UPDATE_LANG=""
LOGFILE=/var/log/rkhunter.log
APPEND_LOG=0
COPY_LOG_ON_ERROR=0
COLOR_SET2=0
AUTO_X_DETECT=1
WHITELISTED_IS_WHITE=0
ALLOW_SSH_ROOT_USER=yes
ALLOW_SSH_PROT_V1=0
ENABLE_TESTS="all"
DISABLE_TESTS="suspscan hidden_procs deleted_files packet_cap_apps apps"
SCRIPTWHITELIST=/bin/egrep
SCRIPTWHITELIST=/bin/fgrep
SCRIPTWHITELIST=/bin/which
SCRIPTWHITELIST=/usr/bin/groups
SCRIPTWHITELIST=/usr/bin/ldd
SCRIPTWHITELIST=/usr/bin/lwp-request
SCRIPTWHITELIST=/usr/sbin/adduser
SCRIPTWHITELIST=/usr/sbin/prelink
SCRIPTWHITELIST=/usr/bin/unhide.rb
IMMUTABLE_SET=0
ALLOWHIDDENDIR="/dev/.udev"
ALLOWHIDDENFILE="/dev/.initramfs"
PHALANX2_DIRTEST=0
ALLOWDEVFILE="/dev/.udev/rules.d/root.rules"
ALLOW_SYSLOG_REMOTE_LOGGING=0
SUSPSCAN_TEMP=/dev/shm
SUSPSCAN_MAXSIZE=10240000
SUSPSCAN_THRESH=200
USE_LOCKING=0
LOCK_TIMEOUT=300
SHOW_LOCK_MSGS=1
DISABLE_UNHIDE=1
INSTALLDIR="/usr"


cronjob testscript

  • vi /usr/local/sbin/rkhunter.sh
#!/bin/bash
RKHUNTER="/usr/bin/rkhunter -c --skip-keypress --nocolors --rwo"
RKOUT="/tmp/rk.log"
MAIL="technik@xxxx.de"
$RKHUNTER > $RKOUT
if test -s $RKOUT
then
cat $RKOUT | mutt -s "$hostname rkhunter" $MAIL
fi
  • crontab -e
0 0 * * 0 /usr/local/sbin/rkhunter.sh

cron.daily deaktivieren

  • vi /etc/default/rkhunter
CRON_DAILY_RUN="no"

Warnungen

Warning: The file 'xxxx' exists on the system, but it is not present in the rkhunter.dat file.
Abhilfe: rkhunter --propupd

Fix