RKHunter installation : Différence entre versions
De wikiGite
Ligne 1 : | Ligne 1 : | ||
<span style="color:green">Procédure validée sur CentOS</span><br> | <span style="color:green">Procédure validée sur CentOS</span><br> | ||
− | |||
+ | <!-- | ||
'''NOTE''' : Le paquet .deb est trop ancien (1.2.9). La 1.3.0 apporte beaucoup de chose (notamment suspscan) | '''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 | + | => install à partir des sources sur Debian |
Vérifier la dernière version à l'adresse http://sourceforge.net/project/showfiles.php?group_id=155034 | Vérifier la dernière version à l'adresse http://sourceforge.net/project/showfiles.php?group_id=155034 | ||
Ligne 20 : | Ligne 20 : | ||
Reconnecter root (ou "su -" pour les tests). | Reconnecter root (ou "su -" pour les tests). | ||
+ | --> | ||
+ | |||
+ | yum install --enablerepo=rpmforge rkhunter | ||
'''CentOS''': créer les scripts d'automatisation (inclus au .deb sur Debian) /etc/default/rkhunter (ATTENTION au '''REPORT_EMAIL''') : | '''CentOS''': créer les scripts d'automatisation (inclus au .deb sur Debian) /etc/default/rkhunter (ATTENTION au '''REPORT_EMAIL''') : | ||
Ligne 38 : | Ligne 41 : | ||
/etc/cron.daily/rkhunter (scan journalier) : | /etc/cron.daily/rkhunter (scan journalier) : | ||
#!/bin/sh | #!/bin/sh | ||
− | RKHUNTER=/ | + | RKHUNTER=/usr/bin/rkhunter |
− | EXCLUDE=/opt | + | EXCLUDE=/opt/rkhunter.exclude |
if [ ! -x $RKHUNTER ]; then | if [ ! -x $RKHUNTER ]; then | ||
exit 0 | exit 0 | ||
Ligne 76 : | Ligne 79 : | ||
chmod 700 /etc/cron.daily/rkhunter | chmod 700 /etc/cron.daily/rkhunter | ||
Le fichier EXCLUDE sert à supprimer des faux-positif sans toucher au script rkhunter. On met sur chaque ligne un mot/une phrase à filtrer.<br/> | Le fichier EXCLUDE sert à supprimer des faux-positif sans toucher au script rkhunter. On met sur chaque ligne un mot/une phrase à filtrer.<br/> | ||
− | Exemple : /opt | + | Exemple : /opt/rkhunter.exclude |
Warning: Package manager verification has failed: | Warning: Package manager verification has failed: | ||
File: /bin/grep | File: /bin/grep | ||
Ligne 92 : | Ligne 95 : | ||
/etc/cron.weekly/rkhunter (update des bases) : | /etc/cron.weekly/rkhunter (update des bases) : | ||
#!/bin/sh | #!/bin/sh | ||
− | RKHUNTER=/ | + | RKHUNTER=/usr/bin/rkhunter |
if [ ! -x $RKHUNTER ]; then | if [ ! -x $RKHUNTER ]; then | ||
exit 0 | exit 0 | ||
Ligne 130 : | Ligne 133 : | ||
chmod 700 /etc/cron.weekly/rkhunter | chmod 700 /etc/cron.weekly/rkhunter | ||
− | Editer | + | Editer /etc/rkhunter.conf : |
# MAIL-ON-WARNING=<mail_admin>@example.net # Pas nécessaire si on utilise le script /etc/cron.daily/rkhunter | # MAIL-ON-WARNING=<mail_admin>@example.net # Pas nécessaire si on utilise le script /etc/cron.daily/rkhunter | ||
# ALLOW_SSH_ROOT_USER DOIT ETRE à la même valeur que PermitRootLogin de sshd_config | # ALLOW_SSH_ROOT_USER DOIT ETRE à la même valeur que PermitRootLogin de sshd_config | ||
Ligne 164 : | Ligne 167 : | ||
suspscan désactivé 14/03/08 : vraiment trop gourmand... Et trop de faux positifs. | 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 | Pour mémoire, première install par apt-get -> version 1.2.9 | ||
Ligne 179 : | Ligne 183 : | ||
"723:Debian 4.0 (i386):/usr/bin/md5sum:/bin:" | "723:Debian 4.0 (i386):/usr/bin/md5sum:/bin:" | ||
pour éviter des mails intempestifs sur "OS non supporté". | pour éviter des mails intempestifs sur "OS non supporté". | ||
+ | --> |
Version du 7 août 2013 à 16:14
Procédure validée sur CentOS
yum install --enablerepo=rpmforge rkhunter
CentOS: créer les scripts d'automatisation (inclus au .deb sur Debian) /etc/default/rkhunter (ATTENTION au REPORT_EMAIL) :
# 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="<mail_admin>@example.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=/usr/bin/rkhunter EXCLUDE=/opt/rkhunter.exclude 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 cat $OUTFILE | grep -v -e '^$' > /tmp/rkhunter.a1 while read LINE do cat /tmp/rkhunter.a1 | grep -v "$LINE" > /tmp/rkhunter.a2 mv /tmp/rkhunter.a2 /tmp/rkhunter.a1 done < $EXCLUDE if [ -s /tmp/rkhunter.a1 ] then ( echo "Subject: [rkhunter] Daily run" echo "" cat $OUTFILE ) | /usr/sbin/sendmail $REPORT_EMAIL fi fi rm -f $OUTFILE rm -f /tmp/rkhunter.a1 ;; *) exit 0 ;; esac
NE PAS OUBLIER
chmod 700 /etc/cron.daily/rkhunter
Le fichier EXCLUDE sert à supprimer des faux-positif sans toucher au script rkhunter. On met sur chaque ligne un mot/une phrase à filtrer.
Exemple : /opt/rkhunter.exclude
Warning: Package manager verification has failed: File: /bin/grep File: /usr/bin/less Try running the command 'prelink The file modification time has changed The file hash value has changed The file size has changed One or more warnings have been found while checking the system. Please check the log file (/var/log/rkhunter.log)
Note : Lister les "File:..." en fonction du résultat d'un premier lancement de /etc/cron.daily/rkhunter, afin de bien coller aux faux-positifs de cette configuration, et être sûr qu'il avertisse si d'autres binaires étaient modifiés un jour (hack ou upgrade).
Si le script continue à envoyer le mail, vérifier les phrases qu'il ne filtre pas en commentant les deux lignes "rm -f /tmp/..." et en relançant le script. Voir /tmp/rkhunter.a1. Penser à décommenter après debug.
/etc/cron.weekly/rkhunter (update des bases) :
#!/bin/sh RKHUNTER=/usr/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 /etc/rkhunter.conf :
# MAIL-ON-WARNING=<mail_admin>@example.net # Pas nécessaire si on utilise le script /etc/cron.daily/rkhunter # ALLOW_SSH_ROOT_USER DOIT ETRE à la même valeur que PermitRootLogin de sshd_config ALLOW_SSH_ROOT_USER=without-password PKGMGR=DPKG # (ou RPM) ALLOWHIDDENDIR=/dev/.udev ALLOWHIDDENDIR=/dev/.static ALLOWHIDDENDIR=/dev/.initramfs ALLOWHIDDENDIR=/dev/.initramfs-tools ALLOWHIDDENFILE=/usr/share/man/man1/..1.gz ALLOWHIDDENFILE=/etc/.pwd.lock
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"
Et si certaines version de logiciels ne sont pas à jour :
APP_WHITELIST="openssl:0.9.7a php:4.3.9"
Pour initialiser la base, lancer une première fois :
su - 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).
suspscan désactivé 14/03/08 : vraiment trop gourmand... Et trop de faux positifs.