9.2. IDS basés sur l'hôte

Un IDS basé sur l'hôte analyse plusieurs domaines pour déterminer le mauvais usage (activité malveillante ou abusive à l'intérieur du réseau) ou des intrusions (brèches de l'extérieur). Les IDS basés sur l'hôte consultent plusieurs types de fichiers journaux (noyau, système, serveur, réseau, pare-feu et autres) et comparent les journaux à une base de données interne de signatures courantes d'attaques connues. Les IDS UNIX et Linux basés sur l'hôte utilisent énormément la commande syslog et sa capacité à séparer les évènements enregistrés selon leur sévérité (par exemple, des messages d'imprimante mineurs contre des avertissements du noyau majeurs). La commande syslog est disponible lors de l'installation du paquetage sysklogd, inclus avec Red Hat Enterprise Linux. Ce paquetage offre une journalisation du système et la capture de messages du noyau. Les IDS basés sur l'hôte filtrent les journaux (qui, dans le cas de journaux d'évènements de noyau ou de réseau, peuvent être très commentés), les analysent, marquent à nouveau les messages avec leur propre système d'évaluation de sévérité et les rassemblent dans leur propre journal spécialisé pour être analysé par les administrateurs.

Les IDS basés sur l'hôte peuvent également vérifier l'intégrité de données de fichiers et d'exécutables importants. Ils vérifient une base de données de fichiers confidentiels (et tout fichier ajouté par l'administrateur) et créent une somme de contrôle de chaque fichier avec un utilitaire d'analyse de fichiers messages comme la commande md5sum (algorithme 128-bit) ou la commande sha1sum (algorithme 160-bit). Les IDS basés sur l'hôte sauvegardent alors les sommes dans un fichier en texte clair et, de temps en temps, comparent les sommes de contrôle de fichiers avec les valeurs dans le fichier texte. Si l'une des sommes ne correspond pas, alors les IDS avertissent l'administrateur par courrier électronique ou pager. Ce processus est utilisé par Tripwire, qui est expliqué dans la Section 9.2.1.

9.2.1. Tripwire

Tripwire est l'IDS basé sur l'hôte le plus populaire pour Linux. Tripwire, Inc., les développeurs de Tripwire, ont récemment ouvert le code source du logiciel pour la version Linux et l'ont mis sous licence sous les termes de la licence à grand public GNU. Tripwire est disponible à l'adresse suivante http://www.tripwire.org/.

NoteRemarque
 

Tripwire n'est pas inclus dans Red Hat Enterprise Linux et n'est pas supporté. Il a été inclus dans ce document en tant que référence pour les utilisateurs intéressés.

9.2.2. RPM en tant qu'un IDS

Le gestionnaire de paquetages RPM (RPM) est un autre programme qui peut être utilisé comme un IDS basé sur l'hôte. RPM contient de nombreuses options pour interroger les paquetages et leurs contenus. Ces options de vérification peuvent être d'une valeur inestimable pour un administrateur qui soupçonne que des fichiers systèmes et des exécutables critiques ont été modifiés.

La liste suivante détaille certaines options pour RPM que vous pouvez utiliser pour vérifier l'intégrité de fichiers sur un système Red Hat Enterprise Linux. Veuillez consulter le Guide d'administration système de Red Hat Enterprise Linux pour des informations complètes sur l'utilisation de RPM.

ImportantImportant
 

Pour certaines commandes de la liste suivante, vous devez importer la clé publique GPG de Red Hat dans le porte-clés RPM de votre système. Cette clé vérifie que les paquetages installés sur votre système contiennent une signature de paquetages Red Hat, assurant que vos paquetages proviennent bien de Red Hat. La clé peut être importée en exécutant la commande suivante en tant que super-utilisateur (substituant <version> avec la version du RPM installée sur votre système) :

rpm --import /usr/share/doc/rpm-<version>/RPM-GPG-KEY

rpm -V nom_de_paquetage

L'option -V vérifie les fichiers dans le paquetage installé, appelé nom_de_paquetage. Si elle ne produit pas de sortie et quitte, cela signifie qu'aucun fichier n'a été modifié depuis la dernière fois que la base de données RPM fut mise à jour. Si une erreur se produit, comme l'exemple suivant

S.5....T c /bin/ps

alors le fichier a été modifié d'une manière ou d'une autre et vous devez décider si vous souhaitez garder le fichier (il en est le cas pour les fichiers de configuration modifiés dans le répertoire /etc/) ou supprimer le fichier et reinstaller le paquetage qui le contient. La liste suivante définit les éléments de la chaîne à 8 caractères (S.5....T dans l'exemple ci-dessus) qui annonce l'échec d'une vérification.

  • . — Le test a passé cette étape de vérification

  • ? — Le test a trouvé un fichier qui ne peut pas être lu, venant probablement d'un problème de permissions de fichier

  • S — Le test a trouvé un fichier qui est plus petit ou plus grand que lorsqu'il a été installé sur le système

  • 5 — Le test a trouvé un fichier dont la somme de contrôle md5 ne correspond pas à sa somme de contrôle originale lors de sa première installation

  • M — Le test a détecté une erreur de permissions de fichier ou de type de fichier sur le fichier

  • D — Le test a trouvé une discordance de fichiers des périphériques dans les numéros majeurs / mineurs

  • L — Le test a trouvé un lien symbolique qui a été modifié par un autre chemin de fichier

  • U — Le test a trouvé un fichier dont le propriétaire utilisateur a été modifié

  • G — Le test a trouvé un fichier dont le propriétaire de groupe a été modifié

  • T — Le test a trouvé des erreurs de vérification mtime sur le fichier

rpm -Va

L'option -Va vérifie tous les paquetages installés et trouve tout échec dans ses tests de vérification (tout comme l'option -V, mais avec plus de commentaires dans sa sortie puisqu'elle vérifie chaque paquetage installé).

rpm -Vf /bin/ls

L'option -Vf vérifie les fichiers individuels dans un paquetage installé. Cela peut s'avérer utile si vous souhaitez effectuer la vérification rapide d'un fichier suspect.

rpm -K application-1.0.i386.rpm

L'option -K est utile pour vérifier la somme de contrôle md5 et la signature GPG d'un fichier de paquetage RPM. Cela s'avère utile pour vérifier si un paquetage que vous souhaitez installer est signé par Red Hat ou toute organisation pour laquelle vous possédez la clé publique GPG dans votre porte-clés GPG. Un paquetage qui n'a pas été signé correctement émettra un message d'erreur semblable à l'exemple suivant :

application-1.0.i386.rpm (SHA1) DSA sha1 md5 (GPG) NOT OK
		  (MISSING KEYS: GPG#897da07a)

Faites attention lors de l'installation de paquetages qui ne sont pas signés vu qu'ils ne sont pas approuvés par Red Hat, Inc. et peuvent contenir du code malveillant.

RPM peut être un outil puissant, comme démontré par ses nombreux outils de vérification pour les paquetages et les fichiers de paquetage RPM installés. Il est fortement recommandé de sauvegarder le contenu de votre répertoire de base de données RPM (/var/lib/rpm/) sur un média en lecture seule, tel qu'un CD-ROM, après avoir installé Red Hat Enterprise Linux. De cette manière, vous pouvez comparer en toute sécurité des fichiers et des paquetages à la base de données en lecture seule, plutôt que à la base de données sur le système, vu que des utilisateurs malveillants peuvent corrompre la base de données et déformer vos résultats.

9.2.3. Autres IDS basés sur l'hôte

La liste suivante examine quelques systèmes de détection d'intrusions basés sur l'hôte populaires et disponibles. Consultez les sites Web des utilitaires correspondants pour de plus amples informations sur leur installation et leur configuration.

NoteRemarque
 

Ces applications ne sont pas incluses avec Red Hat Enterprise Linux et ne sont pas supportées. Elles sont incluses dans ce document en tant que référence pour les utilisateurs qui peuvent être intéressés à évaluer de telles applications.