Tripwire est un système de détection d'intrusion (IDS) gratuit et open source. C'est un outil de sécurité pour surveiller et alerter les changements de fichiers sur le système. Tripwire est un IDS puissant qui protège votre système contre les changements indésirables. Vous pouvez surveiller vos fichiers système, y compris les fichiers du site Web. Ainsi, en cas de changement de fichier indésirable dans l'un des fichiers surveillés, tripwire vérifiera votre système et vous alertera (si cette configuration est en place).
Dans ce tutoriel, nous allons vous montrer comment installer et configurer Tripwire Host Based IDS sur Ubuntu 16.04. Nous vous montrerons également comment configurer tripwire pour surveiller et détecter les fichiers modifiés sur le système.
Ce que nous allons faire
- Installer Tripwire
- Configurer la politique Tripwire pour le système Ubuntu
- Vérifier la configuration de Tripwire
- Ajouter un nouvel ensemble de règles à la politique de Tripwire
- Configurer la notification Tripwire et cron
Prérequis
- Serveur Ubuntu 16.04
- Privilèges root
Étape 1 - Installer Tripwire
La première étape consiste à installer le fil de déclenchement sur le système. L'outil est disponible dans le référentiel Ubuntu officiel. Il vous suffit de mettre à jour votre référentiel Ubuntu et d'installer Tripwire à l'aide des commandes suivantes.
sudo apt update
sudo apt install -y tripwire
Lors de l'installation, vous serez interrogé sur la configuration SMTP de Postfix. Choisissez 'Site Internet ' et cliquez sur 'OK ' pour poursuivre l'installation.
Pour le nom du système de messagerie, laissez la valeur par défaut (comme indiqué ci-dessous) et choisissez 'OK ' pour continuer.
Ensuite, vous serez interrogé sur la configuration de Tripwire.
Créer une nouvelle 'clé de site ' pour Tripwire - choisissez 'Oui ' et appuyez sur Entrée pour continuer.
Passons maintenant à la 'local-key ', choisissez 'Oui ' et appuyez à nouveau sur Entrée.
Pour l'option Rebuild Tripwire Configuration, choisissez 'Oui '.
Idem pour l'option Rebuild Tripwire Policy - choisissez 'Oui '.
Vous serez maintenant invité à entrer la 'site-key ' phrase de passe. Tapez un mot de passe et choisissez 'OK '.
Répétez la 'site-key ' phrase de passe.
Ensuite pour la 'local-key ' mot de passe, saisissez un mot de passe et choisissez 'OK '.
Répétez la 'local-key ' phrase de passe.
Et maintenant, l'installation de Tripwire sur Ubuntu 16.04 est terminée.
Étape 2 - Configurer la politique Tripwire pour le système Ubuntu
Dans cette étape, nous allons configurer Tripwire pour notre système Ubuntu. Toute la configuration liée à Tripwire se trouve dans le répertoire '/etc/tripwire'.
Après l'installation de Tripwire, nous devons initialiser le système de base de données. Exécutez la commande suivante pour cela.
sudo tripwire --init
On vous demandera votre phrase secrète de clé locale - saisissez votre phrase secrète de clé locale et appuyez sur Entrée.
Et vous obtiendrez probablement l'erreur 'Aucun répertoire de ce type ', comme indiqué ci-dessous.
Pour résoudre cette erreur, nous devons modifier le fichier de configuration Tripwire et régénérer la configuration.
Avant de modifier la configuration de Tripwire, nous devons vérifier quel répertoire n'existe pas, ce que vous pouvez faire à l'aide de la commande suivante.
sudo sh -c "tripwire --check | grep Filename > no-directory.txt"
Vous pouvez maintenant voir tous les répertoires et fichiers qui n'existent pas de la manière suivante.
cat no-directory.txt
Ensuite, allez dans le répertoire de configuration de Tripwire et modifiez le fichier de configuration twpol.txt.
cd /etc/tripwire/
vim twpol.txt
Sur la règle "Boot Scripts", commentez la ligne comme ci-dessous.
(
rulename = "Boot Scripts",
severity = $(SIG_HI)
)
{
/etc/init.d -> $(SEC_BIN) ;
#/etc/rc.boot -> $(SEC_BIN) ;
/etc/rcS.d -> $(SEC_BIN) ;
Sur la règle "Modifications du démarrage du système", commentez comme ci-dessous.
(
rulename = "System boot changes",
severity = $(SIG_HI)
)
{
#/var/lock -> $(SEC_CONFIG) ;
#/var/run -> $(SEC_CONFIG) ; # daemon PIDs
/var/log -> $(SEC_CONFIG) ;
Dans la règle "Fichiers de configuration racine", apportez la modification suivante.
(
rulename = "Root config files",
severity = 100
)
{
/root -> $(SEC_CRIT) ; # Catch all additions to /root
#/root/mail -> $(SEC_CONFIG) ;
#/root/Mail -> $(SEC_CONFIG) ;
#/root/.xsession-errors -> $(SEC_CONFIG) ;
#/root/.xauth -> $(SEC_CONFIG) ;
#/root/.tcshrc -> $(SEC_CONFIG) ;
#/root/.sawfish -> $(SEC_CONFIG) ;
#/root/.pinerc -> $(SEC_CONFIG) ;
#/root/.mc -> $(SEC_CONFIG) ;
#/root/.gnome_private -> $(SEC_CONFIG) ;
#/root/.gnome-desktop -> $(SEC_CONFIG) ;
#/root/.gnome -> $(SEC_CONFIG) ;
#/root/.esd_auth -> $(SEC_CONFIG) ;
#/root/.elm -> $(SEC_CONFIG) ;
#/root/.cshrc -> $(SEC_CONFIG) ;
/root/.bashrc -> $(SEC_CONFIG) ;
#/root/.bash_profile -> $(SEC_CONFIG) ;
#/root/.bash_logout -> $(SEC_CONFIG) ;
/root/.bash_history -> $(SEC_CONFIG) ;
#/root/.amandahosts -> $(SEC_CONFIG) ;
#/root/.addressbook.lu -> $(SEC_CONFIG) ;
#/root/.addressbook -> $(SEC_CONFIG) ;
#/root/.Xresources -> $(SEC_CONFIG) ;
#/root/.Xauthority -> $(SEC_CONFIG) -i ; # Changes Inode number on login
#/root/.ICEauthority -> $(SEC_CONFIG) ;
Dans la règle "Informations sur l'appareil et le noyau", modifiez la ligne comme ci-dessous.
(
rulename = "Devices & Kernel information",
severity = $(SIG_HI),
)
{
/dev -> $(Device) ;
/dev/pts -> $(Device);
/dev/shm -> $(Device);
/dev/hugepages -> $(Device);
/dev/mqueue -> $(Device);
#/proc -> $(Device) ;
/proc/devices -> $(Device) ;
/proc/net -> $(Device) ;
/proc/tty -> $(Device) ;
/proc/cpuinfo -> $(Device) ;
/proc/modules -> $(Device) ;
/proc/mounts -> $(Device) ;
/proc/dma -> $(Device) ;
/proc/filesystems -> $(Device) ;
/proc/interrupts -> $(Device) ;
/proc/ioports -> $(Device) ;
/proc/scsi -> $(Device) ;
/proc/kcore -> $(Device) ;
/proc/self -> $(Device) ;
/proc/kmsg -> $(Device) ;
/proc/stat -> $(Device) ;
/proc/loadavg -> $(Device) ;
/proc/uptime -> $(Device) ;
/proc/locks -> $(Device) ;
/proc/meminfo -> $(Device) ;
/proc/misc -> $(Device) ;
}
C'est ça. Enregistrez les modifications et quittez l'éditeur.
Après avoir modifié le fichier de configuration, implémentez toutes les modifications en recréant le fichier de stratégie chiffré à l'aide de la commande twadmin comme indiqué ci-dessous.
sudo twadmin -m P /etc/tripwire/twpol.txt
Tapez la phrase de passe 'site-key' et appuyez sur Entrée.
Avec cela, une nouvelle politique Tripwire sera créée. Maintenant, réinitialisez la base de données Tripwire.
sudo tripwire --init
Tapez votre phrase secrète de clé locale et assurez-vous que vous n'obtenez aucune erreur cette fois.
La politique Tripwire a été configurée pour le système Ubuntu
Étape 3 - Vérifier l'intégrité des fichiers système
Tripwire a été installé et la politique Tripwire a été mise à jour et réinitialisée. Dans cette étape, nous vérifierons manuellement le système à l'aide de Tripwire.
Vérifiez tous les fichiers système à l'aide de la commande suivante.
sudo tripwire --check
Et vous devriez obtenir 'No Violation' et 'No Error' dans le résultat/la sortie.
Ensuite, ajoutez un nouveau fichier dans le répertoire racine, puis vérifiez à nouveau le système à l'aide de Tripwire.
cd ~/
touch hakase-labs.txt
sudo tripwire --check
Et dans la sortie, l'ajout de fichier et la modification du répertoire dans lequel réside le fichier doivent apparaître comme des violations.
Voir le résultat ci-dessous.
Étape 4 - Ajouter une nouvelle règle à Tripwire
Dans cette étape, nous souhaitons ajouter une nouvelle règle Tripwire à la configuration. Pour créer une nouvelle politique Tripwire, nous devons définir le nom de la règle, la gravité et le type de fichiers. Dans cette étape, nous allons essayer d'ajouter une nouvelle règle nommée "Wordpress Data" avec la gravité "High/SIG_HI" et tous les fichiers de ce répertoire sont critiques et ne peuvent pas être modifiés.
Allez dans le répertoire de configuration de tripwire et modifiez le fichier de configuration 'twpol.txt'.
cd /etc/tripwire/
vim twpol.txt
Allez à la fin de la ligne et collez l'exemple de règle Tripwire ci-dessous.
# Ruleset for Wordpress
(
rulename = "Wordpress Ruleset",
severity= $(SIG_HI)
)
{
/var/www -> $(SEC_CRIT);
}
Enregistrez et quittez.
Régénérez maintenant le fichier de configuration de tripwire.
sudo twadmin -m P /etc/tripwire/twpol.txt
Saisissez votre phrase secrète de clé de site.
Et réinitialiser la base de données Tripwire.
sudo tripwire --init
Tapez votre phrase secrète de clé locale.
Si toutes ces configurations sont terminées, nous pouvons essayer de créer un nouveau fichier ou de modifier le fichier sous le répertoire '/var/www/'.
Allez dans le répertoire '/var/www/', créez un nouveau fichier et modifiez le fichier d'index.
cd /var/www/
touch hakase-labs.txt
echo "<h1> Hakase-labs Tutorial</h1>" > html/index.nginx-debian.html
Vérifiez le système à l'aide de la commande tripwire ci-dessous.
sudo tripwire --check
Et vous recevrez une notification sur les violations du système avec le niveau de sécurité 100 comme ci-dessous.
Une nouvelle règle Tripwire a été ajoutée.
Étape 5 - Configurer la notification Tripwire et cron
Dans cette étape, nous allons configurer les notifications pour une politique d'ensemble de règles Tripwire spécifique et configurer un cron pour la vérification automatique du système.
Pour les notifications par e-mail, Tripwire fournit une fonction 'emailto' dans la configuration. Tripwire utilise Postfix pour la notification par e-mail, qui est automatiquement installé lors de l'installation de l'outil.
Avant de configurer les notifications par e-mail, testez la notification Tripwire à l'aide de la commande ci-dessous.
tripwire --test --email [email protected]
Et assurez-vous d'avoir un e-mail de votre serveur, comme indiqué ci-dessous.
Allez maintenant dans le répertoire '/etc/tripwire' et modifiez la configuration 'twpol.txt'.
cd /etc/tripwire/
vim twpol.txt
Ajoutez une nouvelle ligne à l'intérieur de la règle "Données WordPress", comme indiqué ci-dessous.
# Rules for Web-app
(
rulename = "Wordpress Rule",
severity = $(SIG_HI),
emailto = [email protected]
)
C'est ça. Enregistrez et quittez.
Ensuite, régénérez la configuration et réinitialisez la base de données Tripwire.
sudo twadmin -m P /etc/tripwire/twpol.txt
sudo tripwire --init
Tapez la phrase secrète de la clé du site pour régénérer la configuration et la phrase secrète de la clé locale pour réinitialiser.
Maintenant, créez à nouveau un nouveau fichier dans le répertoire '/var/www/' et vérifiez le système manuellement à l'aide de Tripwire et envoyez le rapport par e-mail.
sudo tripwire --check --email-report
Et vous devriez recevoir un rapport par e-mail dans votre boîte de réception.
Pour continuer, pour la configuration cron, il nous suffit de définir l'heure à laquelle la commande tripwire s'exécutera. Nous configurerons quotidiennement la vérification du système Tripwire.
Créez un nouveau cron en utilisant la commande crontab ci-dessous.
sudo crontab -e -u root
Et collez la configuration cron ci-dessous.
0 0 * * * tripwire --check --email-report
Enregistrez et quittez, puis rechargez le cron.
systemctl restart cron
Désormais, le système effectuera une vérification tous les jours et enverra une notification pour une violation de la règle "Wordpress" à votre adresse e-mail.
Le Tripwire IDS a été installé et configuré sur Ubuntu 16.04, et tous les fichiers et répertoires du système ont été surveillés. Vous pouvez ajouter votre propre jeu de règles en suivant les instructions de l'étape 4.