GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment surveiller et détecter les fichiers modifiés à l'aide de Tripwire IDS sur Ubuntu 16.04

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

  1. Installer Tripwire
  2. Configurer la politique Tripwire pour le système Ubuntu
  3. Vérifier la configuration de Tripwire
  4. Ajouter un nouvel ensemble de règles à la politique de Tripwire
  5. 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.


Ubuntu
  1. Comment surveiller Nginx à l'aide de Netdata sur Ubuntu 16.04

  2. Surveillance et détection des fichiers modifiés à l'aide de Tripwire sur CentOS 7

  3. Comment surveiller les fichiers journaux du serveur avec Logwatch sur Debian et Ubuntu

  4. Comment installer Stacer System Monitor sur Ubuntu 18.04 LTS

  5. Surveiller les fichiers journaux Nginx à l'aide de ngxtop sur Ubuntu 20.04

Comment installer et utiliser SSHGuard sur Ubuntu 20.04

Comment nettoyer votre système Ubuntu à l'aide de l'outil Bleachbit

Comment installer Systemback sur Ubuntu 18.04 et Ubuntu 19.10, 20.04

Utilisation de fichiers et de dossiers sur l'écran du bureau dans Ubuntu

Comment surveiller les performances d'Apache à l'aide de mod_status dans Ubuntu

Comment surveiller les performances d'Ubuntu à l'aide de Netdata