Accueil

Tripwire : Surveillance de l'intégrité des fichiers

Security
Difficulte: Advanced
5 min de lecture

Tutoriel pour installer et configurer Tripwire, un outil de détection d\'intrusion et de surveillance de l\'intégrité des fichiers (FIM).

Retour aux tutoriels

L'essentiel

  • Tripwire construit une baseline : une base chiffrée de signatures cryptographiques (type SHA-256) des fichiers surveillés, stockée dans /var/lib/tripwire/ et créée par sudo tripwire --init.
  • Cette baseline n'a de valeur que si elle est prise sur un système sain et connu : installer Tripwire sur un serveur déjà compromis revient à certifier la porte dérobée comme légitime.
  • Deux phrases de passe distinctes protègent l'outil : la clé de site, demandée à l'initialisation, et la clé locale, demandée pour lire les rapports de tripwire --check. Elles empêchent la manipulation de la base et de la configuration.
  • Le fichier de politique /etc/tripwire/twpol.txt décide quels fichiers sont surveillés et quels attributs sont comparés (permissions, hash, taille). C'est le seul vrai levier contre le bruit des rapports.
  • Après un changement légitime, il faut accepter les modifications avec tripwire --update --twrfile /var/lib/tripwire/report/VOTRE_RAPPORT.twr, sinon elles réapparaissent dans tous les rapports suivants.
Qu'est-ce que Tripwire ?
Tripwire est un Système de Détection d'Intrusion Basé sur l'Hôte (HIDS) et un outil de Surveillance de l'Intégrité des Fichiers (FIM - File Integrity Monitoring). Son fonctionnement est simple en théorie : il crée une "baseline", une base de données contenant les signatures cryptographiques (comme SHA-256) de fichiers et répertoires importants. Ensuite, à intervalles réguliers, il compare l'état actuel des fichiers à cette baseline pour détecter toute modification, suppression ou ajout.

Pourquoi utiliser Tripwire ?

  • Détection de compromission : Si un attaquant modifie un binaire système (ex: /bin/ls) pour cacher ses traces, Tripwire le détectera.
  • Conformité (Compliance) : De nombreuses normes de sécurité (PCI-DSS, HIPAA) exigent une surveillance de l'intégrité des fichiers. Tripwire est un outil parfait pour cela.
  • Contrôle des changements : Permet de s'assurer que seules les modifications autorisées sont apportées aux serveurs de production.

Prérequis

  • Un serveur Linux (Ubuntu/Debian, CentOS/RHEL) sur un état "propre" connu. Il est crucial d'installer Tripwire avant que le serveur ne soit potentiellement compromis.
  • Accès root ou privilèges sudo.

Contenu Premium

Ce tutoriel avancé est réservé aux membres premium.

9,90€ / mois
  • Tous les tutoriels avancés
  • Nouveaux contenus chaque semaine
  • Suivi de progression
  • Annulation à tout moment
MR

Écrit par

Morgann Riu

Expert en cybersécurité et administration Linux. Je partage mes connaissances à travers des tutoriels gratuits et des formations pour aider les administrateurs systèmes et développeurs à sécuriser leurs infrastructures.

Questions fréquentes

Pourquoi faut-il installer Tripwire avant la mise en production ?
Parce que tripwire --init photographie l'état du système et le déclare comme référence. Si la machine a déjà été compromise, le binaire modifié ou le fichier déposé par l'attaquant entrent dans la baseline comme des éléments normaux et ne seront jamais signalés. Une baseline créée sur un système douteux donne une fausse assurance, ce qui est pire que pas de surveillance d'intégrité du tout.
À quoi servent la clé de site et la clé locale, et que faire si je perds une phrase de passe ?
La clé de site protège la politique et la configuration : sa phrase de passe est demandée lors de tripwire --init. La clé locale protège la base et les rapports de la machine, et c'est elle qui est réclamée pour lire le résultat d'un tripwire --check. Ces phrases de passe ne se récupèrent pas : sans elles vous ne pouvez plus ni consulter un rapport ni mettre la baseline à jour, donc conservez-les dans un coffre au même titre qu'un mot de passe root.
Chaque <code>apt upgrade</code> produit un rapport rempli de modifications, est-ce normal ?
Oui : une mise à jour de paquets remplace des binaires, donc leurs empreintes changent légitimement. Après avoir vérifié que le rapport ne contient que ces changements attendus, acceptez-les avec sudo tripwire --update --twrfile /var/lib/tripwire/report/VOTRE_RAPPORT.twr pour les intégrer à la baseline. Sans cette étape, les mêmes lignes reviennent dans chaque rapport et vous finissez par ne plus les lire, ce qui annule tout l'intérêt de l'outil.
Comment refuser une partie seulement des modifications lors d'un <code>--update</code> ?
Ouvrez le fichier de rapport .twr de /var/lib/tripwire/report/ dans un éditeur avant de lancer la mise à jour : chaque modification est précédée d'une case cochée par un x. Retirez le x des lignes que vous ne voulez pas accepter, enregistrez, puis lancez la commande tripwire --update --twrfile. Les entrées décochées restent hors de la baseline et continueront d'être signalées, ce qui est exactement le comportement voulu pour une modification suspecte.
Comment automatiser les vérifications et recevoir les rapports par email ?
Créez un script /etc/cron.daily/tripwire-check qui exécute /usr/sbin/tripwire --check et envoie la sortie via mail, puis rendez-le exécutable avec sudo chmod +x /etc/cron.daily/tripwire-check : sans ce chmod, cron ignore silencieusement le fichier. Prévoyez d'affiner twpol.txt en parallèle pour exclure les fichiers qui changent en permanence, comme les logs et les caches, sinon le rapport quotidien deviendra vite illisible.

Partager ce tutoriel

Cet article vous a plu ?

Cet article vous a-t-il été utile ?

Merci pour votre retour !

Commentaires

Recommandé pour vous

Article de fond sur le sujet

Checklist Sécurité Linux

30 points essentiels pour sécuriser un serveur Linux. Recevez aussi les nouveaux tutoriels par email.

Pas de spam. Désabonnement en 1 clic.