Security
Difficulte: Advanced
5 min de lecture

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

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
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.

Installation et Initialisation

Étape 1 : Installation

# Sur Debian / Ubuntu
sudo apt-get update
sudo apt-get install -y tripwire

# Sur CentOS / RHEL (via le dépôt EPEL)
sudo yum install -y epel-release
sudo yum install -y tripwire

Pendant l\'installation, on vous demandera de créer une clé de site et une clé locale. Choisissez des phrases de passe robustes et conservez-les en lieu sûr. Ces clés protègent la base de données de Tripwire et ses fichiers de configuration contre toute manipulation.

Étape 2 : Configuration

Le fichier de politique principal est /etc/tripwire/twpol.txt. Il définit quels fichiers sont surveillés et quels attributs sont vérifiés pour chaque fichier (permissions, hash, taille, etc.).

Le fichier par défaut est très complet, mais vous pouvez l\'éditer pour l\'adapter à vos besoins.

sudo nano /etc/tripwire/twpol.txt

Étape 3 : Initialisation de la base de données

Cette commande scanne votre système selon la politique définie et crée la première "baseline". C\'est l\'étape la plus importante.

sudo tripwire --init

Vous devrez entrer votre phrase de passe de site. Ce processus peut prendre plusieurs minutes. La base de données chiffrée sera créée dans /var/lib/tripwire/.

Baseline créée !
Votre système a maintenant une empreinte de référence. Toute déviation par rapport à cet état sera signalée.

Utilisation au quotidien

Lancer une vérification d\'intégrité

sudo tripwire --check

Tripwire va rescanner le système et vous présenter un rapport listant tous les fichiers qui ont été modifiés, ajoutés ou supprimés depuis la dernière mise à jour de la baseline. Vous devrez entrer votre phrase de passe locale pour voir le rapport.

Analyser le rapport

Le rapport est la partie la plus délicate. Pour chaque modification, vous devez déterminer si elle est légitime ou non.

  • Légitime : Une mise à jour de paquet (via apt upgrade) va modifier des fichiers. C\'est normal.
  • Illégitime : Un binaire système qui change de hash sans raison apparente est extrêmement suspect.

Mettre à jour la base de données après des changements légitimes

Après avoir vérifié que les changements dans un rapport sont normaux (ex: après une mise à jour système), vous devez "accepter" ces changements pour mettre à jour la baseline. Sinon, ils apparaîtront dans chaque futur rapport.

  1. Ouvrez le rapport généré (fichier .twr dans /var/lib/tripwire/report/) avec un éditeur.
  2. Décochez (en retirant le `x`) les cases des modifications que vous ne voulez PAS accepter.
  3. Lancez la commande de mise à jour :
    sudo tripwire --update --twrfile /var/lib/tripwire/report/VOTRE_RAPPORT.twr

Cela intègre les changements acceptés dans la baseline pour les futurs scans.

Automatisation

Il est indispensable d\'exécuter des vérifications Tripwire régulièrement. Voici une tâche cron quotidienne qui envoie un rapport par email :

sudo nano /etc/cron.daily/tripwire-check

Ajoutez ce contenu :

#!/bin/sh
/usr/sbin/tripwire --check | mail -s "Rapport d'intégrité Tripwire pour $(hostname)" [email protected]

N\'oubliez pas de le rendre exécutable :

sudo chmod +x /etc/cron.daily/tripwire-check
Le "bruit" des logs
Le plus grand défi avec Tripwire est de gérer le "bruit". Sur un système qui change souvent, vous recevrez de nombreux rapports. Il est crucial d\'affiner votre politique (twpol.txt) pour ignorer les fichiers qui changent constamment et légitimement (comme certains fichiers de log, de cache, etc.).

Conclusion

Tripwire est un outil de sécurité fondamental, bien que parfois exigeant. Il offre une assurance puissante contre les modifications non autorisées de votre système de fichiers. Sa mise en place sur un serveur propre et son exécution régulière sont une des meilleures pratiques pour la détection d\'intrusions et le maintien de l\'intégrité d\'un système critique.