Security
Difficulte: Intermediate
4 min de lecture

RKHunter : Détection de rootkits sur Linux

Tutoriel pour installer et configurer RKHunter (Rootkit Hunter), un outil de détection de rootkits et de backdoors sur Linux.

Retour aux tutoriels
Qu\'est-ce que RKHunter ?
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
Gestion des avertissements (Warnings)
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
Combiner avec Chkrootkit
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.