RKHunter installation : Différence entre versions
De wikiGite
Ligne 1 : | Ligne 1 : | ||
'''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 | + | => 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 | 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 | wget http://downloads.sourceforge.net/rkhunter/rkhunter-1.3.2.tar.gz | ||
− | Eventuellement | + | Eventuellement regarder ici : |
wget http://garr.dl.sourceforge.net/sourceforge/rkhunter/rkhunter-1.3.0.tar.gz | wget http://garr.dl.sourceforge.net/sourceforge/rkhunter/rkhunter-1.3.0.tar.gz | ||
− | tar -xvzf rkhunter-1.3.2.tar.gz | + | tar -xvzf rkhunter-1.3.2.tar.gz |
− | cd rkhunter-1.3.2 | + | cd rkhunter-1.3.2 |
− | mkdir -p /opt/rkhunter | + | mkdir -p /opt/rkhunter |
− | ./installer.sh --layout custom /opt/rkhunter --install | + | ./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. | + | <strike>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.</strike> |
Editer /etc/profile, ajouter /opt/rkhunter/bin dans le PATH root (id 0) (ligne supplémentaire pathmunge sur CentOS). Reconnecter root (ou "su -" pour les tests). | Editer /etc/profile, ajouter /opt/rkhunter/bin dans le PATH root (id 0) (ligne supplémentaire pathmunge sur CentOS). Reconnecter root (ou "su -" pour les tests). | ||
− | Créer les scripts d'automatisation (*repiqués du .deb*) | + | Créer les scripts d'automatisation (*repiqués du .deb*) /etc/default/rkhunter : |
− | /etc/default/rkhunter : | + | # Defaults for rkhunter cron jobs |
− | # Defaults for rkhunter cron jobs | + | # sourced by /etc/cron.*/rkhunter |
− | # sourced by /etc/cron.*/rkhunter | + | # |
− | # | + | # This is a POSIX shell fragment |
− | # This is a POSIX shell fragment | + | # |
− | # | + | # Set this to the email address where reports and run output should be sent |
− | # Set this to the email address where reports and run output should be sent | + | REPORT_EMAIL="fsoyer@systea.net" |
− | REPORT_EMAIL="fsoyer@systea.net" | + | # Set this to yes to enable rkhunter weekly database updates |
− | # Set this to yes to enable rkhunter weekly database updates | + | CRON_DB_UPDATE="yes" |
− | CRON_DB_UPDATE="yes" | + | # Set this to yes to enable reports of weekly database updates |
− | # Set this to yes to enable reports of weekly database updates | + | DB_UPDATE_EMAIL="yes" |
− | DB_UPDATE_EMAIL="yes" | + | # Set this to yes to enable rkhunter daily runs |
− | # Set this to yes to enable rkhunter daily runs | + | CRON_DAILY_RUN="yes" |
− | CRON_DAILY_RUN="yes" | ||
/etc/cron.daily/rkhunter (scan journalier) : | /etc/cron.daily/rkhunter (scan journalier) : | ||
− | #!/bin/sh | + | #!/bin/sh |
− | RKHUNTER=/opt/rkhunter/bin/rkhunter | + | RKHUNTER=/opt/rkhunter/bin/rkhunter |
− | if [ ! -x $RKHUNTER ]; then | + | if [ ! -x $RKHUNTER ]; then |
− | + | exit 0 | |
− | fi | + | fi |
− | # source our config | + | # source our config |
− | . /etc/default/rkhunter | + | . /etc/default/rkhunter |
− | case "$CRON_DAILY_RUN" in | + | 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 | |
− | |||
− | |||
− | esac | ||
− | + | NE PAS OUBLIER | |
+ | chmod 700 /etc/cron.daily/rkhunter | ||
/etc/cron.weekly/rkhunter (update des bases) : | /etc/cron.weekly/rkhunter (update des bases) : | ||
− | #!/bin/sh | + | #!/bin/sh |
− | RKHUNTER=/opt/rkhunter/bin/rkhunter | + | RKHUNTER=/opt/rkhunter/bin/rkhunter |
− | if [ ! -x $RKHUNTER ]; then | + | if [ ! -x $RKHUNTER ]; then |
− | + | exit 0 | |
− | fi | + | fi |
− | # source our config | + | # source our config |
− | . /etc/default/rkhunter | + | . /etc/default/rkhunter |
− | case "$CRON_DB_UPDATE" in | + | 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 | |
− | |||
− | |||
− | esac | ||
− | + | NE PAS OUBLIER | |
+ | chmod 700 /etc/cron.weekly/rkhunter | ||
Editer /opt/rkhunter/etc/rkhunter.conf : | Editer /opt/rkhunter/etc/rkhunter.conf : | ||
− | MAIL-ON-WARNING=fsoyer@systea.net | + | MAIL-ON-WARNING=fsoyer@systea.net |
− | PKGMGR=DPKG # (ou RPM) | + | PKGMGR=DPKG # (ou RPM) |
− | ALLOWHIDDENDIR=/dev/.udev | + | ALLOWHIDDENDIR=/dev/.udev |
− | ALLOWHIDDENDIR=/dev/.static | + | ALLOWHIDDENDIR=/dev/.static |
− | ALLOWHIDDENDIR=/dev/.initramfs | + | ALLOWHIDDENDIR=/dev/.initramfs |
− | ALLOWHIDDENDIR=/dev/.initramfs-tools | + | ALLOWHIDDENDIR=/dev/.initramfs-tools |
− | ALLOWHIDDENFILE=/etc/.pwd.lock | + | ALLOWHIDDENFILE=/etc/.pwd.lock |
− | ALLOWHIDDENFILE=/usr/share/man/man1/..1.gz | + | ALLOWHIDDENFILE=/usr/share/man/man1/..1.gz |
En plus sur BlueQuartz : | En plus sur BlueQuartz : | ||
− | SCRIPTWHITELIST=/sbin/ifup | + | SCRIPTWHITELIST=/sbin/ifup |
− | SCRIPTWHITELIST=/sbin/ifdown | + | SCRIPTWHITELIST=/sbin/ifdown |
− | SCRIPTWHITELIST=/usr/bin/groups | + | SCRIPTWHITELIST=/usr/bin/groups |
− | XINETD_ALLOWED_SVC=/etc/xinetd.d/proftpd | + | XINETD_ALLOWED_SVC=/etc/xinetd.d/proftpd |
− | UID0_ACCOUNTS="root-admin" | + | UID0_ACCOUNTS="root-admin" |
− | 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 | + | 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<br> |
+ | Selon les version de CentOS, on peut aussi avoir à enlever grep de PROP_FILE_LIST | ||
vérifier que ALLOW_SSH_ROOT_USER est bien à la même valeur que PermitRootLogin de sshd_config. | vérifier que ALLOW_SSH_ROOT_USER est bien à la même valeur que PermitRootLogin de sshd_config. | ||
Pour initialiser la base, lancer une première fois : | Pour initialiser la base, lancer une première fois : | ||
− | rkhunter --propupd | + | 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) | 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) | ||
Ligne 132 : | Ligne 135 : | ||
-------------------------------------------- | -------------------------------------------- | ||
− | + | Pour mémoire, première install par apt-get -> version 1.2.9 | |
− | apt-get install rkhunter | + | apt-get install rkhunter |
Lancer rkhunter une fois pour vérifier le système, et repérer les faux positifs. | 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 : | S'il y en a, éditer /etc/rkhunter.conf. Exemple, décommenter : | ||
− | ALLOWHIDDENDIR=/dev/.udev | + | ALLOWHIDDENDIR=/dev/.udev |
− | ALLOWHIDDENDIR=/dev/.static | + | ALLOWHIDDENDIR=/dev/.static |
− | ALLOWHIDDENDIR=/dev/.initramfs | + | ALLOWHIDDENDIR=/dev/.initramfs |
Editer /etc/default/rkhunter si nécessaire, notamment pour donner une adresse mail valide dans REPORT_EMAIL. | 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 : | 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:" | + | "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 30 septembre 2008 à 15:08
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) (ligne supplémentaire pathmunge sur CentOS). Reconnecter root (ou "su -" pour les tests).
Créer les scripts d'automatisation (*repiqués du .deb*) /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 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 BlueQuartz :
SCRIPTWHITELIST=/sbin/ifup SCRIPTWHITELIST=/sbin/ifdown SCRIPTWHITELIST=/usr/bin/groups XINETD_ALLOWED_SVC=/etc/xinetd.d/proftpd UID0_ACCOUNTS="root-admin"
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
vérifier que ALLOW_SSH_ROOT_USER est bien à la même valeur que PermitRootLogin de sshd_config.
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é".