rkHunter
Mise à jour :
Si vous êtes comme moi et que la sécurité de vos systèmes Linux est une priorité, alors vous avez probablement entendu parler de RKHunter. Sinon, laissez-moi vous expliquer pourquoi cet outil mérite votre attention.
RKHunter, ou Rootkit Hunter, est un outil open source conçu pour détecter des rootkits, des backdoors, et d’autres types de menaces qui pourraient compromettre votre système. Pour faire simple, un rootkit est un logiciel malveillant qui cherche à s’infiltrer profondément dans un système d’exploitation pour éviter la détection. Ces menaces peuvent donner à un attaquant un accès total à votre machine, souvent sans que vous le sachiez. Effrayant, non ?
À mon avis, l’un des points forts de RKHunter est sa simplicité. Contrairement à d’autres solutions de sécurité qui nécessitent des heures de configuration, RKHunter est rapide à installer et efficace dès le départ. Son but principal ? Vérifier l’intégrité de vos fichiers systèmes et alerter en cas de modification suspecte.
Pourquoi utiliser RKHunter ?
Que vous soyez administrateur système ou simplement un passionné de Linux, RKHunter est un outil essentiel pour renforcer la sécurité. Dans ce guide, je vais vous montrer comment l’installer, le configurer et en tirer le meilleur parti.
Mais ce n’est pas tout. RKHunter ne se limite pas à la chasse aux rootkits. Il analyse également des aspects critiques de votre système, comme les permissions des fichiers sensibles, les configurations réseau, et même les variables d’environnement. En somme, c’est un véritable garde du corps pour votre serveur.
Comment installer RKHunter ?
Plutôt que d’utiliser les gestionnaires de paquets, je vous recommande de télécharger la dernière version de RKHunter depuis le site officiel. Cela vous permettra de bénéficier de la dernière version.
-
Téléchargez l’archive depuis le site officiel ↗:
-
Extrayez l’archive :
-
Installez :
Une fois installé, il est important de vérifier que RKHunter fonctionne correctement. Tapez la commande suivante pour afficher la version installée :
Si tout est en ordre, vous verrez la version actuelle ainsi qu’un message indiquant si une mise à jour est nécessaire.
Après l’installation, la première chose à faire est de mettre à jour les bases de données de RKHunter, qui contiennent les signatures de rootkits et autres anomalies :
Cela garantit que votre installation est prête à détecter les menaces les plus récentes.
Configuration initiale
Pour permettre à RKHunter de détecter les modifications des fichiers système, vous devez générer un fichier de référence. Cela crée une base de données contenant les propriétés actuelles des fichiers critiques.
⚠️ Attention : N’exécutez cette commande que si vous êtes sûr que tous les fichiers de votre système sont intacts et fiables.
Le fichier principal de configuration, /etc/rkhunter.conf
, contient des
options qui permettent d’adapter le comportement de l’outil à vos besoins.
Voici quelques paramètres :
UPDATE_MIRRORS=1
- Active les mises à jour automatiques des miroirs.
DB_UPDATE=1
- Permet de mettre à jour la base de données utilisée pour les vérifications.
ALLOWHIDDENDIR=/chemin/vers/repertoire
- Autorise un répertoire caché spécifique (exemple :
/etc/.java
).
- Autorise un répertoire caché spécifique (exemple :
ALLOWHIDDENFILE=/chemin/vers/fichier
- Autorise un fichier caché spécifique (exemple :
/etc/.myconfig
).
- Autorise un fichier caché spécifique (exemple :
SCRIPTWHITELIST=/chemin/vers/script
- Ajoute un script à la liste blanche pour éviter les alertes (exemple :
/usr/bin/which
).
- Ajoute un script à la liste blanche pour éviter les alertes (exemple :
DISABLE_TESTS=<liste_de_tests>
- Désactive certains tests spécifiques, comme
suspscan
(analyse des fichiers suspects).
- Désactive certains tests spécifiques, comme
PORT_WHITELIST="22 80 443"
- Spécifie les ports réseau à autoriser, pour éviter des avertissements inutiles.
ALLOW_SSH_ROOT_USER=0
- Signale si l’utilisateur root est autorisé à se connecter via SSH.
ALLOW_SSH_PROT_V1=0
- Désactive les alertes si le protocole SSH v1 est utilisé.
Exécution de RKHunter
Maintenant que RKHunter est installé et mis à jour, il est temps de le mettre au travail. Je vais vous montrer comment utiliser cet outil pour analyser votre système et interpréter ses résultats.
La commande la plus courante pour utiliser RKHunter est :
Cette commande effectue une vérification complète de votre système. Voici ce qui se passe :
- Examen des fichiers système critiques, comme
/etc/passwd
et/etc/shadow
. - Recherche de rootkits connus.
- Vérification des permissions des fichiers importants.
- Analyse des ports réseau ouverts pour détecter des comportements suspects.
Pendant l’analyse, vous verrez des messages détaillés apparaître à l’écran. Chaque vérification est marquée comme :
- [OK] si tout est normal.
- [Warning] si quelque chose semble suspect.
Lorsque RKHunter détecte un problème potentiel, il vous le signale avec un avertissement. Pour réduire le nombre d’avertissements non pertinents (faux positifs), utilisez l’option suivante lors de l’analyse :
Le flag --report-warnings-only
permet de n’afficher que les avertissements
importants.
Exemple de sortie de RKHunter :
Ces avertissements générés par RKHunter montrent des points potentiellement préoccupants sur votre système. Analysons ensemble ce qu’ils signifient et comment y répondre.
Interprétation des avertissements RKHunter
Après avoir lancé une analyse avec RKHunter, vous obtenez un rapport détaillé qui met en lumière les éventuels problèmes détectés. Comprendre et interpréter ces résultats est une étape cruciale pour déterminer si votre système est en sécurité ou non.
Par défaut, le rapport d’analyse est enregistré dans ce fichier log :
Pour consulter rapidement son contenu, utilisez une des commandes suivantes :
Le rapport est organisé en sections. Voici un aperçu des éléments clés et ce qu’ils signifient :
Quelques exemples d’avertissements courants
Vérification des fichiers critiques
Examine les fichiers essentiels comme /etc/passwd
, /etc/shadow
, et autres.
Exemple d’avertissement :
-
Explication : Cela indique que les propriétés (permissions, taille, hash) du fichier ont été modifiées.
-
Action : Si vous n’avez pas effectué de mise à jour ou de modification intentionnelle, investiguez immédiatement :
Vérifiez également l’historique des modifications avec
auditd
ou des outils commegrep
.
Détection des rootkits
Cette section signale la présence potentielle de rootkits connus. Exemple :
-
Explication : Cela signifie que des traces ou comportements associés à un rootkit spécifique ont été détectés.
-
Action : Vérifiez manuellement les fichiers ou processus suspects. Par exemple, pour un fichier suspect :
Supprimez-le uniquement si vous êtes sûr qu’il est malveillant.
Permissions des fichiers et répertoires
Vérifie si des fichiers ou répertoires sensibles ont des permissions trop permissives. Exemple :
-
Explication : Cela indique que des fichiers exécutables critiques sont mal configurés.
-
Action : Corrigez les permissions :
Comportements inhabituels dans les commandes
Certaines commandes standard peuvent être remplacées par des scripts ou des exécutables suspects. Exemple :
-
Explication : Les commandes remplacées peuvent être légitimes (dépendant de la distribution), mais cela nécessite une vérification.
-
Action : Identifiez le type du fichier :
Comparez-le avec une version saine ou réinstallez le paquet contenant cette commande :
Configuration SSH
Analyse les paramètres de sécurité dans /etc/ssh/sshd_config
. Exemple :
-
Explication : Si des paramètres sensibles comme
PermitRootLogin
ouProtocol
ne sont pas explicitement définis, cela peut ouvrir des vulnérabilités. -
Action : Configurez le fichier SSH :
Ajoutez ou modifiez les lignes suivantes :
Identifier les faux positifs
Certains avertissements de RKHunter peuvent être des faux positifs, notamment sur des fichiers ou scripts modifiés par des mises à jour système ou des outils légitimes. Exemple :
-
Explication : Les fichiers ou répertoires cachés ne sont pas toujours malveillants. Par exemple,
/etc/.java
est souvent créé par des environnements Java. -
Action : Inspectez leur contenu pour confirmer leur légitimité :
Si vous êtes sûr qu’il s’agit d’un faux positif, ajoutez ces éléments à la liste
blanche dans /etc/rkhunter.conf
:
Quand prévoir une réinstallation du système ?
Une réinstallation devient nécessaire lorsqu’un système montre des signes clairs
de compromission. Si RKHunter détecte un rootkit ou des altérations
inexpliquées sur des fichiers critiques comme /etc/passwd
ou /usr/bin/sudo
,
cela peut indiquer une attaque. Une activité réseau suspecte ou des
modifications dans des configurations sensibles, comme SSH, sont également des
signaux d’alerte. Avant de réinstaller, sauvegardez uniquement les données
essentielles et les journaux pour enquête, sans inclure de binaires
potentiellement compromis. Préparez une ISO officielle et réinstallez
proprement. Après l’installation, effectuez une analyse initiale avec
RKHunter, appliquez les mises à jour, configurez la sécurité, changez les
mots de passe, et installez des outils comme un pare-feu ou Fail2Ban. Une
réinstallation est souvent la meilleure solution pour garantir la fiabilité et
la sécurité d’un système compromis.
Conclusion
Vous l’aurez compris RKHunter est un outil puissant pour surveiller et sécuriser vos systèmes Linux. Il aide à identifier les rootkits, les altérations suspectes et les configurations à risque. En suivant les bonnes pratiques d’analyse, de configuration et de gestion des alertes, vous pouvez minimiser les menaces. Cependant, en cas de doute sérieux ou de compromission avérée, une réinstallation propre reste la solution la plus sûre pour repartir sur un système sain. La sécurité repose autant sur la vigilance humaine que sur l’efficacité des outils.
Jetter un œil à d’autres outils de sécurité pour renforcer la protection de vos systèmes comme Lynis.