View a markdown version of this page

Démarrage sécurisé UEFI activé AL2023 - Amazon Linux 2023

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Démarrage sécurisé UEFI activé AL2023

L'AL2023 prend en charge le démarrage sécurisé UEFI à partir de la version 2023.1. Vous devez utiliser AL2023 avec des instances Amazon EC2 qui prennent en charge à la fois UEFI et UEFI Secure Boot. Pour plus d'informations, consultez la section Exigences relatives au lancement d'une instance Amazon EC2 en mode de démarrage UEFI dans le guide de l'utilisateur Amazon EC2.

AL2023 les instances pour lesquelles le démarrage sécurisé UEFI est activé n'acceptent que le code au niveau du noyau, y compris le noyau Linux ainsi que les modules, qui sont signés par. Vous pouvez Amazon donc vous assurer que votre instance n'exécute que des codes au niveau du noyau signés par. AWS

Pour plus d'informations sur les instances Amazon EC2 et le démarrage sécurisé UEFI, consultez la section Démarrage sécurisé UEFI pour les instances Amazon EC2 dans le guide de l'utilisateur Amazon EC2.

Conditions préalables

Activer le démarrage sécurisé UEFI sur AL2023

Le standard AL2023 AMIs intègre un bootloader et un noyau signé par nos clés. Vous pouvez activer le démarrage sécurisé UEFI en inscrivant des instances existantes ou en les créant AMIs avec UEFI Secure Boot préactivé en enregistrant une image à partir d'un instantané. Le démarrage sécurisé UEFI n'est pas activé par défaut dans la norme. AL2023 AMIs

Le mode de démarrage de AL2023 AMIs est défini de manière à garantir uefi-preferred que les instances lancées avec ces derniers AMIs utiliseront le microprogramme UEFI, si le type d'instance prend en charge l'UEFI. Si le type d'instance ne prend pas en charge UEFI, l'instance est lancée avec le microprogramme BIOS hérité. Lorsqu'une instance est lancée en mode BIOS hérité, UEFI Secure Boot n'est pas appliqué.

Pour plus d'informations sur les modes de démarrage AMI sur les instances Amazon EC2, consultez Comportement de lancement des instances avec les modes de démarrage Amazon EC2 dans le guide de l'utilisateur Amazon EC2.

Inscription d'une instance existante

Pour inscrire une instance existante, renseignez les variables de microprogramme UEFI spécifiques avec un jeu de clés qui permettent au microprogramme de vérifier le chargeur de démarrage et à ce dernier de vérifier le noyau lors du prochain démarrage.

  1. Amazon Linux fournit un outil pour simplifier le processus d'inscription. Exécutez la commande suivante pour mettre en service l'instance avec le jeu de clés et les certificats nécessaires.

    sudo amazon-linux-sb enroll
  2. Exécutez la commande suivante pour redémarrer l'instance. Une fois l'instance redémarrée, UEFI Secure Boot est activé.

    sudo reboot
Note

Amazon Linux ne prend AMIs actuellement pas en charge le module Nitro Trusted Platform (NitroTPM). Si vous avez besoin de NitroTPM en plus d'UEFI Secure Boot, utilisez les informations de la section suivante.

Enregistrement d'une image à partir d'un instantané

Lorsque vous enregistrez une AMI à partir d'un instantané d'un volume racine Amazon EBS à l'aide de l'API Amazon EC2 register-image, vous pouvez configurer l'AMI avec un blob binaire contenant l'état du magasin de variables UEFI. En fournissant le AL2023 UefiData, vous activez le démarrage sécurisé UEFI et vous n'avez pas besoin de suivre les étapes de la section précédente.

Pour plus d'informations sur la création et l'utilisation d'un blob binaire, consultez la section Création d'un blob binaire contenant un magasin de variables prérempli dans le guide de l'utilisateur Amazon EC2.

AL2023 fournit un blob binaire prédéfini qui peut être utilisé directement sur les instances Amazon EC2. Le blob binaire se trouve dans /usr/share/amazon-linux-sb-keys/uefi.vars sur une instance en cours d'exécution. Ce blob est fourni par le package amazon-linux-sb-keys RPM qui est installé par défaut à AL2023 AMIs partir de la version 2023.1.

Note

Pour vous assurer que vous utilisez la dernière version des clés et des révocations, utilisez le blob de la même version que celle AL2023 que vous avez utilisée pour créer l'AMI.

Lors de l'enregistrement d'une image, nous vous recommandons d'utiliser le paramètre BootMode de l'API RegisterImage défini sur uefi. Cela vous permet d'activer NitroTPM en définissant le paramètre TpmSupport sur v2.0. En outre, définir BootMode sur uefi garantit que UEFI Secure Boot est activé et ne peut pas être désactivé par accident lors du passage à un type d'instance qui ne prend pas en charge UEFI.

Pour plus d'informations sur NitroTPM, consultez NitroTPM pour les instances Amazon EC2 dans le guide de l'utilisateur Amazon EC2.

Mises à jour de révocation

Il est parfois nécessaire qu'Amazon Linux distribue une nouvelle version du chargeur de démarrage grub2 ou du noyau Linux signée avec des clés mises à jour. Dans ce cas, il peut être nécessaire de révoquer l'ancienne clé pour éviter que des bogues exploitables provenant des versions précédentes du chargeur de démarrage ne contournent le processus de vérification d'UEFI Secure Boot.

Les mises à jour du package vers les packages grub2 ou kernel mettent toujours à jour automatiquement la liste des révocations dans le magasin de variables UEFI de l'instance en cours d'exécution. Cela signifie que quand UEFI Secure Boot est activé, vous ne pouvez plus exécuter l'ancienne version d'un package après avoir installé une mise à jour de sécurité pour le package.

Comment fonctionne le démarrage sécurisé UEFI AL2023

Contrairement aux autres distributions Linux, Amazon Linux ne fournit pas de composant supplémentaire, appelé shim, servant de premier chargeur de démarrage. Le shim est généralement signé avec des clés Microsoft. Par exemple, sur les distributions Linux avec le shim, celui-ci charge le chargeur de démarrage grub2 qui utilise le propre code du shim pour vérifier le noyau Linux. En outre, le shim conserve son propre jeu de clés et de révocations dans la base de données MOK (Machine Owner Key) située dans le magasin de variables UEFI et contrôlée par l'outil mokutil.

Amazon Linux ne fournit pas de shim. Étant donné que le propriétaire de l'AMI contrôle les variables UEFI, cette étape intermédiaire n'est pas nécessaire et aurait une incidence négative sur les temps de lancement et de démarrage. Nous avons également choisi de ne pas inclure la confiance envers les clés des fournisseurs par défaut, afin de réduire le risque d'exécution de fichiers binaires indésirables. Comme toujours, les clients peuvent inclure des fichiers binaires s'ils le souhaitent.

Avec Amazon Linux, UEFI charge et vérifie directement notre chargeur de démarrage grub2. Le chargeur de démarrage grub2 a été modifié pour utiliser UEFI afin de vérifier le noyau Linux après son chargement. Ainsi, le noyau Linux est vérifié à l'aide des mêmes certificats stockés dans la variable db UEFI normale (base de données de clés autorisées) et testé par rapport à la même variable dbx (base de données de révocations) que le chargeur de démarrage et les autres fichiers binaires UEFI. Étant donné que nous fournissons nos propres clés PK et KEK, qui contrôlent l'accès à la base de données db et à la base de données dbx, nous pouvons distribuer des mises à jour et des révocations signées selon les besoins sans passer par un intermédiaire comme le shim.

Pour plus d'informations sur le démarrage sécurisé UEFI, consultez Comment fonctionne le démarrage sécurisé UEFI avec les instances Amazon EC2 dans le guide de l'utilisateur Amazon EC2.

Inscription de vos propres clés

Comme indiqué dans la section précédente, Amazon Linux n'a pas besoin d'un shim pour UEFI Secure Boot sur Amazon EC2. Lorsque vous lisez la documentation d'autres distributions Linux, vous trouverez peut-être de la documentation sur la gestion de la base de données MOK (Machine Owner Key)mokutil, qui n'est pas présente sur AL2023. Les environnements de shim et de MOK contournent certaines limites relatives à l'inscription des clés dans le microprogramme UEFI qui ne s'appliquent pas à la manière dont Amazon EC2 implémente UEFI Secure Boot. Amazon EC2 propose des mécanismes permettant de manipuler facilement et directement les clés dans le magasin de variables UEFI.

Si vous souhaitez inscrire vos propres clés, vous pouvez le faire soit en manipulant le magasin de variables au sein d'une instance existante (voir Ajouter des clés au magasin de variables depuis l'instance), soit en créant un blob binaire prérempli (voir Création d'un blob binaire contenant un magasin de variables prérempli).