RKHunter (Rootkit Hunter) est un scanner de sécurité pour les systèmes POSIX qui recherche les rootkits, les portes dérobées (backdoors) et les exploits locaux. Il le fait en comparant les hash SHA-256 des fichiers système importants avec des valeurs connues et bonnes, en cherchant les permissions de fichiers incorrectes, des chaînes suspectes dans les modules du noyau, et en effectuant des tests spécifiques pour les différents systèmes d\'exploitation.
Pourquoi utiliser RKHunter ?
- Détection post-compromission : Aide à déterminer si un système a été compromis par un rootkit.
- Audit de sécurité : Fait partie d\'un audit de sécurité régulier pour vérifier l\'intégrité du système.
- Léger et simple : Facile à installer et à utiliser en ligne de commande.
Prérequis
- Un serveur Linux (Ubuntu/Debian, CentOS/RHEL, etc.).
- Accès root ou privilèges sudo.
Installation
# Sur Debian / Ubuntu
sudo apt-get update
sudo apt-get install -y rkhunter
# Sur CentOS / RHEL (via le dépôt EPEL)
sudo yum install -y epel-release
sudo yum install -y rkhunter
Configuration et première exécution
Étape 1 : Mettre à jour les bases de données
Avant le premier scan, il est crucial de mettre à jour les signatures de RKHunter.
sudo rkhunter --update
Étape 2 : Remplir les propriétés des fichiers
RKHunter a besoin de créer une "baseline" de votre système, c\'est-à-dire une base de données des états actuels de vos fichiers. Cette commande doit être exécutée sur un système que vous savez être "propre".
sudo rkhunter --propupd
Cette base de données sera utilisée lors des scans futurs pour détecter les changements.
Étape 3 : Lancer le premier scan
Exécutez la commande de vérification. L\'option --check lance le scan, et --sk (skip-keypress) évite d\'avoir à appuyer sur "Entrée" après chaque section.
sudo rkhunter --check --sk
Lors du premier scan, il est presque certain que vous aurez plusieurs avertissements. La plupart sont des faux positifs dus à la configuration spécifique de votre système. Votre travail consiste à les examiner un par un.
Analyser le rapport et gérer les faux positifs
Le rapport de scan se trouve dans /var/log/rkhunter.log.
sudo less /var/log/rkhunter.log
Cherchez les lignes contenant `[ Warning ]`. Pour chaque avertissement, vous devez déterminer s\'il s\'agit d\'un vrai problème ou d\'un faux positif.
Exemple de faux positif courant : "Le fichier ` /usr/sbin/unhide` a été trouvé. C\'est un outil de détection de rootkits."
Si vous avez installé `unhide` vous-même, c\'est un faux positif. Vous pouvez dire à RKHunter de l\'ignorer en modifiant son fichier de configuration /etc/rkhunter.conf.
sudo nano /etc/rkhunter.conf
Trouvez la directive appropriée (ex: `ALLOW_SSH_ROOT_USER` ou `SCRIPTWHITELIST`) et ajoutez le fichier ou le paramètre que vous souhaitez mettre sur liste blanche.
Après avoir ajouté des exceptions, relancez rkhunter --propupd pour mettre à jour la baseline, puis un nouveau rkhunter --check --sk pour vérifier que les avertissements ont disparu.
Automatiser les scans
Il est essentiel de scanner votre système régulièrement. On peut facilement créer une tâche cron pour cela.
sudo nano /etc/cron.daily/rkhunter-scan
Ajoutez le contenu suivant pour un scan quotidien :
#!/bin/sh
(
/usr/bin/rkhunter --update
/usr/bin/rkhunter --cronjob --report-warnings-only
) | mail -s "Rapport RKHunter pour $(hostname)" [email protected]
Rendez ce script exécutable :
sudo chmod +x /etc/cron.daily/rkhunter-scan
RKHunter est souvent utilisé en tandem avec un autre outil appelé
chkrootkit. Les deux outils ont des méthodes de détection légèrement différentes, et les utiliser ensemble offre une meilleure couverture.
Conclusion
RKHunter est un outil de sécurité essentiel qui devrait faire partie de l\'arsenal de base de tout administrateur système Linux. Bien qu\'il demande un effort initial pour trier les faux positifs, une fois configuré et automatisé, il fournit une surveillance précieuse et silencieuse de l\'intégrité de votre système. C\'est votre "canari dans la mine de charbon", qui vous alertera si quelque chose de suspect se produit.