Présentation

Tripwire est un logiciel de vérification d'intégrité des fichiers. En gros il regarde si aucun fichier n'a été modifier ou déplacer. On peut le configurer pour qu'il ne regarde qu'a certains endroits (ce qui est déjà le cas). Tripwire veut littéralement dire "fil déclencheur", c'est un terme militaire qui est généralement lié au mines et aux pièges reliés à des explosifs.

Note importante : toutes les commandes qui suivent sont effectués avec les droits de root.

Installation

Tripwire est paquagé pour debian (il l'est surement pour votre distribution), pour l'installer il suffit de lancer la commande

apt-get install tripwire

Le processus d'installation vous demandera une passphrase pour la génération de la clé de sécurité. Pour simplifier c'est un mot de passe pour éviter que n'importe qui puisse modifier les fichiers de configuration et la bas de données.

initialisation.

Tripwire fonctionne avec une base de données, pour l'initialiser (ou la réinitialiser ) il faut lancer la commande :

tripwire -m i ou tripwire --init

Qui vous demandera biensur la passphrase.

Configuration

La configuration du logiciel se fait avec 2 fichiers twcfg.txt et twpol.txt.

Ou plus exactement avec leur correspondant cryptés : tw.cfg et tw.pol.

twcfg.txt

le fichier twcfg.txt corresponds à la configuration générale du logiciel dans son environnement, l'emplacement des fichiers de configuration de tripwire, de la base de données, les réglages et le niveau de détails et la configuration pour l'envoi des mails.

Contenu du fichier twcfg.txt :

ROOT =/usr/sbin

POLFILE =/etc/tripwire/tw.pol



DBFILE =/var/lib/tripwire/$(HOSTNAME).twd



REPORTFILE =/var/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr

SITEKEYFILE =/etc/tripwire/site.key

LOCALKEYFILE =/etc/tripwire/$(HOSTNAME)-local.key

EDITOR =/usr/bin/vi

LATEPROMPTING =false

LOOSEDIRECTORYCHECKING =false

MAILNOVIOLATIONS =true

EMAILREPORTLEVEL =1

REPORTLEVEL =1

SYSLOGREPORTING =true

MAILMETHOD =SMTP

SMTPHOST =smtp.provider.country

SMTPPORT =25

Note Importante : l'utilisation de la variable HOSTNAME dans le fichier de configuration peut engendrer des difficultés si le nom de la machine est modifié ultérieurement. le passage de cette variable vers un chemin en dur peut être nécessaire.

pour mettre a jour la configuration il suffit d'éditer le fichier vi /etc/tripwire/twcfg.txt

et de lancer la commande

twadmin -m F -S /etc/tripwire/site.key /etc/tripwire/twcfg.txt

qui demandera bien évidement la passphrase...

twpol.txt

le ficher twpol.txt indique quel "objets" il faut surveiller, appliquant finement des règles différentes a chaque objet (par exemple qui prévenir en cas de modification de l'objet). Un objet étant ici un nom, un niveau de surveillance et une liste d'emplacement .

Exemple d'objet :

@@(

 rulename = "Root file-system executables",
 emailto = personne.admin@mail.fr,
 severity = $(SIG_HI)

) {

       /bin                    -> $(SEC_BIN) ;
       /sbin                   -> $(SEC_BIN) ;

} @@

note importante : le champ "emailto" doit être rajouté (attention à la syntaxe) l'adresse mail peut être mise dans une variable déclaré en début de fichier.

Note plus importante : un champ "globalemailto" peut être positionner dans les variables global pour éviter d'avoir à éditer les caractéristiques de chaque objets... un peut tard pour moi...

pour mettre a jour la configuration il suffit d'éditer le fichier vi /etc/tripwire/twpol.txt

et de lancer la commande

twadmin -m P -S /etc/tripwire/site.key /etc/tripwire/twpol.txt

qui demandera bien évidement la passphrase...

Problèmes rencontrés :

Mon serveur mail (ou plus exactement le serveur mail de mon fournisseur d'accès internet ne permet pas d'envoyer des mails non valides ou avec des fqdn non existant. Et tripwire ne permet pas l'envoi de mail avec autre chose que la variable HOSTNAME. J'ai donc du la modifier pour qu'elle soit valide et corresponde a une adresse existante... ce faisant j'ai casser la configuration de tripwire (en la remettant à jour). J'ai donc opter pour mettre en dur le nom de mes fichiers de configurations.

2eme chose (ce n'est pas vraiment un problème mais bon...) il faut modifier le fichier tw.pol pour l'adapter a sa configuration... personnellement j'ai modifier la surveillance dans /root et dans /proc ( /root il surveillait des fichiers inexistant et mis en dure, /proc il y avait beaucoup trop de modification...)

quelques commandes utiles

afficher la configuration actuelle de tripwire twadmin --print-cfgfile

afficher les règles de surveillance actuelles

twadmin --print-polfile

Vérification manuelle d'un fichier

tripwire --check /chemin/vers/fichier

Vérification de tout le système (avec alerte mail si les champ emailto sont rajouter)

tripwire --check --email-report

liens utiles sur le sujet :

Pour plus d'information consulter la page man
un how-to wiki plutôt bien fait

le même tutoriel (mais en différent) à voir pour plus de détails (la version PDF est ici)

EDIT :

Après l'installation de logiciel et/ou la mise à jour du sysème, tripwire va vous remettre un rapport long comme le bras. Pour revenir a une taille raisonnable il faut par conséquent validé les modifications avec la commande : tripwire -m u -a -r /var/lib/tripwire/report/Nommachine-aaaammjj-hhmmss.twr

Cette commande vous demandera la passphrase bien sur...