AIDE signifie "Advanced Intrusion Detection Environment" est l'un des outils les plus populaires pour surveiller les changements apportés aux systèmes d'exploitation basés sur Linux. Il est utilisé pour protéger votre système contre les logiciels malveillants, les virus et détecter les activités non autorisées. Il fonctionne en créant une base de données du système de fichiers et vérifie cette base de données par rapport au système pour assurer l'intégrité des fichiers et détecter les intrusions dans le système. AIDE vous aide à raccourcir le temps d'investigation lors de la réponse à l'incident en se concentrant sur les fichiers qui ont été modifiés.
Caractéristiques
- Prend en charge divers attributs, notamment le type de fichier, l'inode, l'UID, le Gid, les autorisations, le nombre de liens, Mtime, Ctime et Atime.
- Prend en charge la compression Gzip, SELinux, XAttrs, Posix ACL et les attributs de système de fichiers étendus.
- Capable de créer et de comparer divers algorithmes de résumé de message, notamment md5, sha1, sha256, sha512, rmd160, crc32, etc.
- Capable de vous avertir par e-mail.
Dans ce tutoriel, nous allons vous montrer comment installer et utiliser AIDE pour détecter les intrusions sur CentOS 8.
Prérequis
- Un serveur exécutant CentOS 8 avec au moins 2 Go de RAM.
- Un mot de passe root est configuré sur votre serveur.
Mise en route
Avant de commencer, il est conseillé de mettre à jour votre système vers la version mise à jour. Exécutez la commande suivante pour mettre à jour votre système.
dnf update -y
Une fois votre système mis à jour, redémarrez-le pour appliquer les modifications.
Installer AIDE
Par défaut, AIDE est disponible dans le référentiel par défaut de CentOS 8. Vous pouvez l'installer facilement en exécutant simplement la commande suivante :
dnf install aide -y
Une fois l'installation terminée, vous pouvez vérifier la version installée d'AIDE à l'aide de la commande suivante :
aide --version
Vous devriez voir le résultat suivant :
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"
Vous pouvez également voir toutes les options disponibles avec la commande aide en utilisant la commande suivante :
aide --help
Vous devriez voir l'écran suivant :
Créer et initialiser la base de données
Après avoir installé AIDE, la première chose à faire est d'initialiser la configuration. Cette initialisation créera une base de données (instantané) de tous les fichiers et répertoires de votre serveur.
Exécutez la commande suivante pour initialiser la base de données :
aide --init
Vous devriez voir le résultat suivant :
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 de données AIDE aide.db.new.gz dans le répertoire /var/lib/aide. Vous pouvez le voir en utilisant la commande suivante :
ls -l /var/lib/aide
Vous devriez voir le résultat suivant :
total 2800 -rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz
AIDE n'utilisera pas le nouveau fichier de base de données tant qu'il n'aura pas été renommé en aide.db.gz. Vous pouvez le renommer avec la commande suivante :
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Il est recommandé de mettre à jour cette base de données sur une période définie pour assurer un suivi approprié des changements. Vous pouvez également changer l'emplacement de la base de données AIDE en éditant le fichier /etc/aide.conf et en modifiant la valeur DBDIR.
Vérifier AIDE
À ce stade, AIDE est prêt à utiliser la nouvelle base de données. Maintenant, exécutez votre première vérification AIDE sans apporter de modifications :
aide --check
Cette commande prendra un certain temps en fonction de la taille de votre système de fichiers et de la quantité de RAM de votre serveur. Une fois la vérification AIDE terminée, vous devriez voir la sortie suivante :
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 chaque fichier et répertoire correspond à la base de données AIDE.
Tester AIDE
Par défaut, AIDE n'est pas configuré pour surveiller les fichiers et les répertoires de la racine de document par défaut d'Apache /var/www/html. Ainsi, vous devrez configurer AIDE pour surveiller le répertoire /var/www/html. Vous pouvez le configurer en éditant le fichier /etc/aide.conf.
nano /etc/aide.conf
Ajoutez la ligne suivante au-dessus de la ligne "/root/ CONTENT_EX":
/var/www/html/ CONTENT_EX
Enregistrez et fermez le fichier lorsque vous avez terminé.
Créez ensuite un fichier aide.txt dans le répertoire /var/www/html/ à l'aide de la commande suivante :
echo "Test AIDE" > /var/www/html/aide.txt
Maintenant, exécutez la vérification AIDE et vérifiez que le fichier nouvellement créé est détecté par la vérification de l'aide.
aide --check
Vous devriez voir le résultat suivant :
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
La sortie ci-dessus indique que le fichier aide.txt nouvellement créé est détecté par la vérification de l'aide.
Ensuite, c'est une bonne idée de mettre à jour la base de données AIDE après avoir examiné les changements détectés par aide check. Vous pouvez mettre à jour la base de données AIDE à l'aide de la commande suivante :
aide --update
Une fois la base de données mise à jour, vous devriez voir le résultat suivant :
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 de données appelée aide.db.new.gz dans le répertoire /var/lib/aide/.
Vous pouvez le voir en utilisant la commande suivante :
ls -l /var/lib/aide/
Vous devriez voir le résultat suivant :
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
Maintenant, renommez à nouveau la nouvelle base de données afin qu'AIDE utilise cette nouvelle base de données pour garder une trace de toutes les nouvelles modifications. Vous pouvez renommer la base de données à l'aide de la commande suivante :
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
Maintenant, exécutez à nouveau la vérification AIDE pour vérifier si l'AIDE utilise la nouvelle base de données ou non :
aide --check
Vous devriez voir le résultat suivant :
Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16) AIDE found NO differences between database and filesystem. Looks okay!!
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Automatiser la vérification AIDE
C'est une bonne idée d'automatiser la vérification AIDE tous les jours et d'envoyer le rapport à un système par e-mail. Vous pouvez automatiser ce processus à l'aide de la tâche cron.
Pour ce faire, modifiez le fichier de configuration par défaut de cron comme indiqué ci-dessous :
nano /etc/crontab
Ajoutez la ligne suivante à la fin du fichier pour automatiser la vérification AIDE tous les jours à 10h15 :
15 10 * * * root /usr/sbin/aide --check
Enregistrez et fermez le fichier lorsque vous avez terminé.
Désormais, AIDE vous en informera par messagerie système.
Vous pouvez consulter votre messagerie système à l'aide de la commande suivante :
tail -f /var/mail/root
Vous pouvez également consulter le journal AIDE avec la commande suivante :
tail -f /var/log/aide/aide.log
Conclusion
Dans le didacticiel ci-dessus, vous avez appris à utiliser AIDE pour comprendre les modifications du serveur et identifier les accès non autorisés à votre serveur. Vous pouvez modifier le fichier /etc/aide.conf pour surveiller votre répertoire d'application ou tout paramètre avancé. Il est recommandé de conserver votre base de données AIDE et votre fichier de configuration sur un support en lecture seule pour des raisons de sécurité. Pour plus d'informations, vous pouvez consulter la documentation AIDE sur AIDE Doc.