Guide des technologies

Installer et configurer Tripwire (HIDS) sur Ubuntu 16.04

11 min read Sécurité Mis à jour 21 Oct 2025
Installer et configurer Tripwire sur Ubuntu 16.04
Installer et configurer Tripwire sur Ubuntu 16.04

Tripwire est un système de détection d’intrusion basé sur l’hôte (HIDS) open source qui surveille et alerte sur les modifications de fichiers. Ce guide explique, pas à pas, l’installation sur Ubuntu 16.04, la personnalisation de la politique, l’ajout de règles (p. ex. pour un site WordPress), la configuration des notifications par e‑mail et d’un cron journalier, ainsi que les bonnes pratiques, le dépannage et des playbooks opérationnels.

Important : ce tutoriel conserve les chemins et commandes d’origine. Les captures d’écran référencées conservent leurs URL, mais les textes alternatifs (ALT) sont traduits en français.

Intentions principales

  • Installer Tripwire et initialiser sa base de données.
  • Adapter la politique Tripwire pour un système Ubuntu.
  • Ajouter des règles (ex. surveillance de /var/www pour WordPress).
  • Configurer les notifications par e‑mail et l’automatisation via cron.

Variantes de recherche liées

  • installer Tripwire Ubuntu
  • configurer Tripwire HIDS
  • Tripwire surveillance fichiers WordPress
  • Tripwire notifications email
  • Tripwire cron vérification

Pré-requis

  • Un serveur Ubuntu 16.04
  • Accès root ou sudo
  • Accès au shell

Vue d’ensemble des étapes

  1. Installer Tripwire
  2. Initialiser et corriger la politique si nécessaire
  3. Vérifier l’intégrité du système
  4. Ajouter une règle pour un répertoire (ex. WordPress)
  5. Configurer les notifications par e‑mail et la tâche cron

Pourquoi utiliser Tripwire

Tripwire calcule et stocke des empreintes (hashes) et métadonnées de fichiers. À chaque exécution, il compare l’état actuel avec l’état de référence et signale les violations (ajout/modification/suppression). Définition en une ligne : un HIDS vérifie l’intégrité des fichiers système et déclenche des alertes en cas de divergences.

Important : Tripwire n’empêche pas directement les modifications (ce n’est pas un système de prévention), mais il détecte et notifie les changements pour permettre une intervention rapide.


Étape 1 — Installer Tripwire

Tripwire est disponible dans les dépôts officiels d’Ubuntu. Mettez à jour les dépôts puis installez le paquet :

sudo apt update
sudo apt install -y tripwire

Pendant l’installation, l’installateur vous demandera la configuration de Postfix (système de mail). Choisissez « Internet Site » et validez « OK ».

Configuration de Postfix

Pour le nom de domaine du système de mail, laissez la valeur par défaut puis validez « OK ».

Nom d'hôte pour le service mail

Ensuite, l’installateur vous demandera de créer des clés Tripwire : une site-key et une local-key. Créez-les et saisissez des phrases de passe sécurisées lorsque demandé.

Création de la site-key Tripwire

Création de la local-key Tripwire

Vous devrez répéter chaque phrase de passe lorsque le système le demande. À la fin de ce processus, l’installation initiale est terminée.

Saisie de la passphrase site-key

Confirmation de la passphrase site-key

Saisie de la passphrase local-key

Confirmation de la passphrase local-key


Étape 2 — Configurer la politique Tripwire pour Ubuntu

Tous les fichiers de configuration Tripwire se trouvent dans /etc/tripwire.

Après l’installation il faut initialiser la base de données :

sudo tripwire --init

Saisissez la passphrase local-key lorsque demandée.

Si vous obtenez une erreur “No such directory” (ou des violations de chemins manquants), Tripwire vous indique quels fichiers ou répertoires référencés dans la politique n’existent pas sur votre système. Pour lister ces chemins :

sudo sh -c "tripwire --check | grep Filename > no-directory.txt"
cat no-directory.txt

Liste des chemins absents signalés par Tripwire

Éditez ensuite le fichier de politique twpol.txt :

cd /etc/tripwire/
sudo vim twpol.txt

Les modifications courantes sur Ubuntu incluent :

  • Commenter des lignes qui référencent des répertoires non présents (p. ex. /etc/rc.boot)
  • Exclure certains fichiers temporaires ou systèmes /proc et /dev sensibles
  • Ajuster la sensibilité et le type de vérification pour des répertoires spécifiques

Exemples de modifications dans twpol.txt (extraits) :

Boot Scripts — commenter des entrées non pertinentes :

(
  rulename = "Boot Scripts",
  severity = $(SIG_HI)
)
{
        /etc/init.d             -> $(SEC_BIN) ;
        #/etc/rc.boot           -> $(SEC_BIN) ;
        /etc/rcS.d              -> $(SEC_BIN) ;

System boot changes — commenter les chemins volatils :

(
  rulename = "System boot changes",
  severity = $(SIG_HI)
)
{
        #/var/lock               -> $(SEC_CONFIG) ;
        #/var/run                -> $(SEC_CONFIG) ; # daemon PIDs
        /var/log                -> $(SEC_CONFIG) ;

Fichiers root — conserver l’historique Bash mais commenter d’autres fichiers si nécessaire :

(
  rulename = "Root config files",
  severity = 100
)
{
        /root                          -> $(SEC_CRIT) ; # Catch all additions to /root
        #/root/mail                     -> $(SEC_CONFIG) ;
        /root/.bashrc                   -> $(SEC_CONFIG) ;
        /root/.bash_history             -> $(SEC_CONFIG) ;

Périphériques et /proc — éviter les faux positifs en excluant les objets volatils :

(
  rulename = "Devices & Kernel information",
  severity = $(SIG_HI),
)
{
        /dev            -> $(Device) ;
        /dev/pts        -> $(Device);
        /dev/shm        -> $(Device);
        /proc/devices           -> $(Device) ;
        /proc/net               -> $(Device) ;
        /proc/cpuinfo           -> $(Device) ;
        /proc/modules           -> $(Device) ;
}

Après avoir sauvegardé twpol.txt, recréez la politique chiffrée avec twadmin :

sudo twadmin -m P /etc/tripwire/twpol.txt

Saisissez la passphrase site-key.

Puis réinitialisez la base Tripwire :

sudo tripwire --init

Saisissez la passphrase local-key. Si tout est correct, il ne doit plus y avoir d’erreur de répertoire.

Réinitialisation de la base Tripwire réussie


Étape 3 — Vérifier l’intégrité des fichiers système

Pour lancer une vérification complète :

sudo tripwire --check

Le résultat attendu sur un système propre et conforme à la politique est “No Violation” et “No Error”.

Résultat d'un scan Tripwire sans violation

Test simple : créez un fichier dans /root ou un répertoire surveillé et relancez la vérification :

cd ~/
touch hakase-labs.txt
sudo tripwire --check

Tripwire signalera l’ajout du fichier et la modification du répertoire contenant comme violations.

Résultat montrant des violations après ajout d'un fichier


Étape 4 — Ajouter une nouvelle règle Tripwire (ex. Wordpress Data)

Pour surveiller un site Web (p. ex. WordPress), ajoutez une règle ciblée dans twpol.txt.

Ouvrez le fichier :

cd /etc/tripwire/
sudo vim twpol.txt

Ajoutez à la fin un bloc de règle, par exemple :

# Ruleset for Wordpress
(
  rulename = "Wordpress Ruleset",
  severity= $(SIG_HI)
)
{
        /var/www        -> $(SEC_CRIT);
}

Enregistrez puis régénérez la politique et réinitialisez la base :

sudo twadmin -m P /etc/tripwire/twpol.txt
sudo tripwire --init

Saisissez les passphrases site-key et local-key quand demandé.

Test : créez un fichier sous /var/www et modifiez la page d’accueil pour provoquer une violation :

cd /var/www/
touch hakase-labs.txt
echo "

Hakase-labs Tutorial

" > html/index.nginx-debian.html sudo tripwire --check

Vous recevrez des violations marquées avec un niveau de sécurité élevé (ex. severity 100) si la règle est active.

Notification de violation Tripwire pour /var/www


Étape 5 — Notifications par e‑mail et automatisation cron

Tripwire peut envoyer des rapports par e‑mail. Lors de l’installation, Postfix a été configuré. Testez la notification :

tripwire --test --email [email protected]

Vérifiez que vous recevez l’e‑mail de test depuis le serveur.

Notification de test Tripwire par e-mail

Pour lier un e‑mail à une règle, éditez twpol.txt et ajoutez emailto = [email protected] dans le bloc de règle :

(
  rulename = "Wordpress Rule",
  severity = $(SIG_HI),
  emailto = [email protected]
)

Régénérez la politique et réinitialisez la base :

sudo twadmin -m P /etc/tripwire/twpol.txt
sudo tripwire --init

Pour envoyer un rapport par e‑mail après une vérification manuelle :

sudo tripwire --check --email-report

Exemple de rapport Tripwire reçu par e-mail

Automatisation : créez une tâche cron pour exécuter Tripwire quotidiennement (exécution en tant que root) :

sudo crontab -e -u root

Ajoutez la ligne :

0 0 * * * tripwire --check --email-report

Rechargez le service cron si nécessaire :

systemctl restart cron

Configuration du crontab pour Tripwire

Désormais, Tripwire exécutera une vérification quotidienne et enverra des rapports par e‑mail pour les règles configurées.


Bonnes pratiques et recommandations opérationnelles

  • Sauvegarder twpol.txt et les clés (site-key/local-key) de manière sécurisée (par ex. coffre‑fort de secrets) ; ne jamais stocker les passphrases en clair sur le serveur.
  • Limiter les règles critiques (SEC_CRIT) aux chemins réellement sensibles pour éviter les bruits d’alerte.
  • Exclure ou ajuster les règles pour les répertoires volatils (/proc, /dev, /var/run) afin de réduire les faux positifs.
  • Tester toute modification de politique sur un environnement de préproduction avant déploiement en production.
  • Mettre en place un canal d’escalade clair (e‑mail, ticket, messagerie d’équipe) pour les violations critiques.

Important : Tripwire détecte les changements mais ne remplace pas un processus d’investigation ou de réponse aux incidents.


Dépannage courant

Symptôme : “No such directory” lors de tripwire –init

Cause probable : la politique référence des chemins qui n’existent pas sur la machine.

Action : lister les chemins manquants (voir commande sh -c plus haut), éditer /etc/tripwire/twpol.txt et commenter ou corriger les entrées, puis régénérer la politique avec twadmin et réinitialiser la base.

Symptôme : faux positifs (beaucoup de violations pour /proc ou /dev)

Action : exclure explicitement les sous‑chemins volatils ou définir des types $(Device) adaptés. Refaire la base après modification.

Symptôme : pas d’e‑mail reçu

Vérifier :

  • Le service postfix est opérationnel (systemctl status postfix).
  • Les logs de mail (/var/log/mail.log) pour les erreurs d’envoi.
  • Que l’adresse email de destination est correcte et que la configuration DNS/relay pour l’envoi est autorisée.

Comparaison rapide avec des alternatives

  • AIDE : autre HIDS similaire, plus moderne sur certains aspects de politique, souvent préféré pour des configurations automatisées dans des environnements contemporains.
  • OSSEC/Wazuh : HIDS + gestion centralisée + détection d’anomalies et corrélation; plus adapté pour déploiements à grande échelle.

Choix : pour une surveillance d’intégrité simple et lisible, Tripwire reste une option viable ; pour une gestion centralisée et des règles plus riches, considérer OSSEC/Wazuh.


Sécurité et confidentialité

  • Conserver les clés site/local dans un emplacement chiffré. Limiter l’accès aux fichiers /etc/tripwire et aux clés.
  • Les rapports e‑mail peuvent contenir chemins et noms de fichiers surveillés : éviter d’envoyer des informations sensibles en clair si l’email transite par des réseaux non sécurisés.
  • Respecter la politique interne de rétention des logs et des rapports (GDPR : minimiser les données personnelles dans les rapports si des fichiers utilisateurs sont surveillés).

Compatibilité et migration vers versions récentes d’Ubuntu

  • Ce guide cible Ubuntu 16.04. Sur des versions plus récentes (18.04, 20.04, 22.04), les mêmes principes s’appliquent, mais vérifiez :
    • Les chemins système utilisés dans twpol.txt (certaines distributions déplacent des services ou noms de répertoires).
    • Les paquets et dépôts : tripwire peut être absent ou obsolète dans certains dépôts ; compiler depuis les sources GitHub officiel peut être nécessaire.
  • Toujours tester la politique sur une instance de test pour éviter d’initier une base qui capture des états non souhaités.

Playbook d’installation rapide (SOP)

Objectif : déployer Tripwire et configurer une règle de surveillance pour /var/www.

Étapes :

  1. Mettre à jour le système : sudo apt update && sudo apt upgrade -y
  2. Installer Tripwire : sudo apt install -y tripwire
  3. Répondre aux prompts Postfix et clés (site/local)
  4. Editer /etc/tripwire/twpol.txt pour adapter les chemins et ajouter la règle Wordpress
  5. sudo twadmin -m P /etc/tripwire/twpol.txt
  6. sudo tripwire –init
  7. sudo tripwire –check
  8. Configurer l’email dans le bloc de règle (emailto)
  9. Ajouter cron : 0 0 * tripwire –check –email-report

Rôles :

  • Administrateur système : installation, configuration du système mail, cron.
  • Sécurité/IRT : validation des règles et procédures d’escalade.

Runbook incident : violation critique détectée

  1. Recevoir l’alerte e‑mail (ou autre canal).
  2. Lire le rapport Tripwire pour identifier exactement quel fichier a changé.
  3. Mettre le fichier en quarantaine (copie chiffrée hors ligne) et enregistrer un hash du fichier actuel.
  4. Vérifier l’activité récente : logs système (/var/log/auth.log, /var/log/syslog), connexions SSH, tâches cron.
  5. Si intrusion confirmée, isoler l’hôte du réseau, lancer une investigation forensique, et suivre la procédure interne de réponse aux incidents.
  6. Après remédiation, restaurer les fichiers à partir d’une sauvegarde validée et recréer l’état Tripwire (regénérer la base si nécessaire).

Cas de test et critères d’acceptation

Cas de test 1 — Installation : Tripwire installé, twadmin et tripwire –init complètent sans erreur.

Cas de test 2 — Politique : modification de twpol.txt suivie de twadmin -m P et tripwire –init, sans erreurs.

Cas de test 3 — Détection : ajout d’un fichier dans /var/www déclenche une violation lors de sudo tripwire –check.

Cas de test 4 — Notification : tripwire –check –email-report envoie un e‑mail au destinataire configuré.

Critères d’acceptation :

  • Pas d’erreurs bloquantes à l’initialisation.
  • Violations détectées et signalées pour modifications intentionnelles lors des tests.
  • Réception des notifications e‑mail de test et réelles.

Modèle mental et heuristiques rapides

  • Empreinte (= snapshot) : état de référence signé par site-key/local-key.
  • Check = comparaison entre état courant et empreinte.
  • twadmin = outil d’administration pour (re)générer la politique chiffrée.
  • Exclure les chemins volatils pour éviter le bruit.
  • Utiliser des règles granulaires pour réduire les faux positifs.

Checklist par rôle

Administrateur système :

  • Installer Tripwire
  • Configurer Postfix ou un MTA fonctionnel
  • Générer site-key et local-key, stocker les clés de façon sûre
  • Ajuster twpol.txt pour l’OS cible
  • Régénérer la politique et initialiser la base
  • Planifier la tâche cron

Équipe de sécurité :

  • Définir les règles critiques (SEC_CRIT)
  • Configurer les destinataires e‑mail et canaux d’escalade
  • Tester les procédures d’investigation

Développeurs/Opérations Web :

  • Informer des règles de changement de fichiers pour éviter les faux positifs
  • Déployer les modifications en utilisant un processus CI/CD intégré

Snippet utile — extraire uniquement les violations critiques

sudo tripwire --check | egrep "Violation|Severity" -A 3

Ce petit filtre vous aide à repérer rapidement les violations importantes dans la sortie standard.


Diagramme de décision (Mermaid)

flowchart TD
  A[Détection Tripwire] --> B{Violation détectée ?}
  B -- Non --> C[Fin : état conforme]
  B -- Oui --> D{Severity élevée ?}
  D -- Oui --> E[Envoyer alerte, isoler hôte, lancer runbook]
  D -- Non --> F[Examiner, classifier, corriger si nécessaire]
  E --> G[Investigation forensique]
  F --> H[Marquer comme changement autorisé si validé]

Quand Tripwire peut échouer ou être insuffisant

  • Si un attaquant obtient les clés site/local, il peut falsifier l’état de la base Tripwire ; protègez ces clés.
  • Tripwire détecte les changements, mais n’empêche pas l’attaque. Il doit s’intégrer à un SOC / procédure de réponse.
  • Pour des environnements dynamiques (conteneurs éphémères, systèmes immuables), un HIDS d’intégrité traditionnel peut générer trop d’alertes ; préférer des approches basées sur la gestion des images et des scans dans la pipeline CI/CD.

Notes sur la confidentialité (GDPR et bonnes pratiques)

  • Limiter les rapports et la rétention des logs contenant des données personnelles.
  • Masquer ou exclure des chemins contenant des données d’utilisateurs lorsque la conformité l’exige.

Résumé final

Tripwire est un outil robuste pour la détection d’altérations de fichiers à l’échelle de l’hôte. Sur Ubuntu 16.04, l’installation est directe via apt ; la partie la plus sensible est l’adaptation de la politique twpol.txt pour éviter faux positifs et faux négatifs. Associer Tripwire à des notifications e‑mail et une planification cron permet une surveillance régulière. Enfin, combinez Tripwire avec des processus d’investigation et des sauvegardes pour transformer les alertes en actions opérationnelles.


Références

Auteur
Édition

Matériaux similaires

Installer et utiliser Podman sur Debian 11
Conteneurs

Installer et utiliser Podman sur Debian 11

Guide pratique : apt-pinning sur Debian
Administration système

Guide pratique : apt-pinning sur Debian

OptiScaler : activer FSR 4 dans n'importe quel jeu
Jeux PC

OptiScaler : activer FSR 4 dans n'importe quel jeu

Dansguardian + Squid NTLM sur Debian Etch
réseau

Dansguardian + Squid NTLM sur Debian Etch

Corriger l'erreur d'installation Android sur SD
Android, Dépannage

Corriger l'erreur d'installation Android sur SD

KNetAttach et remote:/ — Dossiers réseau KDE
Tutoriel

KNetAttach et remote:/ — Dossiers réseau KDE