Tripwire est un système de détection d'intrusion Linux gratuit et open-source. Il est utilisé pour détecter et signaler toute modification non autorisée des fichiers et des répertoires sous Linux. Il vous enverra également une alerte par e-mail sur les changements de fichiers/répertoires. Tripwire fonctionne en comparant l'état actuel du système de fichiers à un état de base connu et signale s'il détecte des changements.
Dans cet article, nous vous montrerons comment installer et configurer Tripwire sur Debian 10.
Prérequis
- Un serveur exécutant Debian 10.
- Un mot de passe root est configuré sur le serveur.
Mise en route
Tout d'abord, mettez à jour les packages système vers la version mise à jour en exécutant la commande suivante :
apt-get update -y
Une fois tous les packages mis à jour, vous pouvez passer à l'étape suivante.
Installer Tripwire
Par défaut, le paquet Tripwire est disponible dans le dépôt par défaut de Debian 10. Vous pouvez l'installer à l'aide de la commande suivante :
apt-get install tripwire -y
Lors de l'installation, il vous sera demandé de sélectionner la configuration de messagerie comme indiqué ci-dessous :
Sélectionnez l'option souhaitée et appuyez sur ENTER . Il vous sera demandé de configurer un nom de messagerie système comme indiqué ci-dessous :
Indiquez votre nom de messagerie système et appuyez sur ENTER . Il vous sera demandé de créer la phrase secrète de votre clé de site comme indiqué ci-dessous :
Sélectionnez Oui et appuyez sur ENTER . Il vous sera demandé de reconstruire le fichier de configuration de Tripwire comme indiqué ci-dessous :
Sélectionnez Oui et appuyez sur ENTER . Il vous sera demandé de reconstruire votre fichier de politique Tripwire comme indiqué ci-dessous :
Sélectionnez Oui et appuyez sur ENTER . Il vous sera demandé de fournir votre mot de passe de clé de site comme indiqué ci-dessous :
Indiquez votre mot de passe et appuyez sur ENTER . Il vous sera demandé de définir votre phrase de passe de clé locale comme indiqué ci-dessous :
Indiquez votre mot de passe et appuyez sur ENTER . Une fois Tripwire installé, vous devriez voir l'écran suivant :
Cliquez sur OK bouton pour terminer l'installation.
Configurer Tripwire
Ensuite, vous devrez générer des clés Tripwire et initialiser la base de données. Tout d'abord, changez le répertoire en Tripwire et listez toutes les clés et tous les fichiers avec la commande suivante :
cd /etc/tripwire/
ls
Vous devriez voir le résultat suivant :
debian10-local.key site.key tw.cfg twcfg.txt tw.pol twpol.txt
Ensuite, modifiez le fichier de configuration Tripwire et définissez REPORTLEVEL sur 4
nano /etc/tripwire/twcfg.txt
Modifiez la ligne suivante :
REPORTLEVEL =4
Enregistrez et fermez le fichier lorsque vous avez terminé.
Ensuite, générez un nouveau fichier de configuration avec la commande suivante :
twadmin -m F -c tw.cfg -S site.key twcfg.txt
Il vous sera demandé de fournir la phrase secrète de votre site comme indiqué ci-dessous :
Veuillez saisir la phrase de passe de votre site :Fichier de configuration écrit :/etc/tripwire/tw.cfg
Ensuite, créez un fichier twpolmake.pl pour optimiser la politique de Tripwire.
nano twpolmake.pl
Ajoutez les lignes suivantes :
#!/usr/bin/perl$POLFILE=$ARGV[0];open(POL,"$POLFILE") or die "open error:$POLFILE";my($myhost,$thost);my( $sharp,$tpath,$cond);my($INRULE) =0;while () { chomp; if (($thost) =/^HOSTNAME\s*=\s*(.*)\s*;/) { $myhost =`hostname` ; chomp($monhôte); if ($thost ne $myhost) { $_="HOSTNAME=\"$myhost\";"; } } elsif ( /^{/ ) { $INRULE=1; } elsif ( /^}/ ) { $INRULE=0; } elsif ($INRULE ==1 and ($sharp,$tpath,$cond) =/^(\s*\#?\s*)(\/\S+)\b(\s+->\s+.+ )$/) { $ret =($sharp =~ s/\#//g) ; if ($tpath eq '/sbin/e2fsadm' ) { $cond =~ s/;\s+(tune2fs.*)$/; \#$1/ ; } if (! -s $tpath) { $_ ="$sharp#$tpath$cond" if ($ret ==0) ; } else { $_ ="$sharp$tpath$cond" ; } } print "$_\n";}close(POL);
Enregistrez et fermez le fichier puis créez un fichier de configuration avec la commande suivante :
perl twpolmake.pl twpol.txt> twpol.txt.new
twadmin -m P -c tw.cfg -p tw.pol -S site.key twpol.txt.new
Vous devriez voir le résultat suivant :
Veuillez saisir la phrase secrète de votre site :Fichier de politique écrit :/etc/tripwire/tw.pol
Créez ensuite une base de données Tripwire avec la commande suivante :
tripwire -m i -s -c tw.cfg
Vous devriez voir le résultat suivant :
Veuillez saisir votre phrase secrète locale :### Avertissement :Erreur du système de fichiers.### Nom du fichier :/var/lib/tripwire/debian10.twd### Aucun fichier ou répertoire de ce type### Continuation...Vous pouvez également afficher la base de données générée avec la commande suivante :
twprint -m d -d /var/lib/tripwire/debian10.twdVous devriez voir le résultat suivant :
Open Source Tripwire(R) 2.4.3.7 Base de donnéesBase de données générée par :rootBase de données générée le :dim 09 mai 2021 08:39:18 UTCBase de données mise à jour le :jamais==============================================================================Résumé de la base de données :==============================================================================Nom d'hôte :debian10Host IP address :45.58.38.142Host ID :NonePolicy file used:/etc/tripwire/tw.polConfiguration file used:/etc/tripwire/tw.cfgDatabase file used:/var/lib/tripwire/debian10.twdCommand line used:tripwire -m i -s -c tw.cfg ==============================================================================Résumé de l'objet :==============================================================================------------------------------ -------------------------------------------------# Section :Système de fichiers Unix ------------------------------------- -----------------------------------------Si vous souhaitez mettre à jour la base de données Tripwire, exécutez la commande suivante :
tripwire --update --accept-allVous devriez obtenir le résultat suivant :
### Erreur :Impossible d'ouvrir le fichier.### Nom du fichier :/var/lib/tripwire/report/debian10-20210509-084141.twr### Aucun fichier ou répertoire de ce type### Sortie...Maintenant, testez le Tripwire en utilisant la commande suivante :
tripwire -m c -s -c /etc/tripwire/tw.cfgVous devriez voir le résultat suivant :
Open Source Tripwire(R) 2.4.3.7 Integrity Check ReportRapport généré par :rootRapport créé le :dim 09 mai 2021 08:42:15 UTCDernière mise à jour de la base de données :jamais==============================================================================Résumé du rapport :==============================================================================Hôte nom :debian10Host Adresse IP :45.58.38.142Host ID :NonePolicy file used :/etc/tripwire/tw.polConfiguration file used :/etc/tripwire/tw.cfgDatabase file used :/var/lib/tripwire/debian10.twdCommand line used :tripwire -m c -s -c /etc/tripwire/tw.cfg ==============================================================================Résumé de la règle :==============================================================================----------------------- -------------------------------------------------- ------ Section :Système de fichiers Unix--------------- -------------------------------------------------- -------------- Nom de la règle Niveau de gravité Ajouté Supprimé Modifié --------- -------------- ----- - ------ -------- Autres fichiers binaires 66 0 0 0 Fichiers binaires Tripwire 100 0 0 0 Autres bibliothèques 66 0 0 0 Exécutables du système de fichiers racine 100 0 0 0 * Fichiers de données Tripwire 100 1 0 0 Système modifications de démarrage 100 0 0 0 Bibliothèques du système de fichiers racine 100 0 0 0 (/lib) Fichiers de démarrage système critiques 100 0 0 0 * Autres fichiers de configuration 66 0 0 1 (/etc) Scripts de démarrage 100 0 0 0 Contrôle de sécurité 66 0 0 0 Fichiers de configuration racine 100 0 0 0 Informations sur les périphériques et le noyau 100 0 0 0 (/dev) Répertoires invariants 66 0 0 0 Total des objets analysés :27 975 Total des violations détectées :2==============================================================================Résumé de l'objet :==============================================================================------------------------------------------------------------ ---------------------------------# Section :Système de fichiers Unix----------- -------------------------------------------------- -------------------------------------------------- -----------------------------------------------Nom de la règle :Fichiers de données Tripwire (/var/lib/tripwire/debian10.twd)Niveau de gravité :100--------------------------------------------- ------------------------------------------ ------Par défaut, les fichiers de rapport Tripwire se trouvent dans /var/lib/tripwire/report/ :
ls /var/lib/tripwire/report/Sortie :
debian10-20210509-084215.twrVous pouvez vérifier ce rapport à l'aide de la commande suivante :
twprint -m r -t 4 -r /var/lib/tripwire/report/debian10-20210509-084215.twrVérifier les identifiants Tripwire
À ce stade, Tripwire est installé et configuré. Il est maintenant temps de vérifier si Tripwire fonctionne ou non.
Commencez par créer des fichiers dans votre système avec la commande suivante :
appuyez sur fil1 fichier2 fichier3 fichier4 fichier5Maintenant, exécutez le Tripwire pour vérifier si le Tripwire détecte ces fichiers ou non :
tripwire --check --interactiveVous devriez voir les fichiers nouvellement créés dans la sortie suivante :
Open Source Tripwire(R) 2.4.3.7 Integrity Check ReportRapport généré par :rootRapport créé le :dim 09 mai 2021 08:46:36 UTCDernière mise à jour de la base de données :Jamais==============================================================================Résumé du rapport :==============================================================================Hôte nom :debian10Host Adresse IP :45.58.38.142Host ID :NonePolicy file used :/etc/tripwire/tw.polConfiguration file used :/etc/tripwire/tw.cfgDatabase file used :/var/lib/tripwire/debian10.twdCommand line used :tripwire --check --interactive==============================================================================------------ -------------------------------------------------- ----------------Nom de la règle :Autres fichiers de configuration (/etc)Niveau de gravité :66-------------------- -------------------------------------------------- ---------Éliminer le "x" de la case adjacente pour empêcher la mise à jour de la base de données avec les nouvelles valeurs de cet objet.Modifié :[x] "/etc/tripwire"------------------- -------------------------------------------------- ----------Nom de la règle :Fichiers de configuration racine (/root)Niveau de gravité :100-------------------------- -------------------------------------------------- ---Supprimez le "x" de la case adjacente pour empêcher la mise à jour de la base de données avec les nouvelles valeurs de cet objet.Ajouté :[x] "/root/file4"[x] "/root/file3"[x] "/root /fil1"[x] "/root/file2"[x] "/root/file5"Modifié :[x] "/root"==============================================================================Vous pouvez également vérifier le rapport généré ultérieurement à l'aide de la commande suivante :
twprint --print-report --twrfile /var/lib/tripwire/report/debian10-20210509-084636.twrAutomatiser le rapport Tripwire
Vous pouvez également configurer une tâche cron pour exécuter un Tripwire à un moment précis. Vous pouvez le faire avec la commande suivante :
crontab -eAjoutez les lignes suivantes :
00 06 * * * /usr/sbin/tripwire --checkEnregistrez et fermez le fichier lorsque vous avez terminé.
Le fichier ci-dessus exécutera un Tripwire tous les matins à 06h00. Vous pouvez vérifier le rapport généré sur /var/lib/tripwire/report/ .
Conclusion
Toutes nos félicitations! vous avez installé et configuré avec succès Tripwire IDS sur Debian 10. J'espère que cela vous aidera à vérifier quels fichiers ou répertoires sont modifiés sur votre système.