|
Il y a actuellement 9 visiteurs connectés sur le site !
Utiliser tripwire
Introduction
Tripwire vise à controler les répertoires et fichiers sensibles de votre système en vous avertissant lors d'une modification de ces fichiers
Le logiciel établit une base de données de votre système original et ensuite compare toutes modifications ultérieures
avec cette base .
Il est donc primordial de lancer Tripwire sur un système sain , ce logiciel ne faisant pas office de rootkit ou d'anti-virus.
Installation
Pour l'installer , rien de plus simple , en root faites:
urpmi tripwire
Configuration
Il va nous falloir éditer les deux fichiers de configuration de tripwire :
twcfg.txt et twpol.txt
Pour le premier , rien à changer , à moins que votre programme de mail soit placé ailleurs que dans
/usr/sbin/sendmail, dans ce cas il faudra adapter.
Le fichier twpol.txt contient les régles pour les diffèrents fichiers et répertoires sensibles de votre système .
Lancer ensuite en root le script d'installation :twinstall.sh
./twinstall.sh
Il va vous etre demandé une passphrase pour procéder à l'initialisation.
Ensuite il vous sera demandé un mot de passe pour le site et en local : entrez un password mémorable et pas trop simple .
Ce fichier est configurable en fonction de votre système , chaque modification (une rectification dans un emplacement de fichiers par exemple)
,permettra d'éviter une fausse alerte dans vos rapports générés par tripwire.
Exemple :
Imaginons que dans la rubrique File System and Disk Administraton Programs
vous n'ayez pas installé Busybox
Commentez comme ci-dessous la ligne
# /sbin/busybox -> $(SEC_CRIT) ;
De sorte que vous n'aurez plus de message d'erreur lors de la v�rification de Tripwire
Veillez à ne pas supprimer des fichiers que vous pourriez avoir à installer ultèrieurement!
Lancer ensuite :
/usr/sbin/twadmin --create-polfile -S site.key /etc/tripwire/twpol.txt
afin de mettre à jour votre fichier de politique .
Supprimer ensuite votre base de données initiales avec la commande:
rm /var/lib/tripwire/ip-40.net-81-220-166.nice.rev.numericable.fr.twd
et recreez votre base de données :
/usr/sbin/tripwire --init
N'oubliez pas ensuite de signer votre fichier twcfg.txt afin que le changement de configuration soit pris en compte avec
la commande
/usr/sbin/twadmin --create-cfgfile -S /etc/tripwire/site.key /etc/tripwire/twcfg.txt
Initialisation de la base de données
Il est temps de passer à l'initialisation de la base de données :
/usr/sbin/tripwire --init
Ce qui peut prendre un certain temps .
Ne tenez pas compte d'éventuels messages d'erreur , il s'agit de fichiers ou répertoires absents à l'heure actuelle
mais qu'un pirate pourrait introduire ultérieurement, il est bon de ne pas les supprimer dans le fichier de configuration
twpol.txt
The database was successfully generated. indique que l'opération s'est déroulée sans anicroches.
La commande :
/usr/sbin/tripwire --check
parcourra le système à la recherche de fichiers ajoutes, supprimés ou modifiés
/usr/sbin/tripwire --check | tee > /home/deny/tripcheck.log
ajoutera les erreurs dans le fichier tripcheck.log de votre répertoire utilisateur.
Lancer tripwire périodiquement
Tripwire est automatiquement configuré pour se lancer quotidiennement , comme vous pouvez le remarquer grace à l'entrée tripwire-check dans votre /etc/cron.daily
Vous pourrez même en recevoir le résultat par mail selon votre configuration de twcfg.txt
Faites un test pour vérifier que tripwire envoie bien un courrier :
/usr/sbin/tripwire --test --email deny@monaco.net
Si une régle de votre fichier de configuration twpol.txt est outrepassée, vous pouvez recevoir un email en configurant
ce dernier de la sorte (ici nous prenons comme exemple une modification du système de fichiers):
(
rulename = "File System and Disk Administraton Programs",
severity = $(SIG_HI),
emailto = deny@monaco.net
)
N'oubliez pas la virgule à la fin de severity = $(SIG_HI) sinon vous aurez un message d'erreur
Une regénaration du fichier twpol.txt s'avère nécessaire :
/usr/sbin/twadmin --create-polfile -S site.key /etc/tripwire/twpol.txt
rm /var/lib/tripwire/ip-40.net-81-220-166.nice.rev.numericable.fr.twd
/usr/sbin/tripwire --init
/usr/sbin/twadmin --create-cfgfile -S /etc/tripwire/site.key /etc/tripwire/twcfg.txt
Rapport
Pour générer un rapport donnant les résultats de votre vérification de base de données faites:
/usr/sbin/twprint -m r --twrfile /var/lib/tripwire/report/ip-40.net-81-220-166.nice.rev.numericable.fr-20060711-094901.twr | less
ou ip-40.net-81-220-166.nice.rev.numericable.fr-20060711-094901.twr est le rapport généré par /usr/sbin/tripwire --check
Mise à jour de la base de données
Il se peut qu'il y ait des modifications dans la base de données , dues à un utilisateur changeant les permission
de ses fichiers ou bien installant de nouvelles applications.
Dans ce cas ,tripwire le rapporte , mais il nous faudra mettre à jour notre base de données afin que tripwire cesse
ultérieurement d'en tenir compte puisqu'il ne s'agit manifestement pas d'une utilisation frauduleuse .
Ceci se fait de la sorte :
/usr/sbin/tripwire --update --twrfile /var/lib/tripwire/report/report/ip-40.net-81-220-166.nice.rev.numericable.fr-20060711-094901.twr
Autre méthode
Il existe une autre méthode pour garder un oeil sur tout changement important dans vos fichiers:
On va utiliser les outils md5sum, grep, find et sed
Certains fichiers sont plus importants que d'autres et par exemple, tout fichier se situant dans /usr/bin ou /bin se doit d'être particulièrement surveillé, car hormis une mise-à-jour, une modification de ces fichiers peuvent être le signe d'une compromission du système
POur produire un fichier contenant les sommes de contrôle d'un ou plusieurs répertoires sensibles, on va utiliser :
find /etc /usr/bin -type f -exec md5sum {} \; >/tmp/md5
La commande doit s'utiliser sous root, qui a tous les droits sur ces fichiers sensibles
VOici un extrait du résultat obtenu dans /tmp/md5
- Formatage de la partition
73582ee0dd0a9b4204f9cdff46394932 /etc/profile.d/10lang.csh
277f5a3d07f226c59abe7e6728d6136c /etc/profile.d/10inputrc.sh
19477b555b7d562d93b010fd3d1bb456 /etc/profile.d/10mandriva-release.csh
9a6e0743fa304586f6a631306c84e4b7 /etc/profile.d/10mandriva-release.sh
52f4a2a0b659756d285faf9d7151f03e /etc/profile.d/realplay-10-opt.sh
e82b3ddceadb0514d1347ceb2cc6d80a /etc/profile.d/alias.sh
5f887ff72e43d66c584836d6dfeb12c8 /etc/profile.d/90ssh-askpass.csh
f0f039b25a56bdc62c4f3f634f599f2e /etc/profile.d/10lang.sh
8c940e1c3c7c4b4648d1a63621ce8a1c /etc/profile.d/realplay-10-opt.csh
b25bce5e58205efde60a42bc5b299a5a /etc/profile.d/msec.csh
|
À présent, il convient de vérifier la somme de contrôle après avoir modifié quelques fichiers, comme par exemple
/etc/fstab (ne rebootez pas entre-temps, sinon, attention aux dégats)
La commande est la suivante :
md5sum -c /tmp/md5 2> /dev/null | grep -v "OK$"
Ce qui donne :
/etc/fstab: ÉCHEC
Avec la date, ca serait peut-être plus serieux:
find /etc /usr/bin /bin -type f -exec md5sum {} \; >/tmp/md5_etc_`date +%Y-%m-%d_%H-%M-%S`
Il serait peut-être agréable d'avoir le résultat dans votre boite email
md5sum -c /tmp/md5_etc_`date +%Y-%m-%d_%H-%M-%S` 2> /dev/null | grep -v "OK$" | mail deny@monaco.net
Et si on automatisait ceci, admettons toutes les heures?
crontab -e
00 * * * * /usr/bin/md5sum -c /tmp/md5_etc_`date +%Y-%m-%d_%H-%M-%S` 2> /dev/null | grep -v "OK$" | mail deny@monaco.net
Sources de l'article
|