Installation et signature de modules de noyau personnalisés sur SLES 15 Secure Boot

Un pilote tiers sur SUSE Linux Enterprise Server 15 peut se compiler correctement mais ne pas se charger avec l'erreur « Clé requise non disponible » ou « Clé rejetée par le service ». Lorsque le démarrage sécurisé UEFI exige la signature des modules, la solution consiste à signer le module noyau personnalisé avec un certificat de confiance, à enregistrer ce certificat via la gestion des clés du propriétaire de la machine (MOK), puis à charger le module normalement, sans désactiver le démarrage sécurisé.

Cette procédure suppose un système SLES 15 UEFI standard utilisant SUSE shim, un kernel-defaultnoyau, des droits d'administrateur et une source fiable pour votre pilote. Elle traite .kodes modules personnalisés, mais pas de la signature d'un noyau de remplacement ni de la modification des clés de plateforme du firmware. Les exemples suivent le modèle d'administration SLES 15 SP6/SP7 ; vérifiez les différences de paquets et de noyaux selon votre Service Pack installé.

1. Vérifiez d'abord le démarrage sécurisé et le noyau en cours d'exécution.

Connectez-vous avec des droits d'administrateur et identifiez le noyau que vous avez effectivement démarré. Un nom de paquet correspondant ne prouve pas à lui seul qu'un module peut être chargé dans ce noyau.

uname -r
mokutil --sb-state
ls -ld "/lib/modules/$(uname -r)/build"
Terminal affichant uname -r, l'état du démarrage sécurisé mokutil et une vérification du répertoire de compilation du noyau en cours d'exécution
Vérifiez la version du noyau actif et l'état du démarrage sécurisé avant d'installer ou de signer un pilote.

Si mokutille démarrage sécurisé est activé, une signature non approuvée est une explication probable de l'échec de chargement lié aux clés. S'il est désactivé, recherchez d'autres causes avant de générer des clés ; l'application explicite des signatures du noyau peut également avoir une incidence. Consultez le journal du noyau après un échec de chargement pour obtenir le message de rejet exact.

sudo journalctl -k -b --no-pager | tail -n 50

Vérifiez le module candidat avant de l'installer. Remplacez l'exemple par le nom de fichier réel ; celui-ci vermagicdoit correspondre à la version du noyau en cours d'exécution et aux propriétés de compilation compatibles.

modinfo -F name /path/to/mydriver.ko
modinfo -F vermagic /path/to/mydriver.ko
Terminal affichant un exemple de liste modinfo pour un pilote de noyau externe et un chemin d'accès à un outil de signature de noyau
Examinez les métadonnées du module, en particulier Vermagic, au lieu de supposer que n'importe quel fichier .ko correspondra à SLES 15.

2. Utilisez un package de pilotes pris en charge ou créez un module correspondant

Commencez par demander au fournisseur du matériel ou du logiciel un package de module noyau (KMP) compatible SLES et déjà signé. Cette solution est préférable à l'installation manuelle d'un fichier binaire : le fournisseur peut proposer la gestion des mises à jour du noyau et une procédure d'enregistrement de certificat documentée. La signature du fournisseur n'est pas automatiquement approuvée sur toutes les machines compatibles avec le démarrage sécurisé.

Si vous devez compiler le pilote, installez les fichiers de développement correspondant à votre noyau. kernel-defaultLes paquets SLES standard incluent généralement le paquet de développement du noyau par défaut, les fichiers de développement du noyau et les outils de compilation. La disponibilité des dépôts et les versions dépendent de l'enregistrement et des modules SLES activés.

sudo zypper install gcc make openssl mokutil kernel-devel kernel-default-devel
rpm -q kernel-default-devel kernel-devel
readlink -f "/lib/modules/$(uname -r)/build"
Terminal de type SLES affichant une installation zypper des prérequis de développement et de signature du noyau
Installez les paquets de développement du noyau et les outils cryptographiques correspondants avant de travailler avec un module personnalisé.

Si le répertoire de compilation est manquant ou si le paquet de développement cible une version de noyau différente, corrigez d'abord l'incompatibilité entre le paquet et le noyau. Un noyau nouvellement installé peut nécessiter un redémarrage contrôlé avant la compilation.

À partir du répertoire source du pilote de confiance, suivez les instructions de compilation du fournisseur. Pour les modules classiques basés sur kbuild, la commande ci-dessous effectue une compilation avec le noyau en cours d'exécution ; elle ne télécharge ni ne crée de pilote.

cd /path/to/driver-source
make -C "/lib/modules/$(uname -r)/build" M="$PWD" modules
Terminal affichant la commande kbuild make compilant un module noyau externe sur le noyau SLES en cours d'exécution
Utilisez l'arborescence de compilation du noyau et le répertoire source du pilote pour produire un fichier .ko correspondant.

Évitez la compilation si vous disposez déjà d'une version compatible .koprovenant d'un fournisseur de confiance. Ne forcez jamais le chargement d'un module avec une signature incorrectevermagic ; une signature ne peut pas réparer un binaire incompatible.

3. Créez la clé de signature et signez le module installé

Générez une clé RSA dédiée et un certificat X.509 dans un répertoire réservé à l'utilisateur root. Le certificat public sera enregistré ; la clé privée doit rester protégée car quiconque la contrôle peut signer des modules supplémentaires auxquels cette machine pourrait faire confiance.

sudo -i
umask 077
mkdir -p /root/module-signing
cd /root/module-signing
openssl req -new -x509 -newkey rsa:3072 -sha256 -days 3650 -nodes \
  -subj "/CN=SLES Custom Module Signing/" \
  -keyout MOK.priv -out MOK.pem
openssl x509 -in MOK.pem -outform DER -out MOK.der
chmod 600 MOK.priv
Terminal affichant une commande OpenSSL créant une clé privée RSA locale et un certificat de signature de module X.509
Générez une paire de clés de signature de module distincte et limitez l'accès à la clé privée à l'administrateur.

-nodesCet exemple simple génère une clé privée non chiffrée ; pour un processus de signature en production, utilisez une clé chiffrée correctement protégée ou un service de signature externe conforme à votre politique de sécurité. La durée de validité de dix ans indiquée ici est donnée à titre indicatif et ne constitue pas une recommandation quant à la durée de vie des certificats au sein d'une organisation.

Copiez le module finalisé dans le répertoire des modules du noyau en cours d'exécution. Signez le fichier installé après toute modification (empaquetage, suppression de code superflu, etc.). Remplacez `<module>` mydriveret son chemin par le nom de base et l'emplacement réels du module.

install -D -m 0644 /path/to/mydriver.ko \
  "/lib/modules/$(uname -r)/extra/mydriver.ko"
SIGN_FILE="$(readlink -f /lib/modules/$(uname -r)/build)/scripts/sign-file"
test -x "$SIGN_FILE" || echo "Locate the sign-file binary for this kernel"
"$SIGN_FILE" sha256 /root/module-signing/MOK.priv \
  /root/module-signing/MOK.der \
  "/lib/modules/$(uname -r)/extra/mydriver.ko"
modinfo -F signer "/lib/modules/$(uname -r)/extra/mydriver.ko"
Terminal affichant un exemple d'invocation de fichier de signature et une inspection du signataire modinfo pour un module noyau
Appliquez la signature au fichier .ko installé et inspectez son champ de signature avant de le charger.

Si sign-filel'outil est absent à cet emplacement, recherchez celui fourni avec vos fichiers de compilation du noyau plutôt que de copier une version non compatible. La présence d'un signataire indique que le fichier contient des métadonnées de signature ; cela ne prouve pas que le signataire a été enregistré. Ne supprimez ni ne modifiez jamais le module après sa signature.

4. Enregistrez le certificat public à l'aide de MOK.

Importez le certificat public au format DER (et non le certificat standard MOK.priv) et définissez le mot de passe d'inscription unique demandé mokutil. Configurez l'accès à la console avant de redémarrer ; l'autorisation s'effectue dans l'interface MokManager au démarrage, et non dans un shell SSH.

mokutil --import /root/module-signing/MOK.der
mokutil --list-new
reboot
Menu de démarrage bleu de type MokManager avec l'option « Enregistrer la clé MOK » mise en évidence par rapport aux autres options de clé propriétaire de la machine.
Dans le menu de démarrage UEFI, sélectionnez « Enregistrer MOK » et confirmez l’inscription du certificat demandée.

Au prochain démarrage, sélectionnez « Enregistrer MOK » , suivez les instructions de confirmation, saisissez le mot de passe à usage unique et poursuivez le démarrage. L’apparence du menu dépend de la version du firmware et du shim. Si vous retournez sous Linux sans confirmer l’enregistrement, le nouveau certificat ne sera pas considéré comme fiable.

Après le démarrage, vérifiez que le certificat spécifique est bien enregistré :

sudo mokutil --test-key /root/module-signing/MOK.der
sudo mokutil --list-enrolled

5. Chargez le module signé et isolez les erreurs restantes.

Met à jour les métadonnées des dépendances du module et charge ce dernier par son nom, et non par son chemin d'accès complet. modprobeRésout les dépendances et respecte la configuration standard des modules.

sudo depmod -a
sudo modprobe mydriver
lsmod | grep -w mydriver
modinfo -F signer mydriver
Terminal affichant les commandes modprobe, lsmod et kernel-log utilisées pour vérifier un module signé
Vérifiez que le module signé figure bien dans la liste des modules chargés et consultez le journal du noyau pour détecter d'éventuelles erreurs.

Si le chargement échoue toujours, choisissez l'action corrective qui correspond aux éléments de preuve :

  • Clé rejetée ou clé requise indisponible : relancezmokutil --test-key ; vérifiez que le fichier installé est bien celui qui est signé et vérifiez si une mise à jour du pilote l’a remplacé.
  • Format de module invalide : comparez modinfo -F vermagicavec uname -r, reconstruisez pour le noyau actif et vérifiez l’architecture du processeur.
  • Symbole inconnu ou dépendance manquante : inspectez journalctl -k -bles modules requis par le fournisseur et l’ABI du noyau ; une autre signature ne corrigera pas les symboles manquants.

Pour les pilotes de stockage ou réseau critiques au démarrage, effectuez d'abord des tests sur un système hors production et assurez-vous qu'une console de récupération est disponible. Configurez le chargement automatique uniquement lorsque le pilote fonctionne de manière fiable ; consultez la documentation SUSE /etc/modules-load.d/pour les modules qui ne se chargent pas automatiquement lors de la détection du périphérique.

Vérifiez le résultat après un redémarrage

Redémarrez une nouvelle fois pendant votre fenêtre de maintenance si le chargement persistant est important. Vérifiez que le démarrage sécurisé est toujours activé, que la clé publique est enregistrée, que le module est présent et que le noyau ne signale aucune nouvelle erreur de vérification ou de compatibilité. Recompilez ou réinstallez et signez la version mise à jour .koaprès les mises à niveau du noyau ou des pilotes du fournisseur.

mokutil --sb-state
sudo mokutil --test-key /root/module-signing/MOK.der
modinfo -F signer mydriver
lsmod | grep -w mydriver
sudo journalctl -k -b --no-pager | tail -n 30

Documentation principale : SUSE SLES 15 SP6 : UEFI et clés de propriétaire de la machine ; SUSE : Gestion des modules du noyau ; Noyau Linux : Fonctionnalité de signature des modules ; Noyau Linux : Compilation de modules externes . Le guide d’administration de SLES 15 SP6 a été mis à jour le 17 septembre 2026 ; le comportement des commandes pour les installateurs de pilotes tiers et les distributions de noyau non standard doit être vérifié auprès de leurs responsables.

Laisser un commentaire

Que planter à Chicago en octobre 2026 : un guide de jardinage semaine par semaine

Que planter à Chicago en octobre 2026 : un guide de jardinage semaine par semaine

Préparez votre jardin d'octobre à Chicago grâce aux conseils d'Illinois Extension sur l'ail, les bulbes, les herbes aromatiques d'intérieur, les micro-pousses, la protection contre le gel et une liste de contrôle semaine par semaine, en utilisant les normales climatiques séparément des prévisions en direct.

La Journée nationale d'inscription sur les listes électorales 2026, c'est aujourd'hui : comment s'inscrire ou vérifier son statut

La Journée nationale d'inscription sur les listes électorales 2026, c'est aujourd'hui : comment s'inscrire ou vérifier son statut

La Journée nationale d'inscription sur les listes électorales est le 15 septembre 2026. Apprenez comment vous inscrire en ligne, par courrier ou en personne et vérifiez votre statut d'électeur.

Référencement TikTok en 2026 : Comment positionner ses vidéos dans les résultats de recherche sans bourrage de mots-clés

Référencement TikTok en 2026 : Comment positionner ses vidéos dans les résultats de recherche sans bourrage de mots-clés

Découvrez un flux de travail SEO TikTok pratique pour 2026 : trouvez la demande de recherche réelle, correspondez à l’intention de recherche, optimisez chaque vidéo et mesurez ce qui améliore la visibilité.

Échec du chargement du module de démarrage SLES : Trouvez le pilote et corrigez-le

Échec du chargement du module de démarrage SLES : Trouvez le pilote et corrigez-le

Identifiez un module noyau défaillant au démarrage de SLES, corrigez une entrée de démarrage obsolète ou réparez le pilote requis, puis vérifiez le prochain démarrage.

S’adapter aux changements d’algorithmes des réseaux sociaux en 2026 : ce qui est confirmé, ce qui est contextuel et ce qui reste inconnu

S’adapter aux changements d’algorithmes des réseaux sociaux en 2026 : ce qui est confirmé, ce qui est contextuel et ce qui reste inconnu

Découvrez ce que les principales plateformes sociales ont réellement confirmé concernant les changements de classement en 2026, ce qui dépend du contexte et comment s'adapter sans se laisser griser par les mythes.

Pourquoi la création de communautés est le nouveau marketing — et quand elle ne l'est pas

Pourquoi la création de communautés est le nouveau marketing — et quand elle ne l'est pas

La création d'une communauté peut renforcer la confiance, la fidélisation, les retours d'information et la recommandation, mais elle ne remplace pas tous les canaux marketing. Comparez les avantages et les inconvénients et choisissez le modèle le plus adapté.

Stratégies de marketing par courriel pour réussir au quatrième trimestre : priorités, tests et compromis

Stratégies de marketing par courriel pour réussir au quatrième trimestre : priorités, tests et compromis

Élaborez une stratégie e-mail plus intelligente pour le quatrième trimestre en équilibrant la portée, la fréquence, les remises, l'automatisation, la délivrabilité et la mesure pour une croissance rentable pendant les fêtes.

Le storytelling authentique en marketing de marque : comment instaurer la confiance sans paraître réciter un texte appris par cœur

Le storytelling authentique en marketing de marque : comment instaurer la confiance sans paraître réciter un texte appris par cœur

Apprenez à rendre le storytelling de marque crédible, humain et spécifique, en utilisant des preuves, une tension réelle, des témoignages clients éthiques et une vérification d'authenticité pratique.

Comment créer des vidéos courtes qui convertissent : un cadre pratique

Comment créer des vidéos courtes qui convertissent : un cadre pratique

Apprenez à créer des vidéos courtes et performantes en équilibrant les éléments accrocheurs, le format, l'authenticité, l'appel à l'action, l'adéquation à la plateforme et les tests sur TikTok, Reels et Shorts.

Le passage des influenceurs aux consommateurs d'opinion clés (KOC) : ce que les marques doivent savoir en 2026

Le passage des influenceurs aux consommateurs d'opinion clés (KOC) : ce que les marques doivent savoir en 2026

Pourquoi les marques testent-elles les KOC (Cookies of America) au lieu de s'appuyer uniquement sur les influenceurs ? Découvrez ce que sont les KOC, pourquoi le commerce social les privilégie, les idées reçues les plus courantes et comment mener un projet pilote mesurable.