Vous êtes ici

Tripwire : Surveiller l'intégrité de son système

Tripwire vérifie l'intégrité de votre système en prenant une "image" de l'intégrité de votre système de fichier qu'il compare avec celui ci quand vous le demandez. Si un ajout, une suppression ou une modification de fichier est détecté, vous en êtes immédiatement averti.

1) Installation de tripwire :

apt-get install tripwire

Pendant cette installation, un mot de passe pour une clé local et un pour une clé site vont nous être demandés, renseignez un mot de passe pour les 2 tout de suite.
La clé site permet de chiffrer la configuration, et la clé local permet de chiffrer la bdd qui contient "l'image d'intégrité du système"

2) Maintenant que tripwire est installé, nous allons générer l'image d'intégrité référence du système :
 

tripwire --init -c /etc/tripwire/tw.cfg

3) Nous pouvons maintenant exécuter un check d'intégrité

/usr/sbin/tripwire --check

Nous allons à partir de ce moment pouvoir commencer à voir les faux positifs et pouvoir éditer notre fichier de règles en conséquence.

4) Modifier le fichier de régles :

vi /etc/tripwire/twpol.txt

Pour ajouter des exceptions, ajoutez un ' ! ' avant l'élément à ne pas vérifier, par exemple :

!/etc/resolv.conf ;

comme vous pouvez le constater, ce fichier est en clair, ce n'est pas celui que tripwire va lire, il va lire le fichier tw.pol qui lui est chiffré, et donc, non altérable.

Pour générer le fichier chiffré :

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


5) Nous pouvons relancer le check et vérifier que maintenant tout est ok :

/usr/sbin/tripwire --check


6) Nous pouvons également modifier le fichier de configuration de tripwire, il va notamment nous permettre d'activer les logs ou non, les notifications par mail, ou speicifier les emplacements des différents fichiers de configurations :

vi /etc/tripwire/twcfg.txt

générer le fichier chiffré :

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

6) Intégrons maintenant tripwire à un check nagions :
- Dans un premier temps, nous allons planifier un check tripwire toutes les heures avec cron, et nous allons lui faire envoyer son rapport dans un fichier :

crontab -e :
0 */1 * * * /usr/sbin/tripwire --check > /var/log/tripwire.log 2>&1

- Le check nagios à mettre en place : check_tripwire.sh :

#!/bin/bash
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
LOG_FILE=/var/log/tripwire.log
CHECK=$(grep 'violation' /var/log/tripwire.log | cut -d':' -f2)

if [ $CHECK -ne "0" ];then
    echo "Number of modified files: "$CHECK
    exit $STATE_CRITICAL
fi

echo "Nothing modified files"
exit $STATE_OK


- Pour nous faciliter la reinitialisation de la base tripwire, nous allons également nous faire un alias pratique :

vi .bashrc
source .bashrc
alias tripwire_reinit='rm /var/lib/tripwire/web1.twd && tripwire --init -c /etc/tripwire/tw.cfg && /usr/sbin/tripwire --check > /var/log/tripwire.log 2>&1'

Voila, maintenant, nous avons tout le nécessaire pour que l'intégrité de notre système soit garantie

TIPS :
Pour ne pas avoir à modifier vous même les règles de tripwire, celui ci peut le faire pour vous à l'aide des rapports qu'il génère :

1) Lire les rapports :

twprint --print-report -r /var/lib/tripwire/report/<report-name.twr>

2) Modifier les règles en fonction du rapport :

tripwire --update --twrfile /var/lib/tripwire/report/<report-name.twr>

De la, un éditeur tel que 'vi' s'ouvre avec la configuration générée, si celle ci vous convient, sauvez et quittez ( :wq )

www.le-gas.fr : Le guide de l'admin Systeme