Annexe E. Créer un module noyau pour SpIDer Guard

Dans cette section :

Informations générales.

Instruction d’assemblage du module noyau.

Erreurs de création possibles.

Informations générales

Si le système d’exploitation ne fournit pas le mécanisme fanotify utilisé par SpIDer Guard pour la surveillance des actions avec les objets du système de fichiers, il peut utiliser un module chargeable spécial fonctionnant dans l’espace noyau (module LKM).

Par défaut, SpIDer Guard est fourni avec un module noyau compilé pour les OS qui ne fournissent pas le service fanotify. De plus, vous pouvez construire un module noyau chargeable manuellement en utilisant les codes source fournis dans une archive au format tar.bz2.

Le module LKM utilisé par SpIDer Guard est conçu pour fonctionner avec les noyaux GNU/Linux en version 2.6 * et supérieure.

L’utilisation de LKM n’est pas supportée pour les architectures ARM64 et E2K.

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é prend en charge les versions compilées des modules noyau inclus dans Dr.Web pour Linux. Si ce n’est pas le cas, un message vous invitant à créer manuellement le module s’affiche sur l’écran.

Si le répertoire spécifié drweb-spider-kmod est introuvable, installez le paquet drweb-spider-kmod.

Pour créer le module noyau chargeable manuellement d’après les codes source, il faut avoir les privilèges de super-utilisateur (root). 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.

Instruction d’assemblage du module noyau

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

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

décompresse les codes source dans le répertoire créé. Ce répertoire comporte le nom de l’archive et est créé au même endroit que celui où réside l’archive (notez que les privilèges de super-utilisateur sont requis pour écrire dans un répertoire contenant une archive).

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

# make

Si une erreur survient à l’étape make, réparez-la (voir ci-dessous) et relancez la compilation.

3.Une fois la commande make 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 non seulement le module noyau, mais aussi le mécanisme systeme fanotify. Pour en savoir plus, consultez la documentation man : drweb-spider(1).

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 le compilateur 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 paquet 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, utilisez la commande make avec le paramètre KDIR=<chemin vers les codes source de noyau>. D’habitude, les codes source sont situés dans le répertoire /usr/src/kernels/<version du noyau>.

Notez que la version du noyau remontée par la commande uname -r peut différer du nom de répertoire <version du noyau>.