RKHunter installation
De wikiGite
NOTE : Le paquet .deb est trop ancien (1.2.9). La 1.3.0 apporte beaucoup de chose (notamment suspscan)
=> install à partir des sources sur Debian et CentOS
Vérifier la dernière version à l'adresse http://sourceforge.net/project/showfiles.php?group_id=155034
wget http://downloads.sourceforge.net/rkhunter/rkhunter-1.3.2.tar.gz
Eventuellement regarder ici :
wget http://garr.dl.sourceforge.net/sourceforge/rkhunter/rkhunter-1.3.0.tar.gz
tar -xvzf rkhunter-1.3.2.tar.gz cd rkhunter-1.3.2 mkdir -p /opt/rkhunter ./installer.sh --layout custom /opt/rkhunter --install
NOTE : Pour une MISE A JOUR, appliquer la même procédure, l'installateur détecte l'ancienne install.
1.3.0 : Copier la version modifiée du script (systeap1:/home/fsoyer/Documents/Documents divers - logiciels/Sécurité/RKHunter/rkhunter_modifié_bug_suspscan) vers /opt/rkhunter/bin/rkhunter.
Editer /etc/profile, ajouter /opt/rkhunter/bin dans le PATH root (id 0)
(sur CentOS : ligne supplémentaire pathmunge dans le bloc "# Path manipulation" sur CentOS.)
Reconnecter root (ou "su -" pour les tests).
CentOS: créer les scripts d'automatisation (inclus au .deb sur Debian) /etc/default/rkhunter :
# Defaults for rkhunter cron jobs # sourced by /etc/cron.*/rkhunter # # This is a POSIX shell fragment # # Set this to the email address where reports and run output should be sent REPORT_EMAIL="fsoyer@systea.net" # Set this to yes to enable rkhunter weekly database updates CRON_DB_UPDATE="yes" # Set this to yes to enable reports of weekly database updates DB_UPDATE_EMAIL="yes" # Set this to yes to enable rkhunter daily runs CRON_DAILY_RUN="yes"
/etc/cron.daily/rkhunter (scan journalier) :
#!/bin/sh RKHUNTER=/opt/rkhunter/bin/rkhunter if [ ! -x $RKHUNTER ]; then exit 0 fi # source our config . /etc/default/rkhunter case "$CRON_DAILY_RUN" in [Yy]*) OUTFILE=`mktemp` || exit 1 $RKHUNTER --cronjob --report-warnings-only --createlogfile /var/log/rkhunter.log > $OUTFILE if [ $(stat -c %s $OUTFILE) -ne 0 ]; then ( echo "Subject: [rkhunter] Daily run" echo "" cat $OUTFILE ) | /usr/sbin/sendmail $REPORT_EMAIL fi rm -f $OUTFILE ;; *) exit 0 ;; esac
NE PAS OUBLIER
chmod 700 /etc/cron.daily/rkhunter
/etc/cron.weekly/rkhunter (update des bases) :
#!/bin/sh RKHUNTER=/opt/rkhunter/bin/rkhunter if [ ! -x $RKHUNTER ]; then exit 0 fi # source our config . /etc/default/rkhunter case "$CRON_DB_UPDATE" in [Yy]*) OUTFILE=`mktemp` || exit 1 if [ "$DB_UPDATE_EMAIL" = "no" ] then $RKHUNTER --versioncheck 1>/dev/null 2>$OUTFILE $RKHUNTER --update 1>/dev/null 2>$OUTFILE else ( echo "Subject: [rkhunter] Weekly database update" echo "" $RKHUNTER --versioncheck $RKHUNTER --update ) | /usr/sbin/sendmail $REPORT_EMAIL fi if [ $(stat -c %s $OUTFILE) -ne 0 ]; then ( echo "Subject: [rkhunter] Weekly database update" echo "" cat $OUTFILE ) | /usr/sbin/sendmail $REPORT_EMAIL fi rm -f $OUTFILE ;; *) exit 0 ;; esac
NE PAS OUBLIER
chmod 700 /etc/cron.weekly/rkhunter
Editer /opt/rkhunter/etc/rkhunter.conf :
MAIL-ON-WARNING=fsoyer@systea.net # ALLOW_SSH_ROOT_USER DOIT ETRE à la même valeur que PermitRootLogin de sshd_config PKGMGR=DPKG # (ou RPM) ALLOWHIDDENDIR=/dev/.udev ALLOWHIDDENDIR=/dev/.static ALLOWHIDDENDIR=/dev/.initramfs ALLOWHIDDENDIR=/dev/.initramfs-tools ALLOWHIDDENFILE=/etc/.pwd.lock ALLOWHIDDENFILE=/usr/share/man/man1/..1.gz
En plus sur CentOS :
SCRIPTWHITELIST=/sbin/ifup SCRIPTWHITELIST=/sbin/ifdown SCRIPTWHITELIST=/usr/bin/groups XINETD_ALLOWED_SVC=/etc/xinetd.d/proftpd UID0_ACCOUNTS="root-admin"
De plus sur CentOS :
Enlever /sbin/ifup de PROP_FILE_LIST (fonction set_file_prop_dirs_files() ), même s'il est dans la SCRIPTWHITELIST il met une erreur de vérif PKGMGR
Selon les version de CentOS, on peut aussi avoir à enlever "grep" de PROP_FILE_LIST
Pour initialiser la base, lancer une première fois :
rkhunter --propupd
Lancer /etc/cron.daily/rkhunter sur la ligne de commande pour voir les faux-positifs et ajuster la configuration (résultat dans /var/log/rkhunter.log, chercher "Warning", et par mail)
SUSPSCAN : rkhunter peut scanner des répertoire pour des "suspicious contents". Suspscan est gourmand en CPU, il est désactivé par défaut dans rkhunter.conf (DISABLE_TESTS). Attention à la version, la 1.3.0 est buguée (fichier temporaire /dev/shm/suspscan* est vu comme "suspicious...) Voir note ci-dessus pour version patchée. suspscan désactivé 14/03/08 : vraiment trop gourmand... Et trop de faux positifs.
Pour mémoire, première install par apt-get -> version 1.2.9
apt-get install rkhunter
Lancer rkhunter une fois pour vérifier le système, et repérer les faux positifs.
S'il y en a, éditer /etc/rkhunter.conf. Exemple, décommenter :
ALLOWHIDDENDIR=/dev/.udev ALLOWHIDDENDIR=/dev/.static ALLOWHIDDENDIR=/dev/.initramfs
Editer /etc/default/rkhunter si nécessaire, notamment pour donner une adresse mail valide dans REPORT_EMAIL.
Sur une Etch, éditer /var/lib/rkhunter/db/os.dat. Si "Debian 4.0" n'est pas dans la liste, ajouter :
"723:Debian 4.0 (i386):/usr/bin/md5sum:/bin:"
pour éviter des mails intempestifs sur "OS non supporté".