Annexe E. Créer un Module Noyau pour SpIDer Guard

Si le système d’exploitation ne supporte pas l’interface de gestion fanotify, SpIDer Guard utilise un module chargeable spécial fonctionnant dans l’espace noyau.

Par défaut, SpIDer Guardest fourni avec un module noyau chargeable complètement intégré pour les OS CentOS et Red Hat Enterprise Linux en versions 5.10 et 6.5, vu que ces systèmes ne supportent pas fanotify. De plus, vous pouvez construire un module noyau chargeable manuellement en utilisant les codes source fournis dans une archive tar.bz2.

Le module noyau chargeable utilisé par SpIDer Guard est conçu pour fonctionner avec les noyaux Linux 2.6 et supérieurs.

L’archive contenant les codes source est situé dans le sous-répertoire share/drweb-spider-kmod/src du répertoire de base de Dr.Web pour Linux (par défaut /opt/drweb.com). Le nom de l’archive est construit comme suit : drweb-spider-kmod-<version>-<date>.tar.bz2.

Le répertoire drweb-spider-kmod contient également le script de test check-kmod-install.sh. Exécutez le script pour vérifier si l’OS utilisé supporte les versions du module noyau inclus au produit. Si ce n’est pas le cas, un message vous invitant à créer manuellement le module s’affiche sur l’écran.

Pour créer le module noyau chargeable manuellement d’après les codes source, les privilèges administrateur (root) sont requis. Pour cela, vous pouvez utiliser la commande su pour passer à un autre utilisateur ou la commande sudo pour créer le module en tant qu’autre utilisateur.

Pour créer le module noyau

1.Décompressez l’archive contenant les codes source dans n’importe quel dossier. Par exemple, la commande

# tar -xf drweb-spider-kmod-<version>-<date>.tar.bz2

décompresse les codes source dans le dossier créé. Ce dossier comporte le nom de l’archive et est créé au même endroit que celui où réside l’archive.

2.Allez au dossier créé et exécutez la commande suivante :

# make

Si une erreur survient durant l’exécution de la commande make, réparez-la (voir ci-dessous) et relancez la compilation.

3.Une fois la commande exécutée avec succès, entrez les commandes suivantes :

# make install
# depmod

4.Une fois le module noyau compilé avec succès et enregistré dans le système, effectuez les paramétrages supplémentaires de SpIDer Guard. Paramétrez le composant afin qu’il fonctionne avec le module noyau en exécutant la commande suivante :

# drweb-ctl cfset LinuxSpider.Mode LKM

Vous pouvez également indiquer AUTO au lieu de LKM. Dans le dernier cas, SpIDer Guard tentera d’utiliser le module noyau et l’interface de gestion fanotify. Pour en savoir plus, utilisez la commande suivante :

$ man drweb-spider

Erreurs de création possibles

Durant l’exécution de la commande make, des erreurs peuvent survenir. Si c’est le cas, vérifiez les éléments suivants :

Pour garantir une création réussie du module, Perl et GCC sont requis. S’ils ne sont pas présents dans le système, installez-les.

Sur certains OS, vous pouvez avoir besoin d’installer le package kernel-devel avant de lancer la procédure.

Sur certains OS, la procédure peut échouer parce que le chemin vers le répertoire contenant les codes source a été indiqué de manière incorrecte. Si c’est le cas, indiquez la commande make avec le paramètre KDIR=/path/to/kernel/source/codes. Typiquement, les codes source sont situés dans le répertoire /usr/src/kernels/<kernel_version>. Notez que la version du noyau remontée par la commande uname -r peut différer du nom de répertoire <kernel_version> !