Comment installer et utiliser AIDE (Advanced Intrusion Detection Environment) dans CentOS 8

En prévision du début du cours Administrateur Linux, nous avons préparé une traduction de matériel intéressant.




AIDE signifie «Advanced Intrusion Detection Environment», l'un des systèmes les plus populaires pour surveiller les changements dans les systèmes d'exploitation Linux. AIDE est utilisé pour protéger contre les logiciels malveillants, les virus et détecter les actions non autorisées. Pour vérifier l'intégrité des fichiers et la détection des intrusions, AIDE crée une base de données avec des informations sur les fichiers et compare l'état actuel du système avec cette base de données. AIDE aide à réduire le temps d'enquête sur les incidents en se concentrant sur les fichiers qui ont été modifiés.

Caractéristiques AIDE:

  • Prise en charge de divers attributs de fichier, notamment: type de fichier, inode, uid, gid, autorisations, nombre de liens, mtime, ctime et atime.
  • Prise en charge de Gzip, SELinux, XAttrs, Posix ACL et la compression des attributs du système de fichiers.
  • Prise en charge de divers algorithmes, notamment md5, sha1, sha256, sha512, rmd160, crc32, etc.
  • Notifications par email.

Dans cet article, nous verrons comment installer et utiliser AIDE pour détecter les intrusions dans CentOS 8.

Conditions préalables


  • Un serveur exécutant CentOS 8 avec au moins 2 Go de RAM.
  • accès root

Commencer


Il est recommandé de mettre à niveau votre système en premier. Pour ce faire, exécutez la commande suivante.

dnf update -y

Après la mise à niveau, redémarrez le système pour que les modifications prennent effet.

Installer AIDE


AIDE est disponible dans le référentiel par défaut de CentOS 8. Vous pouvez facilement l'installer en exécutant la commande suivante:

dnf install aide -y

Une fois l'installation terminée, vous pouvez afficher la version AIDE à l'aide de la commande suivante:

aide --version

Vous devriez voir ce qui suit:

Aide 0.16

Compiled with the following options:

WITH_MMAP
WITH_PCRE
WITH_POSIX_ACL
WITH_SELINUX
WITH_XATTR
WITH_E2FSATTRS
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_CURL
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf"

Les options disponibles aidepeuvent être consultées comme suit:

aide --help



Création et initialisation d'une base de données


La première chose que vous devez faire après avoir installé AIDE est de l'initialiser. L'initialisation consiste à créer une base de données (instantané) de tous les fichiers et répertoires du serveur.

Pour initialiser la base de données, exécutez la commande suivante:

aide --init

Vous devriez voir ce qui suit:

Start timestamp: 2020-01-16 03:03:19 -0500 (AIDE 0.16)
AIDE initialized database at /var/lib/aide/aide.db.new.gz

Number of entries:	49472

---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------

/var/lib/aide/aide.db.new.gz
  MD5      : 4N79P7hPE2uxJJ1o7na9sA==
  SHA1     : Ic2XBj50MKiPd1UGrtcUk4LGs0M=
  RMD160   : rHMMy5WwHVb9TGUc+TBHFHsPCrk=
  TIGER    : vkb2bvB1r7DbT3n6d1qYVfDzrNCzTkI0
  SHA256   : tW3KmjcDef2gNXYqnOPT1l0gDFd0tBh9
             xWXT2iaEHgQ=
  SHA512   : VPMRQnz72+JRgNQhL16dxQC9c+GiYB8g
             uZp6uZNqTvTdxw+w/IYDSanTtt/fEkiI
             nDw6lgDNI/ls2esijukliQ==


End timestamp: 2020-01-16 03:03:44 -0500 (run time: 0m 25s)

La commande ci-dessus créera une nouvelle base aide.db.new.gzde données dans le répertoire /var/lib/aide. Il peut être vu en utilisant la commande suivante:

ls -l /var/lib/aide

Résultat:

total 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz

AIDE n'utilisera pas ce nouveau fichier de base de données tant qu'il n'aura pas été renommé en aide.db.gz. Cela peut être fait comme suit:

mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

Il est recommandé que cette base de données soit mise à jour périodiquement pour assurer le suivi nécessaire des changements.

Vous pouvez modifier l'emplacement de la base de données en modifiant le paramètre DBDIRdans le fichier /etc/aide.conf.

Exécuter la vérification


AIDE est maintenant prêt à utiliser la nouvelle base de données. Exécutez la première vérification AIDE sans apporter de modifications:

aide --check

L'exécution de cette commande prendra un certain temps en fonction de la taille de votre système de fichiers et de la quantité de RAM sur votre serveur. Une fois la vérification terminée, vous devriez voir ce qui suit:

Start timestamp: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!

La sortie ci-dessus indique que tous les fichiers et répertoires correspondent à la base de données AIDE.

Test AIDE


Par défaut, AIDE ne suit pas le répertoire racine Apache par défaut. /var/www/html.Configurons AIDE pour le visualiser. Pour ce faire, vous devez modifier le fichier /etc/aide.conf.

nano /etc/aide.conf

Ajoutez ce qui "/root/CONTENT_EX"suit au-dessus de la ligne :

/var/www/html/ CONTENT_EX

Ensuite, créez un fichier aide.txtdans le répertoire /var/www/html/à l'aide de la commande suivante:

echo "Test AIDE" > /var/www/html/aide.txt

Exécutez maintenant la vérification AIDE et assurez-vous que le fichier créé est détecté.

aide --check

Vous devriez voir ce qui suit:

Start timestamp: 2020-01-16 03:09:40 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!

Summary:
  Total number of entries:	49475
  Added entries:		1
  Removed entries:		0
  Changed entries:		0

---------------------------------------------------
Added entries:
---------------------------------------------------

f++++++++++++++++: /var/www/html/aide.txt

Nous voyons que le fichier créé est détecté aide.txt.
Après avoir analysé les modifications détectées, mettez à jour la base de données AIDE.

aide --update

Après la mise à niveau, vous verrez ce qui suit:

Start timestamp: 2020-01-16 03:10:41 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!
New AIDE database written to /var/lib/aide/aide.db.new.gz

Summary:
  Total number of entries:	49475
  Added entries:		1
  Removed entries:		0
  Changed entries:		0

---------------------------------------------------
Added entries:
---------------------------------------------------

f++++++++++++++++: /var/www/html/aide.txt

La commande ci-dessus créera une nouvelle base aide.db.new.gzde données dans le répertoire

/var/lib/aide/

Vous pouvez le voir avec la commande suivante:

ls -l /var/lib/aide/

Résultat:

total 5600
-rw------- 1 root root 2864012 Jan 16 03:09 aide.db.gz
-rw------- 1 root root 2864100 Jan 16 03:11 aide.db.new.gz

Renommez maintenant la nouvelle base de données pour qu'AIDE utilise la nouvelle base de données pour suivre les modifications ultérieures. Renommez comme suit:

mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

Exécutez à nouveau le test pour vérifier que AIDE utilise la nouvelle base de données:

aide --check

Vous devriez voir ce qui suit:

Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!

Automatisez la vérification


C'est une bonne idée d'exécuter les contrôles AIDE tous les jours et d'envoyer le rapport par courrier. Ce processus peut être automatisé avec cron.

nano /etc/crontab

Pour démarrer la vérification AIDE tous les jours à 10h15, ajoutez la ligne à la fin du fichier:

15 10 * * * root /usr/sbin/aide --check

AIDE vous informera désormais par mail. Vous pouvez vérifier le courrier avec la commande suivante:

tail -f /var/mail/root

Le journal AIDE peut être consulté à l'aide de la commande suivante:

tail -f /var/log/aide/aide.log

Conclusion


Dans cet article, vous avez appris à utiliser AIDE pour détecter les modifications de fichiers et détecter les accès non autorisés au serveur. Pour des paramètres supplémentaires, vous pouvez modifier le fichier de configuration /etc/aide.conf. Pour des raisons de sécurité, il est recommandé de stocker la base de données et le fichier de configuration sur un support en lecture seule. Pour plus d'informations, consultez la documentation AIDE Doc .



En savoir plus sur le cours.



All Articles