GNU/Linux >> Tutoriels Linux >  >> Cent OS

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

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 l'utiliser pour surveiller les fichiers de votre système, y compris les fichiers du site Web. Ainsi, en cas de modification indésirable d'un fichier, Tripwire vérifiera votre système et, s'il est correctement configuré, peut vous alerter par e-mail.

Dans ce didacticiel, nous vous montrerons comment surveiller et détecter toute modification de vos fichiers système à l'aide de Tripwire sur le système CentOS 7. Nous allons vous montrer comment installer et configurer Tripwire sur CentOS 7, comment générer des fichiers de clé Tripwire, configurer et ajouter une politique tripwire, vérifier le système et activer les notifications par e-mail pour la configuration de tripwire et cron.

Ce que nous allons faire

  1. Installer Tripwire sur CentOS 7
  2. Configurer la politique Tripwire pour CentOS 7
  3. Vérification de la configuration de Tripwire
  4. Ajouter une nouvelle règle à la politique de Tripwire
  5. Configurer la notification par e-mail Tripwire et Cron

Prérequis

  • Système CentOS 7
  • Privilèges racine

Étape 1 - Installer Tripwire sur CentOS 7

La première étape que nous devons faire est d'installer Tripwire sur le système. Par défaut, tripwire est disponible dans le référentiel CentOS 7.

Connectez-vous à votre serveur et mettez à jour tous les packages.

ssh [email protected]
sudo yum update -y

Maintenant, installez Tripwire en utilisant yum.

yum -y install tripwire

Après l'installation, nous devons générer de nouveaux fichiers clés.

Tripwire fonctionne avec 2 fichiers clés.

  1. clé de site :elle est utilisée pour sécuriser la configuration de Tripwire. Ainsi, toute modification apportée à la configuration de Tripwire ne sera pas appliquée tant que nous n'aurons pas généré à nouveau la configuration, et nous serons invités à entrer la phrase de passe "site-key" pour cela.
  2. local-key :il est utilisé pour vérifier le binaire tripwire. Lorsque nous voulons mettre à jour la base de données du système tripwire, nous devons exécuter la commande tripwire et nous serons invités à entrer la phrase de passe pour 'local-key'.

Générons de nouveaux fichiers de clés tripwire (clés de site et locales) à l'aide de la commande ci-dessous.

sudo tripwire-setup-keyfiles

La commande générera deux fichiers clés 'site-key' et 'local-key', et il vous sera demandé la phrase secrète pour chacun d'eux.

Tapez votre propre 'site-key ' mot de passe et appuyez sur Entrée.

Tapez votre propre 'local-key ' mot de passe et appuyez à nouveau sur Entrée.

Ensuite, signez la configuration de tripwire à l'aide de la 'site-key'.

Tapez votre 'site-key ' phrase de passe.

Et maintenant, pour signer la politique de Tripwire, tapez votre 'local-key ' phrase de passe.

Tripwire a été installé sur CentOS 7, et la nouvelle configuration et les clés de tripwire se trouvent dans le répertoire '/etc/tripwire'.

Étape 2 - Configurer la politique Tripwire pour CentOS 7

Après l'installation du fil de déclenchement dont nous avons discuté dans la première étape, nous devons initialiser la base de données du fil de déclenchement et nous assurer qu'il n'y a pas d'erreur.

Initialisez la base de données tripwire à l'aide de la commande tripwire ci-dessous.

sudo tripwire --init

On vous posera des questions sur la phrase secrète 'local-key' et vous obtiendrez probablement le message d'erreur 'no such directory' comme ci-dessous.

Nous obtenons l'erreur car le système n'a pas de répertoire et de fichiers déjà définis dans la configuration de tripwire. Pour résoudre cette erreur, nous devons modifier la configuration de tripwire 'twpol.txt' et signer à nouveau la configuration de tripwire.

Générez maintenant l'erreur de journal de tripwire en utilisant la commande ci-dessous.

sudo sh -c "tripwire --check | grep Filename > no-directory.txt"

Tous les répertoires et fichiers qui n'existent pas sur le système CentOS 7 sont répertoriés dans le fichier 'mo-directory.txt'

cat no-directory.txt

Modifiez la configuration tripwire 'twpol.txt' en utilisant le script bash suivant - exécutez ce script sur votre terminal.

for f in $(grep "Filename:" no-directory.txt | cut -f2 -d:); do
sed -i "s|\($f\) |#\\1|g" /etc/tripwire/twpol.txt
done

Après tout cela, nous devons régénérer et re-signer la configuration de tripwire à l'aide de la commande twadmin comme indiqué ci-dessous.

sudo twadmin -m P /etc/tripwire/twpol.txt

Tapez votre mot de passe 'site-key'.

Réinitialisez à nouveau la base de données Tripwire et assurez-vous qu'il n'y a pas d'erreur.

sudo tripwire --init

Réinitialisez la base de données Tripwire sans aucune erreur.

Étape 3 - Vérification de la configuration de Tripwire et vérification du système

Pour vérifier la configuration du fil de déclenchement, nous pouvons exécuter la commande de vérification du système comme ci-dessous.

sudo tripwire --check

Et vous devriez obtenir un résultat semblable au suivant.

Cela signifie donc qu'il n'y a pas d'erreur ni de violation de système détectée sur notre système.

Nous allons maintenant essayer d'ajouter un nouveau fichier sous le répertoire racine et vérifier à nouveau en utilisant tripwire.

Accédez au répertoire d'accueil racine et créez un nouveau fichier 'hakase-labs.txt'.

cd ~/
touch hakase-labs.txt

Maintenant, vérifiez à nouveau le système à l'aide de la commande tripwire.

sudo tripwire --check

Et vous obtiendrez le résultat de la nouvelle violation sur le système avec une gravité de 100 comme ci-dessous.

À ce stade, Tripwire est installé et configuré pour le système CentOS 7.

Étape 4 - Ajouter une nouvelle règle à la politique Tripwire

Dans cette étape, nous allons vous montrer comment ajouter une nouvelle règle à la configuration de la politique tripwire 'twpol.txt'.

Pour effectuer ce travail, nous devons définir le nom de la règle, la gravité, le répertoire de surveillance et le type de fichiers. Dans cette étape, nous allons créer une nouvelle règle nommée 'Wordpress Data' pour notre installation WordPress dans le répertoire '/var/www/', avec la gravité 'HIGH/SIG_HI', et tous les fichiers de ce répertoire sont critiques (à la fois leur propriété ainsi que le code source ne peut pas être modifié).

Accédez au répertoire de configuration de tripwire '/etc/tripwire' et modifiez le fichier de configuration 'twpol.txt' à l'aide de vim.

cd /etc/tripwire/
vim twpol.txt

Allez à la fin de la ligne et collez-y la règle WordPress suivante.

# Ruleset for Wordpress
(
  rulename = "Wordpress Data",
  severity= $(SIG_HI)
)
{
        /var/www        -> $(SEC_CRIT);
}

Enregistrez et quittez.

Régénérez et signez à nouveau la configuration à l'aide de la commande twadmin comme ci-dessous.

sudo twadmin -m P /etc/tripwire/twpol.txt

Tapez votre mot de passe 'site-key'.

Nous devons maintenant régénérer à nouveau la base de données Tripwire.

sudo tripwire --init

Tapez la phrase de passe 'local-key'.

Un nouvel ensemble de règles a été ajouté et appliqué à la configuration de la politique Tripwire.

Vérifiez votre système à l'aide de la commande tripwire ci-dessous.

sudo tripwire --check

Et vous devriez obtenir le résultat sans erreur ni violation.

Allez maintenant dans le répertoire '/var/www/' et créez un nouveau fichier à l'intérieur.

cd /var/www/
touch hakase-labs.php

Effectuez à nouveau une vérification du système à l'aide de Tripwire.

sudo tripwire --check

Et vous obtiendrez le résultat disant violation du système dans le répertoire '/var/www/' avec le niveau de sécurité High 100.

Une nouvelle règle a été ajoutée et appliquée à la configuration de la politique de Tripwire.

Étape 5 - Configurer la notification par e-mail 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 cronjob pour la vérification automatique du système. Nous enverrons un rapport pour toute violation de la règle "Données WordPress" à l'adresse e-mail "[email protected]".

Pour la notification par e-mail, tripwire fournit une fonction 'emailto' dans la configuration. Et par défaut, tripwire utilise Postfix ou Sendmail pour envoyer le rapport par e-mail.

Avant de configurer les notifications par e-mail, testez la fonction de notification Tripwire à l'aide de la commande ci-dessous.

sudo tripwire --test --email [email protected]

Vérifiez votre e-mail et vous devriez recevoir le rapport par e-mail de votre serveur comme 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 'emailto' dans la règle 'Wordpress Data' comme indiqué ci-dessous.

# Ruleset for Wordpress
(
  rulename = "Wordpress Data",
  severity= $(SIG_HI),
  emailto = [email protected]
)
{
        /var/www        -> $(SEC_CRIT);
}

Enregistrez et quittez.

Régénérez et signez la configuration à l'aide de la commande twadmin.

sudo twadmin -m P /etc/tripwire/twpol.txt

Tapez votre mot de passe 'site-key'.

Et régénérez la base de données Tripwire.

sudo tripwire --init

Tapez votre mot de passe "clé locale" tripwire.

La configuration de la notification par e-mail Tripwire est terminée.

Faites maintenant un test en créant à nouveau un nouveau fichier dans le répertoire '/var/www/'.

cd /var/www/
touch hakase.txt

Vérifiez à nouveau votre système en utilisant la commande ci-dessous.

sudo tripwire --check --email-report

Remarque :

  • --email-rapport : Envoyer le rapport du système à l'adresse e-mail définie dans chaque règle.

Vérifiez votre e-mail et vous devriez obtenir le résultat ci-dessous sur votre e-mail.

La notification par e-mail pour Tripwire a été activée et appliquée.

Ensuite, nous allons activer la vérification automatique du système Tripwire à l'aide de la configuration cron. Pour cela, créez un nouveau script cron sous l'utilisateur root à l'aide de la commande crontab ci-dessous.

sudo crontab -e -u root

Collez la configuration cron suivante.

0 0 * * * tripwire --check --email-report

Enregistrez et quittez.

Remarque :

  • - Le script cron effectuera une vérification quotidienne du système Tripwire.

Redémarrez maintenant le service crond sur CentOS 7.

systemctl restart crond

Désormais, vous recevrez quotidiennement une notification de rapport Tripwire par e-mail.

Tripwire a été installé et configuré pour le système CentOS 7.


Cent OS
  1. Surveillance de serveur avec Icinga 2 et Icingaweb 2 sur CentOS 7

  2. Utilisation de ATA sur Ethernet (AoE) sur CentOS 7 (initiateur et cible)

  3. Installer l'outil Fsniper (Directory Monitoring) dans CentOS, RHEL et Fedora

  4. Comment installer et configurer Fail2ban sur CentOS 8 ?

  5. Comment envoyer et télécharger des fichiers à l'aide de Rsync

Surveillance de serveur avec Munin et Monit sur CentOS 7.2

Comment installer et gérer des packages sur CentOS à l'aide de RPM

Installation et utilisation de Perf dans Ubuntu et CentOS

Comment installer Webmin sur CentOS 8 et Rocky Linux 8

Comment afficher et surveiller les fichiers journaux dans CentOS 8

Comment installer Seafile pour synchroniser et partager des fichiers sur CentOS 8