Rootkit Hunter ou RkHunter est un logiciel de recherche de rootkits.
Pour installer RkHunter on utilise les lignes de commandes suivantes :
if [ -n "$(command apt-cache pkgnames libmd5-perl)" ]; then command apt-get -y install rkhunter libmd5-perl else command apt-get -y install rkhunter libdigest-md5-file-perl fi
Commençons par ignorer les faux positifs déclenchés par les dossiers et fichiers systèmes cachés:
command sed -i -e 's|^[#]*\(ALLOWHIDDENDIR=/dev/.udev\)$|\1|' \ -e 's|^[#]*\(ALLOWHIDDENDIR=/dev/.static\)$|\1|' \ -e 's|^[#]*\(ALLOWHIDDENDIR=/dev/.initramfs\)$|\1|' \ "/etc/rkhunter.conf"
Ensuite si votre système utilise Java, entrer les lignes suivantes :
if [ -e "/etc/.java" ]; then command sed -i -e 's|^[#]*\(ALLOWHIDDENDIR=/etc/.java\)$|\1|' \ "/etc/rkhunter.conf" fi
Si votre système utilise le raid logiciel, ignorez le dossier associé:
if [ -x "/sbin/mdadm" ]; then command sed -i -e 's|^[#]*\(ALLOWHIDDENDIR=/dev/.mdadm\)$|\1|' \ "/etc/rkhunter.conf" fi
Si votre système utilise l'utilitaire hdparm, ignorer les fichiers associés:
if [ -x "/sbin/hdparm" ]; then command sed -i -e 's|^[#]*\(RTKT_FILE_WHITELIST="\)\(.*\)$|\1/etc/init.d/.depend.boot /etc/init.d/hdparm\2|' \ "/etc/rkhunter.conf" fi
Si votre système ne dispose pas du fichier /proc/modules, désactivez le test concerné:
if [ ! -e "/proc/modules" ]; then command sed -i -e 's|^[#]*\(DISABLE_TESTS="\)\(.*\)$|\1os_specific \2|' \ "/etc/rkhunter.conf" fi
Ignorer les fichiers block temporaires:
command sed -i -e '0,/ALLOWHIDDENFILE/{//a\ ALLOWHIDDENFILE=/dev/.tmp-block-* ;}' \ "/etc/rkhunter.conf"
Autoriser la présence des informations de configuration réseau:
if [ -e "/dev/shm/network/ifstate" ]; then command sed -i -e '0,/ALLOWDEVFILE/{//a\ ALLOWDEVFILE=/dev/shm/network/ifstate ;}' \ "/etc/rkhunter.conf" fi
La distribution Debian mettant en place des patchs de sécurité sans mettre à jour les numéros de version des applications, nous ajoutons les applications concernées en liste blanche:
if [ -n "$(command apt-cache show ssh | command grep "5.1p1")" ]; then command sed -i -e 's|^[#]*\(APP_WHITELIST=\).*$|\1"exim:4.69 gpg:1.4.9 openssl:0.9.8g sshd:5.1p1"|' \ "/etc/rkhunter.conf" fi if [ -n "$(command apt-cache show ssh | command grep "5.5p1")" ]; then command sed -i -e 's|^[#]*\(APP_WHITELIST=\).*$|\1"gpg:1.4.10 openssl:0.9.8o sshd:5.5p1"|' \ "/etc/rkhunter.conf" fi
Si votre système autorise les connexions de l'utilisateur root en SSH, désactivez l'alerte associée:
SSH_ROOT_ALLOWED=no TEST_ROOT_ALLOWED=$(/bin/grep -i "PermitRootLogin.*yes" /etc/ssh/sshd_config) if [ -n "$TEST_ROOT_ALLOWED" ]; then SSH_ROOT_ALLOWED=yes fi command sed -i \ -e "s|^[#]*\\(ALLOW_SSH_ROOT_USER=\\).*$|\\1${SSH_ROOT_ALLOWED}|" \ "/etc/rkhunter.conf"
Rootkit Hunter permet de maintenir une base de signatures des fichiers système basées sur les informations fournies par le gestionnaire de paquets Debian. Cette base est ensuite utilisée pour vérifier si les fichiers systèmes critiques ont subit une modification par un tiers. De telles modifications sont souvent le signe d'une infection. Activez cette fonctionnalité à l'aide de la commande:
command sed -i -e 's|^[#]*\(HASH_FUNC=\).*$|\1md5sum|' \ -e 's|^[#]*\(PKGMGR=\).*$|\1DPKG|' \ "/etc/rkhunter.conf"
Activez la mise à jour automatique de la base des signatures après chaque utilisation d'apt-get:
if [[ ! -e '/etc/apt/apt.conf.d/90rkhunter' ]]; then command echo '// Update rkhunter file signatures databases after running dpkg. DPkg::Post-Invoke { "if [ -x /usr/bin/rkhunter ]; then if [ $(/usr/bin/rkhunter --help | /bin/grep "propupd" | /usr/bin/wc -l) -gt 0 ]; then /usr/bin/rkhunter --propupd; fi; fi"; };' > '/etc/apt/apt.conf.d/90rkhunter' fi [[ -e '/etc/default/rkhunter' ]] && command sed -i -e 's/^APT_AUTOGEN=.*$/APT_AUTOGEN="yes"/' '/etc/default/rkhunter'
Mettre à jour la base des signatures:
command rkhunter --propupdate
Mettre à jour la base des menaces de Rootkit Hunter (par la suite elle est mise à jour chaque semaine):
command rkhunter --update
La commande suivante est exécutée quotidiennement. Son résultat est envoyé par e-mail à l'utilisateur root si un problème est détecté. Exécutez-le une première fois pour vérifier que tout fonctionne correctement:
command rkhunter --configfile /etc/rkhunter.conf --report-warnings-only --checkall
Autres liens rapides pouvant vous intéresser