Rkhunter: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „=Installation= apt-get install rkhunter Bei Ubuntu 12.04 wird rkhunter 1.4.+X empfohlen : http://sourceforge.net/projects/rkhunter/files/rkhunter/1.4.0/ =Par…“) |
(→Fix) |
||
(20 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
+ | =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= | =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 = | |
+ | {| class="wikitable" | ||
+ | ! 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= | =cronjob testscript= | ||
− | + | *vi /usr/local/sbin/rkhunter.sh | |
− | |||
#!/bin/bash | #!/bin/bash | ||
RKHUNTER="/usr/bin/rkhunter -c --skip-keypress --nocolors --rwo" | RKHUNTER="/usr/bin/rkhunter -c --skip-keypress --nocolors --rwo" | ||
RKOUT="/tmp/rk.log" | RKOUT="/tmp/rk.log" | ||
− | MAIL="technik@ | + | MAIL="technik@xxxx.de" |
$RKHUNTER > $RKOUT | $RKHUNTER > $RKOUT | ||
if test -s $RKOUT | if test -s $RKOUT | ||
then | then | ||
− | cat $RKOUT | | + | cat $RKOUT | mutt -s "$hostname rkhunter" $MAIL |
fi | fi | ||
− | + | *crontab -e | |
0 0 * * 0 /usr/local/sbin/rkhunter.sh | 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= | ||
+ | |||
+ | * http://archive.ubuntu.com/ubuntu/pool/universe/r/rkhunter/rkhunter_1.4.0-3_all.deb |
Aktuelle Version vom 15. August 2023, 14:34 Uhr
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