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é".
