Installer et configurer Tripwire (HIDS) 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
- Installer Tripwire
- Initialiser et corriger la politique si nécessaire
- Vérifier l’intégrité du système
- Ajouter une règle pour un répertoire (ex. WordPress)
- 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 tripwirePendant l’installation, l’installateur vous demandera la configuration de Postfix (système de mail). Choisissez « Internet Site » et validez « OK ».

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

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


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.




É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 --initSaisissez 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
Éditez ensuite le fichier de politique twpol.txt :
cd /etc/tripwire/
sudo vim twpol.txtLes 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.txtSaisissez la passphrase site-key.
Puis réinitialisez la base Tripwire :
sudo tripwire --initSaisissez la passphrase local-key. Si tout est correct, il ne doit plus y avoir d’erreur de répertoire.

Étape 3 — Vérifier l’intégrité des fichiers système
Pour lancer une vérification complète :
sudo tripwire --checkLe résultat attendu sur un système propre et conforme à la politique est “No Violation” et “No Error”.

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 --checkTripwire signalera l’ajout du fichier et la modification du répertoire contenant comme violations.

É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.txtAjoutez à 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 --initSaisissez 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 --checkVous recevrez des violations marquées avec un niveau de sécurité élevé (ex. severity 100) si la règle est active.

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

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 --initPour envoyer un rapport par e‑mail après une vérification manuelle :
sudo tripwire --check --email-report
Automatisation : créez une tâche cron pour exécuter Tripwire quotidiennement (exécution en tant que root) :
sudo crontab -e -u rootAjoutez la ligne :
0 0 * * * tripwire --check --email-reportRechargez le service cron si nécessaire :
systemctl restart cron
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 :
- Mettre à jour le système : sudo apt update && sudo apt upgrade -y
- Installer Tripwire : sudo apt install -y tripwire
- Répondre aux prompts Postfix et clés (site/local)
- Editer /etc/tripwire/twpol.txt pour adapter les chemins et ajouter la règle Wordpress
- sudo twadmin -m P /etc/tripwire/twpol.txt
- sudo tripwire –init
- sudo tripwire –check
- Configurer l’email dans le bloc de règle (emailto)
- 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
- Recevoir l’alerte e‑mail (ou autre canal).
- Lire le rapport Tripwire pour identifier exactement quel fichier a changé.
- Mettre le fichier en quarantaine (copie chiffrée hors ligne) et enregistrer un hash du fichier actuel.
- Vérifier l’activité récente : logs système (/var/log/auth.log, /var/log/syslog), connexions SSH, tâches cron.
- 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.
- 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 3Ce 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
Matériaux similaires
Installer et utiliser Podman sur Debian 11
Guide pratique : apt-pinning sur Debian
OptiScaler : activer FSR 4 dans n'importe quel jeu
Dansguardian + Squid NTLM sur Debian Etch
Corriger l'erreur d'installation Android sur SD