Recherche de site Web

Comment vérifier l’intégrité d’un fichier et d’un répertoire à l’aide de « AIDE » sous Linux


Dans notre méga guide pour renforcer et sécuriser CentOS 7, sous la section « protéger le système en interne », l’un des outils de sécurité utiles que nous avons répertoriés pour la protection du système interne contre les virus, les rootkits, les logiciels malveillants et la détection des activités non autorisées est AIDE.

AIDE (Advanced Intrusion Detection Environment) est un outil de détection d’intrusion open source gratuit mais puissant, qui utilise des règles prédéfinies pour vérifier l’intégrité des fichiers et des répertoires dans les systèmes d’exploitation de type Unix tels que Linux. Il s’agit d’un binaire statique indépendant pour des configurations simplifiées de surveillance client/serveur.

Il est riche en fonctionnalités : utilise des fichiers de configuration en texte brut et une base de données, ce qui le rend facile à utiliser ; prend en charge plusieurs algorithmes de synthèse de messages tels que, mais sans s’y limiter, MD5, SHA1, RMD160, TIGER ; prend en charge les attributs de fichier communs ; Prend également en charge des expressions régulières puissantes pour inclure ou exclure de manière sélective des fichiers et des répertoires à analyser.

En outre, il peut être compilé avec une prise en charge exceptionnelle de la compression Gzip, de l’ACL Posix, de SELinux, de XAttrs et des attributs de système de fichiers étendus.

Aide fonctionne en créant une base de données (qui est simplement un instantané des parties sélectionnées du système de fichiers), à partir des règles d’expression régulière définies dans le(s) fichier(s) de configuration. Une fois cette base de données initialisée, vous pouvez vérifier l’intégrité des fichiers système par rapport à celle-ci. Ce guide montrera comment installer et utiliser aide sous Linux.

Comment installer AIDE sous Linux

Aide est empaqueté dans les dépôts officiels des distributions Linux principales, pour l’installer, exécutez la commande pour votre distribution à l’aide d’un gestionnaire de paquets.

# apt install aide 	   [On Debian/Ubuntu]
yum install aide	   [On RHEL/CentOS] 	
dnf install aide	   [On Fedora 22+]
zypper install aide	   [On openSUSE]
emerge aide 	           [On Gentoo]

Après l’avoir installé, le fichier de configuration principal est /etc/aide.conf. Pour visualiser la version installée ainsi que compiler les paramètres de temps, exécutez la commande ci-dessous sur votre terminal :

# aide -v
Exemple de sortie
Aide 0.14

Compiled with the following options:

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

Vous pouvez ouvrir la configuration à l’aide de votre éditeur préféré.

# vi /etc/aide.conf

Il a des directives qui définissent l’emplacement de la base de données, l’emplacement du rapport, les règles par défaut, les répertoires/fichiers à inclure dans la base de données.

Comprendre les règles d’aide par défaut

En utilisant les règles par défaut ci-dessus, vous pouvez définir de nouvelles règles personnalisées dans le fichier aide.conf par exemple.

PERMS = p+u+g+acl+selinux+xattrs

La règle PERMS n’est utilisée que pour le contrôle d’accès, elle détectera toute modification apportée aux fichiers ou aux répertoires en fonction des autorisations de fichiers/répertoires, de l’utilisateur, du groupe, des autorisations de contrôle d’accès, du contexte SELinux et des attributs de fichier.

Cela ne vérifiera que le contenu et le type de fichier.

CONTENT = sha256+ftype

Il s’agit d’une version étendue de la règle précédente, elle vérifie le contenu étendu, le type de fichier et l’accès.

CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs

La règle DATAONLY ci-dessous permet de détecter toute modification des données dans tous les fichiers/répertoires.

DATAONLY =  p+n+u+g+s+acl+selinux+xattrs+sha256

Définition de règles pour la surveillance des fichiers et des répertoires

Une fois que vous avez défini des règles, vous pouvez spécifier le fichier et les répertoires à surveiller. Compte tenu de la règle PERMS ci-dessus, cette définition vérifiera les autorisations pour tous les fichiers dans le répertoire racine.

/root/\..*  PERMS

Cela vérifiera tous les fichiers du répertoire /root pour toute modification.

/root/   CONTENT_EX

Pour vous aider à détecter toute modification des données dans tous les fichiers/répertoires sous /etc/, utilisez ceci.

/etc/   DATAONLY 

Utilisation d’AIDE pour vérifier l’intégrité des fichiers et des répertoires sous Linux

Commencez par construire une base de données contre les vérifications qui seront effectuées à l’aide de l’indicateur --init. Cette opération doit être effectuée avant que votre système ne soit connecté à un réseau.

La commande ci-dessous créera une base de données qui contient tous les fichiers que vous avez sélectionnés dans votre fichier de configuration.

# aide --init

Renommez ensuite la base de données /var/lib/aide/aide.db.gz avant de continuer, en utilisant cette commande.

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

Il est recommandé de déplacer la base de données vers un emplacement sécurisé, éventuellement sur un support en lecture seule ou sur d’autres machines, mais assurez-vous de mettre à jour le fichier de configuration pour le lire à partir de là.

Une fois la base de données créée, vous pouvez vérifier l’intégrité des fichiers et des répertoires à l’aide de l’indicateur --check.

# aide --check

Il lira l’instantané dans la base de données et le comparera aux fichiers/répertoires trouvés sur votre disque système. S’il trouve des modifications à des endroits auxquels vous ne vous attendez peut-être pas, il génère un rapport que vous pouvez ensuite examiner.

Comme aucune modification n’a été apportée au système de fichiers, vous n’obtiendrez qu’une sortie similaire à celle ci-dessus. Essayez maintenant de créer des fichiers dans le système de fichiers, dans les zones définies dans le fichier de configuration.

# vi /etc/script.sh
touch all.txt

Ensuite, exécutez une nouvelle fois une vérification, qui devrait signaler les fichiers ajoutés ci-dessus. Le résultat de cette commande dépend des parties du système de fichiers que vous avez configurées pour la vérification, cela peut être long au fil du temps.

# aide --check

Vous devez exécuter régulièrement des vérifications d’aide, et en cas de modifications de fichiers déjà sélectionnés ou d’ajout de nouvelles définitions de fichiers dans le fichier de configuration, mettez toujours à jour la base de données en utilisant l’option --update :

# aide --update

Après avoir exécuté une mise à jour de la base de données, pour utiliser la nouvelle base de données pour les analyses futures, renommez-la toujours en /var/lib/aide/aide.db.gz :

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

C’est tout pour l’instant ! Mais prenez note de ces points importants :

  • L’une des caractéristiques de la plupart des systèmes de détection d’intrusion, y compris AIDE inclus, est qu’ils ne fourniront pas de solutions à la plupart des failles de sécurité d’un système. Cependant, ils aident à faciliter le processus de réponse aux intrusions en aidant les administrateurs système à examiner toute modification des fichiers/répertoires système. Vous devez donc toujours être vigilant et continuer à mettre à jour vos mesures de sécurité actuelles.
  • Il est fortement recommandé de conserver la base de données nouvellement créée, le fichier de configuration et le binaire AIDE dans un emplacement sécurisé tel qu’un support en lecture seule (possible si vous installez à partir de la source).
  • Pour plus de sécurité, envisagez de signer la configuration et/ou la base de données.

Pour plus d’informations et de configurations, consultez sa page de manuel ou la page d’accueil d’AIDE : http://aide.sourceforge.net/

Articles connexes: