Remarque :
- Ce tutoriel nécessite l'accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction à Oracle Cloud Infrastructure Free Tier.
- Il utilise des exemples de valeur pour les informations d'identification Oracle Cloud Infrastructure, la location et les compartiments. A la fin de votre atelier, remplacez ces valeurs par celles propres à votre environnement cloud.
Utilisation de mokutil pour mettre à jour les clés de signature pour l'initialisation sécurisée UEFI
Ce tutoriel explique comment utiliser l'utilitaire Machine Owner Key (MOK) pour gérer les certificats utilisés pour l'initialisation sécurisée UEFI sur Oracle Linux.
Pour obtenir un arrière-plan détaillé sur l'initialisation sécurisée et ses mécanismes, reportez-vous à la section Oracle Linux : Working With UEFI Secure Boot.
Introduction
La fonction Machine Owner Key (MOK) est utilisée pour les tâches suivantes :
- Mettez à jour la base de données de clés d'initialisation sécurisée UEFI.
- Importer les clés utilisées pour signer des modules de noyau tiers ou personnalisés afin qu'ils puissent se charger en mode d'initialisation sécurisé UEFI.
Les clés d'inscription dans la base de données de clés UEFI Secure Boot sont gérées de deux manières :
-
Inscrivez le hachage pour un binaire de noyau particulier. Cette méthode limite l'utilisation d'un certificat uniquement à un binaire de noyau signé spécifique et constitue donc un moyen sûr de prévenir toute exploitation potentielle. Cependant, son inconvénient est que vous devez effectuer cette tâche pour chaque création ou mise à jour de noyau.
-
Inscrivez le certificat utilisé pour signer le noyau et les packages associés. Etant donné que le certificat s'applique à tout noyau qui utilise ce certificat, cette méthode peut être moins répétitive que l'inscription par hachage. Il facilite les tâches telles que la restauration vers plusieurs versions antérieures d'un noyau qui utilise ce certificat. Cependant, son inconvénient est qu'il ouvre le risque que le système exécute un package vulnérable ou un binaire de noyau.
Objectifs
A la fin de ce tutoriel, vous pourrez :
- Installez les utilitaires MOK et
pesign
. - Inscrire des clés selon la méthode de hachage ou de certificat.
Avertissement : des problèmes existent lors de l'utilisation de l'utilitaire MOK avec UEK R3. Si vous utilisez ce noyau, ne poursuivez pas ce tutoriel.
Prérequis
- Système exécutant au moins Oracle Linux 7 Update 3.
- Le microprogramme prend en charge la fonction d'initialisation sécurisée.
- Accès physique au système.
- Le microprogramme système et la configuration prennent en charge l'utilitaire. Si vous n'êtes pas sûr du microprogramme, ne poursuivez pas ce tutoriel.
Installation des packages mokutil
et pesign
Exécutez l'une des commandes suivantes en fonction du système Oracle Linux :
-
Sur un système Oracle Linux 8 :
sudo dnf install mokutil pesign
-
Sur un système Oracle Linux 7 :
sudo yum install mokutil pesign yum-utils
Inscription de hachages à la base de données de clés UEFI Secure Boot
Cette méthode d'inscription se compose de deux tâches :
- Extrayez un hachage complété d'un binaire de noyau signé spécifique.
- Importez le hachage dans la liste MOK pour permettre au noyau de se charger au moment de l'initialisation.
Les deux tâches peuvent être effectuées à l'aide d'une seule commande qui utilise à la fois les commandes mokutil
et pesign
.
-
A l'aide de
/boot/vmlinuz-4.18.0-193.el8.x86_64
comme exemple, saisissez la commande suivante :sudo mokutil --import-hash $(pesign -P -h -i /boot/vmlinuz-4.18.0-193.el8.x86_64 | cut -f 2 -d ' ')
-
Saisissez et confirmez le mot de passe de la demande d'inscription MOK.
Utilisez n'importe quel mot de passe à cette fin, mais notez le mot de passe que vous utilisez. Vous serez invité à le saisir au redémarrage du système.
-
Réinitialisez le système pour terminer l'inscription.
-
Lorsque vous y êtes invité, entrez le mot de passe que vous avez défini lors de l'importation du hachage.
Inscription des certificats à la base de données de clés UEFI Secure Boot
-
Téléchargez le package source du noyau.
Le package source contient les clés de certificat utilisées pour signer chaque noyau et shim. Un package source de noyau peut être
kernel
pour le noyau RHCK oukernel-uek
pour Unbreakable Enterprise Kernel.Exécutez l'une des commandes suivantes en fonction du système Oracle Linux :
-
Sur un système Oracle Linux 8, cette commande télécharge le dernier package source de
kernel
oukernel-uek
.sudo dnf download --source kernel|kernel-uek
-
Sur le système Oracle Linux 7, la commande
yumdownloader
vous permet de télécharger des versions de package source de noyau spécifiques dont vous avez besoin, par exemple,kernel-uek-4.14.35-1902.303.4.1.el7uek
oukernel-2.6.32-754.2.1.el6.x86_64
.Type :
sudo yumdownloader --source <kernel-version>|<kernel-uek-version>
-
-
Extrayez le package source pour accéder au certificat de validation étendue (EV) du package, par exemple :
sudo rpm2cpio ./kernel-uek*.rpm | cpio -idmv
-
Saisissez et confirmez le mot de passe de la demande d'inscription MOK.
Utilisez n'importe quel mot de passe à cette fin, mais notez le mot de passe que vous utilisez. Vous serez invité à le saisir au redémarrage du système.
Remarque : n'importez pas le certificat CA,
securebootca.cer
, inclus dans les packages source. L'importation du certificat CA permet à tout noyau qui utilise un certificat signé par la même autorité de certification de charger et de rendre l'initialisation sécurisée UEFI inefficace. -
Réinitialisez le système pour terminer l'inscription.
-
Lorsque vous y êtes invité, saisissez le mot de passe que vous avez défini lors de l'importation du certificat.
Le certificat est ajouté à la liste MOK et est automatiquement propagé à l'anneau de clés système sur cette initialisation, ainsi qu'aux initialisations suivantes.
Suivez ces étapes pour télécharger plusieurs versions de chaque package source, extraire les certificats de chaque package et les importer dans la base de données UEFI Secure Boot selon vos besoins. Pour déterminer les versions de package dont vous avez besoin pour différentes versions minimales du noyau, reportez-vous à la section Use the Oracle Linux UEFI Secure Boot Update Notices.
Informations supplémentaires
- Oracle Linux : Utilisation de l'initialisation sécurisée UEFI
- Documentation Oracle Linux
- Versions d'Oracle Linux et d'Unbreakable Enterprise Kernel (UEK)
- mokutil(1) page de manuel
- page de manuel pesign(1)
- commande
pesign --help
Ressources de formation supplémentaires
Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à davantage de contenu de formation gratuit sur le canal Oracle Learning YouTube. En outre, accédez à education.oracle.com/learning-explorer pour devenir explorateur Oracle Learning.
Pour consulter la documentation du produit, consultez Oracle Help Center.
Use mokutil to Update Signature Keys for UEFI Secure Boot
F55289-01
March 2022
Copyright © 2020, Oracle and/or its affiliates.