Recherche de site Web

Comment vérifier l'intégrité des fichiers et des répertoires à l'aide de "AIDE" sous Linux


Dans notre méga guide sur le renforcement et la sécurisation de 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 interne du système contre les virus, les rootkits, les logiciels malveillants et la détection des éléments non autorisés. activités est AIDE.

AIDE (Advanced Intrusion Detection Environment) est un outil de détection d'intrusion open source gratuit, petit 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. comme Linux. Il s'agit d'un binaire statique indépendant pour les 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 résumé de message tels que, sans s'y limiter, md5, sha1, rmd160, Tiger ; prend en charge les attributs de fichiers communs ; prend également en charge de puissantes expressions régulières pour inclure ou exclure de manière sélective les fichiers et répertoires à analyser.

Il peut également être compilé avec une prise en charge exceptionnelle de la compression Gzip, des attributs Posix ACL, SELinux, XAttrs et du système de fichiers étendu.

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 l'aide sous Linux.

Comment installer AIDE sous Linux

Aide est fourni dans les référentiels officiels des distributions Linux traditionnelles. Pour l'installer, exécutez la commande correspondant à votre distribution à l'aide d'un gestionnaire de packages.

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 afficher la version installée ainsi que les paramètres de compilation, 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 contient 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 est utilisée uniquement pour le contrôle d'accès. Elle détectera toute modification apportée au fichier ou aux répertoires en fonction des autorisations de fichier/répertoire, de l'utilisateur, du groupe, des autorisations de contrôle d'accès, du contexte SELinux et des attributs de fichier.

Cela vérifiera uniquement 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 aidera à détecter tout changement dans les données dans tous les fichiers/répertoires.

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

Définir des règles pour surveiller les fichiers et les répertoires

Une fois que vous avez défini les 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 du répertoire racine.

/root/\..*  PERMS

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

/root/   CONTENT_EX

Pour vous aider à détecter tout changement dans les 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 par rapport aux vérifications qui seront effectuées à l'aide de l'indicateur --init. Cela devrait être fait avant que votre système ne soit connecté à un réseau.

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

aide --init

Renommez ensuite la base de données en /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 maintenant vérifier l'intégrité des fichiers et 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 détecte des changements inattendus à des endroits, il génère un rapport que vous pouvez ensuite consulter.

Puisqu'aucune modification n'a été apportée au système de fichiers, vous n'obtiendrez qu'un résultat similaire à celui 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

Exécutez ensuite à nouveau 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 prendre beaucoup de temps.

aide --check

Vous devez exécuter régulièrement des vérifications d'aide, et en cas de modification des 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 de futures analyses, 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 le moment! Mais prenez note de ces points importants :

  • Une caractéristique de la plupart des systèmes de détection d'intrusion, y compris AIDE, est qu'ils ne fournissent pas de solutions à la plupart des failles de sécurité d'un système. Ils contribuent cependant à faciliter le processus de réponse aux intrusions en aidant les administrateurs système à examiner toute modification apportée aux fichiers/répertoires du 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 des sources).
  • 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 consultez la page d'accueil d'AIDE : http://aide.sourceforge.net/