Aller au contenu

Configuration du Secure Boot

Si vous utilisez GRUB, exécutez la commande suivante pour activer la prise en charge du Secure Boot sur GRUB en utilisant les clés CA.

Terminal window
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=cachyos --modules="tpm" --disable-shim-lock

Accéder au mode de configuration (Setup Mode) dans l’UEFI

Section intitulée « Accéder au mode de configuration (Setup Mode) dans l’UEFI »

Tout d’abord, nous devons aller dans les paramètres du firmware et régler le mode Secure Boot sur “Setup Mode”. Vous pouvez redémarrer depuis un système déjà en cours d’exécution vers les paramètres du firmware avec la commande suivante.

Terminal window
systemctl reboot --firmware-setup

Voici à quoi ressemble le BIOS sur un Lenovo Ideapad 5 Pro. Réinitialisez en mode configuration et redémarrez dans le système.

Cependant, certaines cartes mères MSI n’ont pas de mode de configuration. Pour obtenir le même effet, réglez le mode de démarrage (secure boot mode) sur « custom » (ceci est important car avec le mode par défaut vous risquez de ne pas pouvoir démarrer CachyOS via le chargeur d’amorçage !). Ensuite, accédez à la section « gestion des clés » et suivez les deux étapes illustrées dans l’image ci-dessous :


Certaines cartes mères Asus présentent un comportement similaire à celui des cartes mères MSI mentionnées ci-dessus, car elles ne disposent pas d’un mode de configuration dédié.

Accédez au Démarrage (Boot) → Démarrage sécurisé (Secure Boot), réglez le mode de démarrage sur Custom, puis ouvrez la gestion des clés (Key Management) et sélectionnez « Delete all Secure Boot variables ».

sbctl est un gestionnaire de clés de démarrage sécurisé et convivial, capable de configurer le démarrage sécurisé, offrant des fonctionnalités de gestion des clés et assurant le suivi des fichiers qui doivent être signés dans la chaîne de démarrage.

Ouvrez un terminal et exécutez la commande suivante
sudo pacman -S sbctl
  1. Vérifiez si le mode de configuration est activé :

    Terminal window
    sudo sbctl status
    Installed: sbctl is not installed
    Setup Mode: Enabled
    Secure Boot Disabled
  2. Créez vos clés de démarrage sécurisé personnalisées :

    Terminal window
    sudo sbctl create-keys
    Created Owner UUID a9fbbdb7-a05f-48d5-b63a-08c5df45ee70
    Creating secure boot keys...✔
    Secure boot keys created!
  3. Enregistrez vos clés avec les clés de Microsoft et micrologiciel FOE (OEM) :

    Terminal window
    sudo sbctl enroll-keys --microsoft --firmware-builtin
    Enrolling keys to EFI variables...✔
    Enrolled keys to the EFI variables!
  4. Vérifiez à nouveau l’état de sbctl pour vous assurer que les clés ont bien été enregistrées et que le mode de configuration est désactivé:

    Terminal window
    sudo sbctl status
    Installed: sbctl is installed
    Owner GUID: a9fbbdb7-a05f-48d5-b63a-08c5df45ee70
    Setup Mode: Disabled
    Secure Boot Disabled
    Vendor Keys: microsoft

Signature de l’image du noyau et du gestionnaire de démarrage

Section intitulée « Signature de l’image du noyau et du gestionnaire de démarrage »

Limine est un gestionnaire de démarrage spécial qui permet de vérifier le hachage des images du noyau et d’autres fichiers que Limine utilise au démarrage. Si cette option est activée, toute sorte de configuration manuelle effectuée par l’utilisateur, p. ex. la signature de l’image via sbctl-batch-sign, modifiera le hachage des fichiers correspondants et fera échouer la vérification de la somme de contrôle de Limine.

Cependant, la signature de ces fichiers n’est pas nécessaire avec Limine car il dispose d’un processus de démarrage spécial qui contourne le chaînage EFI et les vérifications de signature. Les seuls binaires EFI qui doivent être signés sont ceux de Limine lui-même.

Pour activer l’enregistrement automatique de la somme de contrôle de configuration, définissez ce qui suit dans /etc/default/limine :

Terminal window
ENABLE_ENROLL_LIMINE_CONFIG=yes

Généreration d’un hachage pour l’image d’accueil de Limine:

  1. Vérifiez le nom et le chemin d’accès actuels de l’image de démarrage dans le fichier de configuration :
    Ouvrez un terminal et exécutez la commande suivante:
    sudo cat /boot/limine.conf
    Vous devriez voir apparaître une ligne comme celle-ci :
    Terminal window
    wallpaper: boot():/limine-splash.png
  2. Générez un hachage BLAKE2B pour l’image d’accueil et ajoutez-le à la fin du chemin d’accès dans le fichier de configuration :
    Exécutez la commande suivante en remplaçant le chemin d'accès par celui que vous avez trouvé à l'étape précédente :
    sudo b2sum /boot/limine-splash.png
    Cela produira un hachage similaire à celui de l’exemple ci-dessous :
    Terminal window
    # Le code suivant est un exemple
    75205d08fa9c61599897857e861d6b2f6da25465183fc4cc9efecffb22ee630efb510f2ef1b17677db94c28d5c69ad2ceb4d3892f5bec9cfa65c97b5ba16f52f
  3. Après avoir copié le hachage nouvellement généré à l’étape précédente, ouvrez le fichier de configuration à l’aide d’un éditeur de texte (ex : sudo nano /boot/limine.conf CTRL + O pour sauvegarder, Entrée pour valider, CTRL + X pour fermer) et ajoutez le hachage à la fin du chemin d’accès de l’image d’accueil, comme suit :
    Terminal window
    wallpaper: boot():/limine-splash.png#75205d08fa9c61599897857e861d6b2f6da25465183fc4cc9efecffb22ee630efb510f2ef1b17677db94c28d5c69ad2ceb4d3892f5bec9cfa65c97b5ba16f52f
    Le hachage est ajouté à la fin du chemin d’accès à l’aide du symbole #. Enregistrez le fichier après avoir effectué cette modification.

Après avoir activé l’enregistrement de la somme de contrôle de configuration et généré le hachage de l’image de démarrage, exécutez les commandes suivantes pour enregistrer la somme de contrôle de configuration et signer le fichier binaire EFI de Limine :

Terminal window
# Utilisez limine-enroll-config pour enregistrer la somme de contrôle de configuration et signer le binaire EFI de Limine
# Ceci utilise sbctl en arrière-plan
sudo limine-enroll-config
sudo limine-update
# En cas de problème et malgré le fait que Limine possède un processus de démarrage différent, dans certains cas l'erreur "Secure Boot Violation - Invalid signature detected" peut survenir. Cela est possiblement dû à BOOTX64.EFI qui n'est pas signé :
sudo sbctl verify # Pour vérifier
sudo sbctl sign -s /boot/EFI/BOOT/BOOTX64.EFI # Pour signer BOOTX64.EFI

Maintenant que tous les fichiers sont signés. Redémarrez votre système et allez dans vos paramètres UEFI pour activer le Secure Boot.

Pour vérifier que le Secure Boot est bien activé, vous pouvez exécuter l’une des commandes suivantes :

Terminal window
sudo sbctl status
Installed: sbctl is installed
Owner GUID: a9fbbdb7-a05f-48d5-b63a-08c5df45ee70
Setup Mode: Disabled
Secure Boot: Enabled
Vendor Keys: microsoft
bootctl
System:
Firmware: UEFI 2.80 (INSYDE Corp. 28724.16435)
Firmware Arch: x64
Secure Boot: enabled (user)
TPM2 Support: yes
Measured UKI: no
Boot into FW: supported
  • Le Wiki Arch a servi de base à ce guide. La plupart des informations ici en ont été tirées.
  • sbctl - Ce guide facile pour activer le support du Secure Boot n’aurait pas été possible sans le travail incroyable accompli pour créer ce logiciel.
  • Improving the Secure Boot Experience by Morten linderud - Article de blog par Morten “Foxboron” Linderud sur la complexité de l’expérience Secure Boot avant sbctl.