Comment vérifier l'intégrité d'un fichier ou d'un répertoire avec AIDE sous Linux

Lors de l'utilisation de plusieurs systèmes d'exploitation, il est idéal de toujours disposer d'outils qui nous permettent de maintenir un contrôle centralisé et direct sur celui-ci. L'une des questions les plus délicates est sans conteste la sécurité et l'intégrité des fichiers, car cela garantit la disponibilité et la fiabilité des fichiers.

Aujourd'hui Solvetic parlera d'un outil pratique appelé AIDE grâce auquel il sera possible de vérifier l'intégrité d'un fichier ou d'un répertoire dans les différentes distributions Linux et ainsi s'assurer de l'entière fiabilité du fichier sélectionné.

Qu'est-ce que l'AIDEAIDE ((Advanced Intrusion Detection Environment) est un vérificateur d'intégrité de fichiers et de répertoires dans les environnements Linux nous permettant en tant qu'administrateurs de maintenir un contrôle spécifique sur eux.
Son fonctionnement consiste à créer une base de données conçue à partir des règles d'expressions régulières disponibles dans les fichiers de configuration. Une fois cette base de données initialisée, elle peut être utilisée pour vérifier l'intégrité des fichiers requis.

Attributs de fichier AIDEAIDE est en charge de construire la base de données à partir des fichiers spécifiés dans aide.conf, qui est le fichier de configuration d'AIDE. La base de données AIDE stocke plusieurs attributs de fichier, dans lesquels nous avons :

  • type de fichier
  • permis
  • utilisateur et groupe
  • taille du fichier
  • mtime, ctime et atime
  • taille de croissance
  • nombre de liens et nom du lien.

De plus, AIDE crée une somme de contrôle cryptographique ou un hachage de chaque fichier en utilisant un ou une combinaison des algorithmes de résumé de message suivants : sha1, sha256, sha512, md5, rmd160, tiger, haval, crc32, ainsi que les attributs acl, xattr, selinux , et e2fsattrs peuvent être utilisés lorsqu'ils sont explicitement activés au moment de la compilation.

AIDE dispose de plusieurs algorithmes de résumé de message qui sont utilisés pour vérifier l'intégrité du fichier. Tous les attributs de fichier habituels peuvent également être vérifiés pour les incohérences qu'il contient. AIDE est capable de lire des bases de données de versions plus anciennes ou plus récentes.

Caractéristiques de l'AIDEEn utilisant cet outil, nous avons les caractéristiques suivantes :

  • Algorithmes pris en charge par le résumé de message tels que : md5, sha1, rmd160, tigger, crc32, sha256, sha512, whirlpool (en plus avec libmhash : gost, haval, crc32b)
  • Attributs de fichier pris en charge : type de fichier, autorisations, inode, Uid, Gid, nom du lien, taille, numéro de bloc, nombre de liens, Mtime, Ctime et Atime
  • Il prend en charge Posix ACL, SELinux, XAttrs et les attributs de système de fichiers étendus si la prise en charge est compilée en texte brut et en fichiers de configuration de base de données pour plus de simplicité
  • Il prend en charge les expressions régulières pour inclure ou exclure sélectivement des fichiers et des répertoires afin d'être surveillés
Vous pouvez compresser la base de données gzip si la prise en charge de zlib est compilée dans un binaire statique distinct pour les configurations de surveillance client/serveur.

AIDE est inclus dans les distributions UNIX suivantes

  • Debian
  • Gentoo
  • MacPorts
  • FreeBSD
  • CentOS / RedHat
  • IPCop
  • OuvrirSUSE

Il est important de préciser qu'AIDE ne peut pas fournir une sécurité absolue sur la modification d'un fichier, car comme tout autre fichier système, la base de données et/ou les binaires d'AIDE peuvent également être modifiés à l'aide des outils appropriés.

1. Installer AIDE sur Linux


AIDE est disponible dans les dépôts officiels des distributions Linux les plus populaires, pour cela nous pouvons l'installer à l'aide d'un gestionnaire de paquets selon la distribution sélectionnée comme ceci :
 Aide à l'installation apt (Debian / Ubuntu) Aide à l'installation yum CRHEL / CentOS) Aide à l'installation dnf (Fedora) Aide à l'installation zypper (OpenSUSE) Aide à l'émergence (Gentoo)

Dans ce cas, nous utilisons Ubuntu. Là, nous entrons la lettre S pour accepter le téléchargement et l'installation d'AIDE. Une fois installé, nous verrons ce qui suit :

Comme nous pouvons le voir, le fichier de configuration principal est /etc/aide/aide.conf. Pour afficher la version installée, ainsi que les paramètres de temps de compilation, nous pouvons exécuter les opérations suivantes :

 aide -v

2. Accès au fichier de configuration AIDE Linux


On peut accéder au fichier de configuration AIDE en exécutant la ligne suivante avec l'éditeur souhaité :
 nano /etc/aide/aide.conf
Nous verrons ce qui suit :

Dans ce fichier, nous trouvons 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 ou fichiers à inclure dans la base de données, et bien d'autres.

3. Comment gérer et comprendre les règles AIDE

AIDE gère des règles telles que :

pAutorisations - Autorisations
mNombre de liens
ou alors= Utilisateur
gGroupes
sTaille (Taille)
bNombre de blocs
mmtime
àà l'heure
cctemps
selinuxContexte de sécurité Selinux
xattrsAffiche les attributs étendus d'un fichier

A partir de ces règles, il sera possible de créer des règles personnalisées dans le fichier de configuration AIDE. Par exemple, nous pouvons créer la règle suivante :

 PERMS = p + u + g + acl + selinux + xattrs
Dans ce cas, la règle PERMS est implémentée pour le contrôle d'accès, qui détectera toute modification apportée au fichier ou aux répertoires en fonction des autorisations de fichier ou de répertoire, de l'utilisateur, du groupe, des autorisations de contrôle d'accès, des attributs de fichier, etc.

Une autre règle que nous pouvons implémenter est celle qui vérifie uniquement le contenu du fichier et le type de fichier sélectionné, par exemple :

 CONTENU = sha256 + typef
Si nous voulons vérifier le contenu étendu, le type de fichier et l'accès, nous pouvons créer une règle comme :
 CONTENT_EX = sha256 + ftype + p + u + g + n + acl + selinux + xattrs
Une règle qui nous aide à détecter les changements dans le répertoire uniquement au niveau des données est :
 DONNÉES UNIQUEMENT = p + n + u + g + s + acl + selinux + xattrs + sha256
Ces règles doivent être ajoutées en bas du fichier de configuration AIDE :

Nous enregistrons les modifications à l'aide des touches Ctrl + O et sortons à l'aide de Ctrl + X.

4. Comment définir des règles pour afficher les fichiers et répertoires AIDE


Avec AIDE, il sera également possible de créer des règles pour certains fichiers ou répertoires à analyser. Pour cela, nous accédons à nouveau au chemin /etc/aide/aide.conf et nous pouvons créer les règles suivantes :
 / root / \… * PERMS (Cette règle vérifie les permissions dans le répertoire racine) / root / CONTENT_EX (Cette règle vérifie tous les fichiers en racine avant toute modification) / etc / DATAONLY (Cette règle nous permet de détecter tout changement dans le répertoire /etc)

Nous pouvons enregistrer les modifications dans le fichier de configuration AIDE.

5. Comment utiliser AIDE pour vérifier l'intégrité des fichiers et des répertoires sous Linux


Une fois les règles à utiliser avec AIDE définies, l'étape suivante consistera à construire la base de données par rapport aux vérifications qui seront effectuées à l'aide du paramètre --init.

Avec la commande suivante, une base de données sera créée qui contient tous les fichiers que nous définissons dans le fichier de configuration AIDE :

 Aide --init

Une fois cela fait, changez le nom de la base de données en /var/lib/aide/aide.db.gz avant de continuer, pour cela nous pouvons utiliser la commande suivante :

 mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db.gz
Il est recommandé de déplacer cette base de données vers un emplacement sûr mais nous devons nous assurer de mettre à jour le fichier de configuration afin qu'il puisse être lu à partir de là.

Ensuite, nous devons compiler un nouveau fichier de configuration Aide. Nous exécutons la commande suivante :

 update-aide.conf
Nous allons maintenant copier ce nouveau fichier dans le répertoire /etc/aide :
 cp /var/lib/aide/aide.conf.autogenerated /etc/aide/aide.conf
Une fois la base de données créée, nous pouvons vérifier l'intégrité des fichiers et des répertoires à l'aide de l'indicateur -check :
 aide --vérifier

6. Comment évaluer AIDE


Pour tester le fonctionnement d'AIDE nous allons exécuter les lignes suivantes :
 mkdir / root / aide-test touch / root / aide-test / testsolvetic touch / root / aide-test / testsolvetic1
Avec eux, nous créons un nouveau répertoire et des fichiers sur le système. Plus tard, nous exécutons la ligne suivante pour sa validation et sa vérification :
 Aide-vérification
Le résultat sera le suivant :

Là, nous pouvons voir qu'une différence est trouvée dans le fichier et indique de quel type d'action il s'agissait, ajout, suppression ou modification.
De cette façon, AIDE est un outil utile pour déterminer en temps réel les changements survenus dans le système.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave