Installer Rootkit Hunter sur Debian
Rootkit Hunter est un outil spécialisé de recherche de rootkits. Il vous alerte si votre système a été compromis. C'est un outil indispensable pour assurer la sécurité de vos serveurs.
Ce guide a été testé avec les distributions suivantes :
- Debian 5.0 Lenny
- Debian 6.0 Squeeze
Rapide et incompréhensible
Les commandes suivantes résument l'ensemble du processus d'installation décrit ci-dessous. Installez l'application :
if [ -n "$(command apt-cache search libmd5-perl)" ]; then command apt-get -y install rkhunter libmd5-perl else command apt-get -y install rkhunter libdigest-md5-file-perl fi
Configurez l'application :
command sed -i -e 's|^[#]*\(ALLOWHIDDENDIR=/dev/.udev\)$|\1|' \ -e 's|^[#]*\(ALLOWHIDDENDIR=/dev/.static\)$|\1|' \ -e 's|^[#]*\(ALLOWHIDDENDIR=/dev/.initramfs\)$|\1|' \ "/etc/rkhunter.conf" if [ -e "/etc/.java" ]; then command sed -i -e 's|^[#]*\(ALLOWHIDDENDIR=/etc/.java\)$|\1|' \ "/etc/rkhunter.conf" fi if [ -x "/sbin/mdadm" ]; then command sed -i -e 's|^[#]*\(ALLOWHIDDENDIR=/dev/.mdadm\)$|\1|' \ "/etc/rkhunter.conf" fi 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 command sed -i -e '0,/ALLOWHIDDENFILE/{//a\ ALLOWHIDDENFILE=/dev/.tmp-block-* ;}' \ "/etc/rkhunter.conf" if [ -e "/dev/shm/network/ifstate" ]; then command sed -i -e '0,/ALLOWDEVFILE/{//a\ ALLOWDEVFILE=/dev/shm/network/ifstate ;}' \ "/etc/rkhunter.conf" fi 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 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" command sed -i -e 's|^[#]*\(HASH_FUNC=\).*$|\1md5sum|' \ -e 's|^[#]*\(PKGMGR=\).*$|\1DPKG|' \ "/etc/rkhunter.conf" 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' command rkhunter --propupdate command rkhunter --update
Vérifiez que la configuration est correcte à l'aide de la commande :
command rkhunter --configfile /etc/rkhunter.conf --report-warnings-only --checkall
Installation
Installez Rootkit Hunter :
if [ -n "$(command apt-cache search libmd5-perl)" ]; then command apt-get -y install rkhunter libmd5-perl else command apt-get -y install rkhunter libdigest-md5-file-perl fi
Ignorez 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"
Si votre système utilise Java, ignorez le dossier associé :
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, ignorez 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
Ignorez les fichiers block temporaires :
command sed -i -e '0,/ALLOWHIDDENFILE/{//a\ ALLOWHIDDENFILE=/dev/.tmp-block-* ;}' \ "/etc/rkhunter.conf"
Autorisez 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" fiLa 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 :
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'
Mettez à jour la base des signatures :
command rkhunter --propupdate
Mettez à jour la base des menaces de Rootkit Hunter (par la suite elle est mise à jour chaque semaine) :
command rkhunter --update
Remarque: La commande ci-dessous est exécutée chaque jour. Son résultat vous est envoyé par e-mail si un problème est détecté. Je vous suggère de l'exécuter une première fois pour vérifier que tout fonctionne correctement :
command rkhunter --configfile /etc/rkhunter.conf --report-warnings-only --checkall
Remerciements
- Merci aux développeurs de Rootkit Hunter.