====== Installer et configurer Rootkit-Hunter ====== * **Ressources** : * [[https://doc.ubuntu-fr.org/rkhunter|Rkhunter - Wiki Ubuntu]] * [[http://community.ovh.com/t/rkhunter-parametre-web-cmd-invalide/3797/3|Rkhunter : paramètre WEB_CMD invalide]] * **Notes** : * Fichiers de config : ''/etc/rkhunter.conf'' et ''/etc/default/rkhunter'' * Fichier de log : ''/var/log/rkhunter.log'' ===== Installation de RKHunter ===== * Installer le paquet : '' apt install rkhunter '' * Indiquer les options du Cron de Rkhunter, en éditant : ''vi /etc/default/rkhunter'' CRON_DAILY_RUN="yes" CRON_DB_UPDATE="yes" DB_UPDATE_EMAIL="yes" REPORT_EMAIL="adminsys@" REPORT_EMAIL_FROM="mailer@" APT_AUTOGEN="yes" * Indiquer les faux positifs, en éditant le fichier de config : ''vi /etc/rkhunter.conf'' ALLOW_SSH_ROOT_USER=prohibit-password # Config permettant la mise à jour pour éviter l'erreur : # Invalid WEB_CMD configuration option: Relative pathname: "/bin/false" UPDATE_MIRRORS=1 MIRRORS_MODE=0 WEB_CMD="" # (Ne pas renseigner MAIL-ON-WARNING ni MAIL_CMD ici pour éviter le flood d'emails sur chaque warning. # L'envoi d'alerte mail est géré uniquement par le script cron patché.) # Option évitant les faux positifs en se basant sur Dpkg # ATTENTION : lancer ''rkhunter --propupd'' après avoir modifié cette option ! PKGMGR=DPKG # Pour Debian 10 uniquement, corriger l'emplacement des scripts suivants (/usr/bin/ au lieu de /bin) : SCRIPTWHITELIST=/usr/bin/egrep SCRIPTWHITELIST=/usr/bin/fgrep SCRIPTWHITELIST=/usr/bin/which # Désactiver les faux positifs sur db-srv ALLOWDEVFILE="/dev/shm/PostgreSQL.*" # Exemples de faux positifs à désactiver : ALLOWHIDDENDIR="/dev/.udev" ALLOWHIDDENDIR="/dev/.static" ALLOWDEVFILE="/dev/.udev/rules.d/root.rules" # Désactiver les faux positifs liés à Byobu : ALLOWDEVFILE="/dev/shm/byobu-*" ALLOWDEVFILE="/dev/shm/byobu-*/*" ALLOWDEVFILE="/dev/shm/byobu-*/*/*" * **ATTENTION** : suite à l'installation et configuration de Rkhunter, il est nécessaire de lancer la commande suivante (=> indique à Rkhunter que tout est OK) : '' rkhunter --propupd '' ==== Envoi d'email ==== Pour recevoir les alertes de RKHunter sur la bonne adresse sans flood inutile : * Définir l’adresse de réception dans /etc/default/rkhunter : REPORT_EMAIL="adminsys@" REPORT_EMAIL_FROM="mailer@" * **Ne pas renseigner** (ou commenter) les options MAIL-ON-WARNING et MAIL_CMD dans /etc/rkhunter.conf. * Vérifier que le script cron (/etc/cron.daily/rkhunter) est patché selon la section ci-dessous (voir Patch). ===== Utilisation et commandes ===== * Vérifier dernière version : '' rkhunter --versioncheck '' * Mettre à jour le programme : '' rkhunter --update '' * Lister les différents tests effectués : '' rkhunter --list '' * **ATTENTION** : suite à l'installation et configuration de Rkhunter, il est nécessaire de lancer la commande suivante (=> indique à Rkhunter que tout est OK) : '' rkhunter --propupd '' * Effectuer une vérification : '' rkhunter --checkall '' * Vérification avec juste les alertes importantes : '' rkhunter -c --rwo '' * Tester uniquement les //malwares// : '' rkhunter -c -sk --enable malware '' * Accéder aux logs de RkHunter : ''vi /var/log/rkhunter.log'' ===== Avertissements Rkhunter ===== ==== Suite à mise à jour des paquets ==== * Lorsqu'on réalise une mise à jour des paquets systèmes, il se peut que Rkhunter signale qu'un logiciel à sa signature modifiée. Ex. : Warning: The file properties have changed: File: /usr/bin/curl Current inode: 14563 Stored inode: 8252 Current file modification time: 1582383706 (22-févr.-2020 16:01:46) Stored file modification time : 1560536612 (14-juin-2019 20:23:32) * Dans ce cas là, relever la date de la nouvelle version du binaire et se rendre sur le site suivant : https://www.debian.org/distrib/packages * Chercher le paquet Debian correspondant et vérifier la date de la dernière version publiée du paquet en question * Utiliser le moteur de recherche situé en bas de page permettant de rechercher un nom de fichier présent dans un paquet. * Sur la page du paquet : * sélectionner votre version de Debian. * Pour vérifier la date, cliquer dans le menu de droite sur le lien "**Journal des modifications Debian**". Le changelog du paquet s'affiche et contient la date de la dernière modification. * Si les 2 dates correspondent, le message d'avertissement de Rkhunter est à ignorer. * Il faut tout de même : * Se connecter sur le serveur * Lancer la commande de vérification (par acquis de conscience) : '' rkhunter --checkall '' * Si tout semble conforme, indiquer à Rkhunter de considérer les changements comme normaux : '' rkhunter --propupd '' * **NOTE** : pour que Rhunter lance automatiquement '' rkhunter --propupd '' après une mise à jour des paquets, mettre ''APT_AUTOGEN="yes"'' dans le fichier ''/etc/default/rkhunter''. ==== Patch : Limiter les mails de RKHunter aux vraies alertes (rootkit ou fichier suspect) ==== Par défaut, RKHunter envoie un mail à chaque “Warning”, même mineur (ex : fichiers temporaires de byobu, dossiers cachés, etc.). Pour ne recevoir un mail **que** si un rootkit ou un fichier suspect est détecté, il faut patcher le script cron `/etc/cron.daily/rkhunter` (ou `/etc/cron.weekly/rkhunter`). # Ancienne section à commenter : # if [ -s "$OUTFILE" -a -n "$REPORT_EMAIL" ]; then # ( # echo "Subject: [rkhunter] $(hostname) - Daily report" # echo "To: $REPORT_EMAIL" # echo "" # cat $OUTFILE # ) | /usr/sbin/sendmail -t -f $REPORT_EMAIL_FROM # fi # Nouvelle section à ajouter : if [ -s "$OUTFILE" ] && [ -n "$REPORT_EMAIL" ]; then if grep -q -E "Possible rootkits:[[:space:]]+[^0]" "$OUTFILE" || \ grep -q -E "Suspect files:[[:space:]]+[^0]" "$OUTFILE"; then ( echo "Subject: [rkhunter] ALERTE sur $(hostname)" echo "To: $REPORT_EMAIL" echo "" cat $OUTFILE ) | /usr/sbin/sendmail -t -f $REPORT_EMAIL_FROM fi fi Cette modification permet de ne recevoir un mail **qu’en cas d’incident réel** (fichiers suspects ou rootkits détectés), et d’ignorer tous les faux positifs récurrents (warnings bénins). Pensez à faire une sauvegarde du script avant modification : cp /etc/cron.daily/rkhunter /etc/cron.daily/rkhunter.bak ==== Avertissement "Spam tool component" ==== * Apparemment un faux positif lié aux services tournant dans des containers Docker : https://sourceforge.net/p/rkhunter/bugs/172/ * Le problème se pose avec Gunicorn et PhpFPM. * Pas de solution pour l'instant pour le mettre dans une whitelist, il est seulement possible de désactiver les tests correspondant : * Éditer le fichier de conf de Rkhunter : ''vi /etc/rkhunter.conf'' * Ajouter ''running_procs'' à la fin de la liste du paramètre ''DISABLE_TESTS''. * Si le problème persiste, une alternative intéressante à RKhunter est [[https://cisofy.com/lynis/|Lynis]] (à tester).