AIDE
À quoi il sert
AIDE (Advanced Intrusion Detection Environment) calcule, pour chaque fichier sélectionné, un ensemble d'attributs (empreintes du contenu, droits, propriétaire, taille, inode, attributs étendus, dates) et les range dans une base de référence. Une vérification ultérieure (aide --check) recalcule et compare : tout fichier ajouté, supprimé ou modifié est signalé, avec l'attribut qui a changé. Après un changement légitime, aide --update écrit une nouvelle base, que l'on accepte après lecture du rapport. Sur Debian et Ubuntu, le paquet fournit une configuration complète, le script aideinit et un minuteur, dailyaidecheck.timer, qui vérifie chaque nuit.
Quand le choisir
Pour savoir ce qui a changé sur un serveur sans dépendre de ce qu'un attaquant a laissé dans les journaux : un binaire remplacé, un fichier ajouté dans /etc/sudoers.d, une clé SSH déposée. Le guide BP-028 de l'ANSSI recommande le scellement au niveau élevé, base protégée comprise. Il complète auditd, qui dit qui et quand mais seulement pour ce que couvrent ses règles. dpkg --verify et debsums vérifient les fichiers des paquets, mais leurs empreintes sont stockées sur la machine et ne résistent pas à un attaquant root.
Points d'attention
- Le binaire de Debian et d'Ubuntu n'a pas de fichier de configuration par défaut : appelez-le toujours avec
--config /etc/aide/aide.conf, ou passez paraideinitetdailyaidecheck. Sans cela :missing 'database_in', config option is required. - Ajoutez vos règles dans un fragment de
/etc/aide/aide.conf.d/dont le nom ne contient pas de point, et validez avec--config-check. - Après chaque mise à jour de paquets ou livraison, lisez le rapport puis copiez
aide.db.newsuraide.db. Une base jamais mise à jour produit chaque matin des milliers de lignes que plus personne ne lit. - Le travail quotidien du paquet fait un
--updatemais ne copie jamais la nouvelle base de lui-même (COPYNEWDB=no) : c'est une décision humaine. - Une base restée sur la machine est à la merci de root : conservez la référence ailleurs, idéalement tirée par une autre machine avec son empreinte.
- Un parcours complet sollicite fortement le disque : planifiez l'initialisation et les vérifications hors des heures de pointe.
Par où commencer
La leçon Tracer et contrôler l'intégrité : auditd et AIDE du cours Linux : administration système, qui scelle les serveurs de Signalements, lit un rapport de différences et organise la protection de la base. Puis les pages de manuel aide(1) et aide.conf(5), le fichier README.Debian du paquet, et la documentation du projet.