Chapitre 3. Signer un noyau et des modules pour le démarrage sécurisé
Vous pouvez renforcer la sécurité de votre système en utilisant un noyau et des modules de noyau signés. Sur les systèmes de construction basés sur l'UEFI où Secure Boot est activé, vous pouvez signer vous-même un noyau ou des modules de noyau construits de manière privée. En outre, vous pouvez importer votre clé publique dans un système cible où vous souhaitez déployer votre noyau ou vos modules de noyau.
Si l'option Secure Boot est activée, tous les composants suivants doivent être signés à l'aide d'une clé privée et authentifiés à l'aide de la clé publique correspondante :
- Chargeur de démarrage du système d'exploitation UEFI
- Le noyau Red Hat Enterprise Linux
- Tous les modules du noyau
Si l'un de ces composants n'est pas signé et authentifié, le système ne peut pas terminer le processus de démarrage.
Red Hat Enterprise Linux 9 comprend :
- Chargeurs de démarrage signés
- Noyaux signés
- Modules signés du noyau
De plus, le chargeur de démarrage de première étape signé et le noyau signé incluent des clés publiques Red Hat intégrées. Ces binaires exécutables signés et ces clés intégrées permettent à Red Hat Enterprise Linux 9 de s'installer, de démarrer et de s'exécuter avec les clés de l'autorité de certification Microsoft UEFI Secure Boot qui sont fournies par le microprogramme UEFI sur les systèmes qui prennent en charge UEFI Secure Boot.
- Tous les systèmes basés sur l'UEFI ne prennent pas en charge le démarrage sécurisé.
- Le système de construction, dans lequel vous construisez et signez votre module de noyau, n'a pas besoin d'activer le Secure Boot UEFI ni même d'être un système basé sur l'UEFI.
3.1. Conditions préalables
Pour pouvoir signer les modules du noyau construits en externe, installez les utilitaires des paquets suivants :
# dnf install pesign openssl kernel-devel mokutil keyutils
Tableau 3.1. Services publics requis Utilité Fourni par paquet Utilisé le Objectif efikeygen
pesign
Système de construction
Génère des paires de clés X.509 publiques et privées
openssl
openssl
Système de construction
Exporte la clé privée non chiffrée
sign-file
kernel-devel
Système de construction
Fichier exécutable utilisé pour signer un module du noyau avec la clé privée
mokutil
mokutil
Système cible
Utilitaire facultatif utilisé pour enregistrer manuellement la clé publique
keyctl
keyutils
Système cible
Utilitaire facultatif utilisé pour afficher les clés publiques dans le trousseau de clés du système