Surveiller les fichiers avec Tripwire

Beginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à utiliser Tripwire pour surveiller l'intégrité des fichiers et détecter les modifications non autorisées du système. Vous allez pratiquer l'installation de Tripwire sur Debian, la configuration de sa base de données et la mise en place de la surveillance des fichiers grâce à des exercices pratiques en ligne de commande.

Le laboratoire couvre les opérations clés telles que la génération de clés de chiffrement, l'établissement de captures d'état de base et l'analyse des rapports d'intégrité. Grâce à ces tâches pratiques, vous développerez les compétences essentielles pour maintenir la sécurité du système grâce à une surveillance efficace des fichiers.


Skills Graph

Installer Tripwire

Dans cette étape, vous allez installer Tripwire, un puissant outil open-source de surveillance de l'intégrité des fichiers. Tripwire aide les administrateurs système à détecter les modifications non autorisées des fichiers système importants en créant une « empreinte digitale » numérique de chaque fichier. Cette empreinte inclut des attributs tels que la taille du fichier, les autorisations et les sommes de contrôle.

Lorsque Tripwire s'exécute ultérieurement, il compare l'état actuel des fichiers avec ces empreintes stockées. Si des modifications sont détectées (même par des utilisateurs autorisés), Tripwire génère des alertes. Cela est particulièrement utile pour la surveillance de la sécurité et la détection de potentielles compromissions du système.

Étant donné que nous utilisons une machine virtuelle LabEx basée sur Debian, nous utiliserons le gestionnaire de paquets apt pour l'installation. Le processus comprend les étapes claires suivantes :

  1. Tout d'abord, nous devons mettre à jour l'index local des paquets. Cela garantit que nous installerons la version la plus récente disponible de Tripwire :

    sudo apt update
  2. Maintenant, installez Tripwire avec cette commande. Le drapeau -y confirme automatiquement l'installation :

    sudo apt install -y tripwire
  3. Pendant l'installation, vous verrez des invites de configuration. Sélectionnez « Oui » pour les deux questions :

    • La première question demande si vous souhaitez configurer Tripwire immédiatement.
    • La deuxième concerne la génération de clés de chiffrement (utilisées pour protéger la base de données de Tripwire).
  4. Une fois l'installation terminée, vérifions que tout a fonctionné en vérifiant la version installée :

    tripwire --version

Vous devriez voir une sortie indiquant le numéro de version, comme dans cet exemple :

Tripwire(R) 2.4.3.7

Cette confirmation de version signifie que Tripwire est correctement installé. Dans les étapes suivantes, nous allons le configurer pour commencer à surveiller vos fichiers système. Le processus d'installation a automatiquement configuré les composants nécessaires, y compris les fichiers de politique et les clés de chiffrement que nous utiliserons plus tard.

Initialiser la base de données

Dans cette étape, vous allez initialiser la base de données de Tripwire, qui servira de référence pour la surveillance de l'intégrité des fichiers. La base de données stocke les sommes de contrôle cryptographiques et les attributs des fichiers que vous souhaitez surveiller. Imaginez cela comme prendre une capture d'écran de l'état actuel de vos fichiers, que Tripwire comparera ultérieurement pour détecter toute modification.

Avant de commencer, il est important de comprendre que l'initialisation de la base de données nécessite le fichier de politique que nous avons créé précédemment. Ce fichier de politique indique à Tripwire quels fichiers et répertoires surveiller et quels attributs vérifier.

Suivez ces étapes pour initialiser la base de données :

  1. Tout d'abord, nous devons générer le fichier de politique réel à partir de la version textuelle que nous avons modifiée. Exécutez cette commande :

    sudo twadmin --create-polfile /etc/tripwire/twpol.txt

    Vous serez invité à entrer la phrase secrète locale que vous avez définie lors de l'installation. Cette étape convertit la politique lisible par l'homme en un format utilisable par Tripwire.

  2. Maintenant, nous allons créer la capture initiale de la base de données avec cette commande :

    sudo tripwire --init

    Cela peut prendre un moment car Tripwire scanne tous les fichiers spécifiés dans la politique. Il calcule les sommes de contrôle et enregistre les attributs des fichiers pour tout ce que nous souhaitons surveiller.

  3. Pendant l'initialisation, vous pourriez voir des avertissements tels que :

    ######## Warning: File system error.
    #### Filename: /proc/XXXX/XXXX
    #### No such file or directory
    #### Continuing...

    Ces avertissements concernant les fichiers /proc sont normaux et peuvent être ignorés. Le répertoire /proc contient des informations système dynamiques qui changent fréquemment, donc Tripwire ignore ces fichiers par défaut.

  4. Vérifions que la base de données a été créée avec succès en vérifiant son emplacement :

    sudo ls -l /var/lib/tripwire/$(hostname).twd

    Vous devriez voir le fichier de la base de données répertorié avec sa taille et son horodatage. Cela confirme que Tripwire a créé avec succès sa référence pour les comparaisons.

La base de données est maintenant prête pour la surveillance des fichiers dans les étapes suivantes. N'oubliez pas que cette base de données initiale représente l'état « connu comme bon » de vos fichiers, c'est pourquoi il est crucial de la créer lorsque votre système est dans un état propre et sécurisé.

Ajouter des fichiers à surveiller

Dans cette étape, vous personnaliserez les fichiers que Tripwire surveille en modifiant le fichier de politique. Tripwire fonctionne en comparant les fichiers actuels avec une capture d'écran connue comme bonne de la base de données, donc nous devons lui indiquer explicitement quels fichiers suivre. Par défaut, Tripwire surveille de nombreux fichiers système critiques, mais nous allons nous concentrer sur l'ajout de fichiers dans votre répertoire de projet pour ce laboratoire, car ce sont les fichiers avec lesquels vous travaillerez le plus souvent.

Suivez ces étapes pour ajouter la surveillance de fichiers spécifiques :

  1. Tout d'abord, faites une sauvegarde du fichier de politique original. C'est une mesure de sécurité au cas où vous feriez des erreurs lors de la modification :

    sudo cp /etc/tripwire/twpol.txt /etc/tripwire/twpol.txt.bak
  2. Ouvrez le fichier de politique pour le modifier en utilisant nano, un éditeur de texte simple. Nous utilisons sudo car il s'agit d'un fichier de configuration système :

    sudo nano /etc/tripwire/twpol.txt
  3. Faites défiler la page jusqu'à trouver la section commençant par ( rulename = "User Binaries", (autour de la ligne 200). C'est là que nous ajouterons notre nouvelle règle. Le bloc suivant définit une nouvelle règle nommée "Lab Project Files" qui surveillera tout le contenu du répertoire /home/labex/project :

    (
      rulename = "Lab Project Files",
      severity = $(SIG_HI)
      {
        /home/labex/project - > $(SEC_BIN)
      }
    )
  4. Enregistrez le fichier en appuyant sur Ctrl+O (écrire Out), puis Entrée pour confirmer, et quittez nano avec Ctrl+X.

  5. Maintenant, nous devons mettre à jour la politique de Tripwire avec vos modifications. La commande twadmin compile le fichier de politique texte en un format binaire utilisable par Tripwire :

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

    Vous serez invité à entrer votre phrase secrète locale - c'est le mot de passe que vous avez défini lors de l'installation de Tripwire.

  6. Enfin, nous devons mettre à jour la base de données pour inclure vos nouveaux fichiers. Cela crée une nouvelle capture d'écran de référence que les futures vérifications d'intégrité compareront :

    sudo tripwire --update --database /var/lib/tripwire/$(hostname).twd

Maintenant, Tripwire surveillera tous les fichiers dans votre répertoire ~/project pour toute modification. Cela inclut les modifications de fichiers, les suppressions ou les changements de permissions - tout ce qui diffère de la capture d'écran actuelle de la base de données sera signalé.

Vérifier l'intégrité des fichiers

Dans cette étape, vous effectuerez une vérification d'intégrité pour vérifier si des fichiers surveillés ont été modifiés depuis la création de la base de données. C'est la fonctionnalité principale de Tripwire qui permet de détecter les modifications non autorisées. Imaginez cela comme un garde de sécurité qui vérifie constamment si des fichiers importants ont été modifiés sans autorisation.

Avant de commencer, comprenons ce qui se passe lors d'une vérification d'intégrité :

  1. Tripwire scanne tous les fichiers configurés pour être surveillés.
  2. Il compare l'état actuel de chaque fichier avec la capture d'écran originale stockée dans sa base de données.
  3. Toutes les différences (ajouts, suppressions ou modifications) sont signalées dans le rapport.

Suivez ces étapes pour vérifier l'intégrité des fichiers :

  1. Tout d'abord, créez un fichier de test dans votre répertoire de projet que Tripwire surveillera. Cela nous aidera à voir comment Tripwire détecte les nouveaux fichiers :

    touch ~/project/test_file.txt
  2. Maintenant, exécutez la commande de vérification d'intégrité. Le mot clé sudo est nécessaire car Tripwire a besoin de privilèges root pour accéder à tous les fichiers système :

    sudo tripwire --check
  3. Le scan peut prendre quelques instants car Tripwire passe par plusieurs phases. Vous verrez une sortie similaire à :

    #### Phase 1: Reading configuration file
    #### Phase 2: Generating file list
    #### Phase 3: Creating file information database
    #### Phase 4: Searching for inconsistencies
    #### Phase 5: Generating report
  4. Tripwire générera un rapport montrant les modifications détectées. Comme nous venons de créer un nouveau fichier, vous devriez voir une entrée comme celle-ci dans la sortie, indiquant que Tripwire a remarqué le nouveau fichier :

    Added:
    "/home/labex/project/test_file.txt"
  5. Pour afficher le rapport complet, nous devons vérifier le dernier fichier de rapport stocké dans le répertoire des rapports de Tripwire. Cette commande liste les rapports triés par date, en affichant le plus récent en premier :

    sudo ls -lt /var/lib/tripwire/report/ | head -n 2

    Notez le nom du fichier du rapport le plus récent dans la sortie (il ressemblera à labex-hostname-YYYYMMDD-HHMMSS.twr).

La vérification d'intégrité est maintenant terminée avec succès. Tripwire a scanné tous les fichiers surveillés et enregistré les modifications dans son rapport. Dans l'étape suivante, nous examinerons le rapport en détail pour comprendre comment interpréter ses résultats.

Consulter le rapport d'intégrité

Dans cette étape finale, vous examinerez le rapport Tripwire généré à partir de la vérification d'intégrité. Ce rapport est essentiellement une comparaison détaillée entre vos fichiers système actuels et la base de données de référence que vous avez créée précédemment. Comprendre ce rapport est crucial car il montre exactement quels fichiers ont été ajoutés, supprimés ou modifiés depuis votre dernière vérification.

Parcourons le processus étape par étape :

  1. Tout d'abord, nous devons localiser le fichier de rapport le plus récent. Tripwire stocke ses rapports dans un répertoire spécifique avec des horodatages dans le nom de fichier :

    sudo ls -lt /var/lib/tripwire/report/ | head -n 2

    La commande ls -lt liste les fichiers par date de modification (les plus récents en premier), et head -n 2 affiche seulement les deux premières lignes (l'en-tête et le fichier le plus récent). Recherchez un nom de fichier comme your-hostname-YYYYMMDD-HHMMSS.twr.

  2. Maintenant, nous utiliserons le visualiseur de rapports intégré à Tripwire pour examiner le contenu. L'option --report-level 4 nous donne la vue la plus détaillée :

    sudo twprint --print-report --report-level 4 --twrfile /var/lib/tripwire/report/[REPORT_FILENAME]

    N'oubliez pas de remplacer [REPORT_FILENAME] par le nom de fichier réel que vous avez trouvé à l'étape 1.

  3. Le rapport complet contient plusieurs sections importantes qui vous aident à comprendre ce qui a changé :

    • Fichiers ajoutés : Ce sont de nouveaux fichiers qui n'étaient pas dans votre base de données de référence originale.
    • Fichiers supprimés : Des fichiers qui étaient dans votre base de données de référence mais qui manquent maintenant.
    • Fichiers modifiés : Des fichiers existants dont le contenu ou les attributs ont changé.
    • Résumé des erreurs : Tout problème rencontré lors de la vérification.
  4. Si vous ne voulez voir qu'un résumé rapide des modifications sans tous les détails, vous pouvez filtrer le rapport :

    sudo twprint --print-report --report-level 4 --twrfile /var/lib/tripwire/report/[REPORT_FILENAME] | grep -A 10 "Report Summary"

    La commande grep -A 10 affiche la ligne "Report Summary" ainsi que les 10 lignes suivantes de contexte.

  5. Un exemple de sortie de résumé ressemble à ceci :

    Report Summary:
    --------------------------------------------------------------------------
    Added objects:   1
    Removed objects: 0
    Modified objects: 0

    Cela vous indique d'un coup d'œil combien de fichiers ont été ajoutés, supprimés ou modifiés.

  6. Une fois que vous avez terminé de consulter le rapport, vous pouvez quitter en appuyant sur q si votre terminal utilise un visualiseur de texte, ou simplement attendre que la sortie se termine.

Résumé

Dans ce laboratoire (lab), vous avez appris à implémenter la surveillance de l'intégrité des fichiers à l'aide de Tripwire sur un système Debian. Le processus a inclus l'installation de Tripwire, la configuration de l'environnement et l'initialisation de la base de données de référence pour établir des références d'intégrité des fichiers.

Vous avez exploré des opérations clés telles que la génération du fichier de politique (policy file), le scan du système et la compréhension du mécanisme de détection des changements de Tripwire. Le laboratoire a également abordé les avertissements attendus lors de l'initialisation tout en restant concentré sur la construction d'un cadre de surveillance efficace.