Instances protégées

Les instances protégées renforcent la sécurité du microprogramme sur les hôtes Bare Metal et les machines virtuelles, et offrent une protection contre les logiciels malveillants à l'étape d'initialisation.

Fonctionnement des instances protégées

Les instances protégées combinent l'initialisation sécurisée, l'initialisation mesurée et le module de plate-forme sécurisée pour renforcer la sécurité du microprogramme sur les instances.

Systèmes d'exploitation de type Linux et UNIX

  • L'initialisation sécurisée et le module de plate-forme sécurisée sont disponibles sur toutes les instances Bare Metal et de machine virtuelle prises en charge.
  • L'initialisation mesurée est uniquement disponible sur les instances de machine virtuelle. Si vous souhaitez utiliser l'initialisation mesurée sur une instance Bare Metal, vous pouvez avoir recours à une solution open source.
  • Sur les instances Bare Metal, vous pouvez activer l'initialisation sécurisée et le module de plate-forme sécurisée ensemble ou séparément.
  • Sur les instances de machine virtuelle, vous pouvez activer les éléments suivants :
    • Initialisation sécurisée uniquement.
    • TPM et Measure Boot ensemble.
    • Initialisation sécurisée avec initialisation TPM et mesure.

Systèmes d'exploitation Windows

  • Pour les formes de machine virtuelle, l'initialisation sécurisée, l'initialisation mesurée et le module de plate-forme sécurisée doivent être utilisés ensemble. Par conséquent, lorsque vous activez l'une de ces trois fonctionnalités, les deux autres sont également activées.
  • Les instances protégées prennent en charge Windows Defender Credential Guard en cas d'exécution de l'une des versions de système d'exploitation suivantes : Windows Server 2016 ou Windows Server 2019.

Initialisation sécurisée

L'initialisation sécurisée est une fonctionnalité UEFI (Unified Extensible Firmware Interface) qui empêche l'initialisation des systèmes d'exploitation et des programmes de chargement d'initialisation non autorisés. Préalablement à l'initialisation, l'initialisation sécurisée vérifie la signature du microprogramme signé pour empêcher tout rootkit, bootkit ou logiciel non autorisé de s'exécuter avant le chargement du système d'exploitation. Les composants d'initialisation qui ne sont pas correctement signés ne peuvent pas s'exécuter.

Les rootkits sont des malwares de bas niveau qui s'exécutent en mode noyau. Les bootkits remplacent le programme de chargement d'initialisation du système. L'initialisation du système s'effectue alors avec le bootkit au lieu du programme de chargement d'initialisation. Les rootkits et les bootkits disposent des mêmes privilèges que le système d'exploitation et peuvent capturer des fonctions telles que la frappe et les connexions locales. Ils peuvent utiliser ces informations pour effectuer des transferts de fichiers non autorisés et compromettre le système d'exploitation.

Initialisation mesurée

L'initialisation mesurée est complémentaire à l'initialisation sécurisée. Pour garantir une sécurité optimale, activez l'initialisation mesurée et l'initialisation sécurisée.

L'initialisation sécurisée vérifie que chaque composant du processus d'initialisation possède une signature figurant dans la liste des signatures valides. Les composants signés peuvent imbriquer des signatures supplémentaires pour fournir une chaîne d'acceptation. L'initialisation mesurée vous permet d'effectuer le suivi des mesures d'initialisation afin de savoir de quel microprogramme vous disposez et à quel moment il est modifié. Lorsque des composants sont mis à jour ou reconfigurés (par exemple, lors d'une mise à jour du système d'exploitation), les mesures pertinentes changent. En outre, certaines de ces mesures sont influencées par la forme et la taille de l'instance. Bien qu'il soit possible de comparer ces mesures à un ensemble de mesures connues, OCI ne génère ni n'enregistre aucune mesure connue pour le moment. Toutefois, les mesures peuvent être utilisées pour attester que le microprogramme UEFI OVMF n'a pas changé depuis le déploiement de l'instance. Cela est particulièrement utile car les certificats qui créent la racine d'acceptation pour l'initialisation sécurisée UEFI sont contenus dans le microprogramme UEFI OVMF. Ces mesures sont reflétées dans les registres de configuration de plate-forme 0 et 2, qui sont actuellement les seuls registres à déclencher un changement de couleur du bouclier.

L'initialisation mesurée renforce la sécurité de l'initialisation en stockant les mesures des composants d'initialisation, comme les programmes de chargement d'initialisation, les pilotes et les systèmes d'exploitation. La première fois que vous initialisez une instance protégée, l'initialisation mesurée utilise les mesures initiales pour créer des valeurs de référence. Ces valeurs de référence sont utilisées en tant que mesures de référence.

Une fois les mesures initiales effectuées, lors de chaque initialisation du système, les nouvelles données d'initialisation sont comparées aux mesures de référence pour vérifier qu'il n'existe pas de différence. La comparaison des mesures garantit que le système d'exploitation démarre à partir d'un environnement de préinitialisation propre. L'initialisation mesurée utilise un module de plate-forme sécurisée pour stocker les mesures en toute sécurité.

Module de plate-forme sécurisée

Le module de plate-forme sécurisée est une puce de sécurité spécialisée utilisée par l'initialisation mesurée pour stocker les mesures d'initialisation.

Les mesures prises par l'initialisation mesurée sont stockées dans des registres de configuration de plate-forme au sein du module de plate-forme sécurisée. Un registre de configuration de plate-forme est un emplacement de mémoire dans le module de plate-forme sécurisée, utilisé pour contenir une valeur qui récapitule tous les résultats de mesure qui lui ont été présentés, dans l'ordre dans lequel ils ont été présentés. Windows Defender Credential Guard utilise le module de plate-forme sécurisée pour protéger les clés de cryptage de sécurité basée sur la virtualisation.

Formes et images prises en charge

Formes prises en charge

Vous pouvez utiliser les formes suivantes pour créer des instances protégées :

Remarque

  • Sur les systèmes d'exploitation de type UNIX et Linux, l'initialisation mesurée est disponible uniquement sur les instances de machine virtuelle.
  • Les instances protégées utilisant Windows Server 2019 ne prennent pas en charge les formes BM.Standard2.52 et BM.DenseIO2.52.
  • Credential Guard n'est pas pris en charge pour les formes Bare Metal.
  • Série VM.Standard2
  • VM.Standard3.Flex
  • VM.Standard.E3.Flex
  • VM.Standard.E4.Flex
  • VM.Optimized3.Flex
  • BM.Standard2.52
  • BM.Standard.E3.128
  • BM.DenseIO2.52
Images de plate-forme prises en charge

Les instances protégées sont prises en charge sur les images de plate-forme suivantes :

  • Oracle Linux 7.x
  • Oracle Linux 8.x
  • CentOS 7.x
  • Ubuntu 18.04
  • Ubuntu 20.04
  • Windows Server 2016 (machines virtuelles uniquement)
  • Windows Server 2019 (machines virtuelles uniquement)

Limites et remarques

Tenez compte des informations suivantes :

  • Les instances protégées ne prennent pas en charge la migration en direct et la migration au redémarrage. Pour plus d'informations, reportez-vous à Migration d'instances protégées.
  • Si vous activez le module de plate-forme sécurisée matériel sur une instance Bare Metal, celle-ci ne peut pas être migrée, car le module de plate-forme sécurisée matériel n'est pas migrable.
  • Les images personnalisées ne sont pas prises en charge.
  • Le calcul confidentiel n'est pas pris en charge.
  • La mise à jour des bases de données de signatures interdites (DBX) sur les instances de machine virtuelle protégées n'est pas prise en charge. Une base de données DBX gère une base de données d'initialisation sécurisée des signatures dont l'exécution sur la plate-forme n'est pas autorisée. L'application de mises à jour de DBX sur une instance de machine virtuelle protégée peut empêcher l'initialisation de l'instance. Pour mettre à jour la base de données DBX, créez une instance de machine virtuelle protégée avec une image qui inclut les mises à jour de DBX.
  • Lorsque vous mettez fin à une instance, toutes les clés de propriétaire de machine (MOK) sont supprimées. Si vous avez utilisé un noyau signé par une clé MOK pour l'initialisation et que l'instance a pris fin, lorsque vous créez une instance avec l'initialisation sécurisée, vous devez utiliser un noyau initialisé à partir d'une clé de base de données sécurisée UEFI standard. Après l'initialisation de l'instance, ajoutez les clés de propriétaire de machine, puis procédez au redémarrage dans le noyau signé par la clé MOK.
  • Lorsque vous créez une instance protégée avec Linux 7.x, puis que vous redémarrez l'instance, les valeurs du registre de configuration de plate-forme peuvent changer, ce qui entraîne l'affichage du bouclier rouge. Reportez-vous à Les valeurs du registre de configuration de plate-forme changent après le redémarrage sous Linux 7.x.
  • Lorsque vous modifiez une instance protégée, seul son nom peut être modifié. Vous ne pouvez pas modifier la forme de l'instance après son lancement, ni les paramètres de migration.

Utilisation d'instances protégées

Lorsque vous créez une instance, vous indiquez si elle est éclatable.

Procédure de création d'une instance protégée
Procédure d'activation de Windows Defender Credential Guard
Procédure de modification d'une instance protégée
Procédure d'arrêt d'une instance protégée

Utilisation des mesures de référence

L'initialisation mesurée renforce la sécurité de l'initialisation en stockant les mesures des composants d'initialisation, comme les programmes de chargement d'initialisation, les pilotes et les systèmes d'exploitation. Une fois les mesures initiales effectuées, lors de chaque initialisation du système, les nouvelles données d'initialisation sont comparées aux mesures de référence pour vérifier qu'il n'existe pas de différence. Les mesures de référence servent de valeurs de référence.

Téléchargement des valeurs de registre de configuration de plate-forme

Vous pouvez télécharger les mesures de référence et les valeurs de registre de configuration de plate-forme de votre instance. Le registre de configuration de plate-forme est un emplacement de mémoire dans le module de plate-forme sécurisée. Il stocke les mesures de référence.

Procédure de téléchargement des valeurs de registre de configuration de plate-forme
  1. Ouvrez le menu de navigation et cliquez sur Compute. Sous Compute, cliquez sur Instances.
  2. Cliquez sur l'instance qui vous intéresse.
  3. Sur la page Détails de l'instance, ouvrez l'onglet Instance protégée.
  4. Sous Registre de configuration de plate-forme, cliquez sur Copier les valeurs du registre de configuration de plate-forme. Les valeurs du registre de configuration de plate-forme sont copiées dans le presse-papiers. Collez-les dans le fichier de votre choix.

Réinitialisation des valeurs de référence

Si vous mettez à jour votre système d'exploitation, vous devrez peut-être créer des mesures de référence. Suivez ces étapes pour réinitialiser les mesures de référence d'une instance.

Procédure de réinitialisation des mesures de référence
  1. Ouvrez le menu de navigation et cliquez sur Compute. Sous Compute, cliquez sur Instances.
  2. Cliquez sur l'instance qui vous intéresse.
  3. Sur la page Détails de l'instance, ouvrez l'onglet Instance protégée.
  4. Sous Registre de configuration de plate-forme, cliquez sur Réinitialiser les mesures de référence. Confirmez lorsque vous y êtes invité.

Migration d'instances protégées

Pour obtenir des informations générales sur la migration d'instance, reportez-vous à Live, Reboot, and Manual Migration : Moving a Compute Instance to a New Host. Lorsque l'instance est migrée vers un nouveau matériel, les clés d'initialisation sécurisée et les mesures d'initialisation sont reprises sur la nouvelle instance.

Remarque

Vous ne pouvez pas migrer une instance non protégée vers une instance protégée.

Les instances protégées sont soumises aux restrictions suivantes en matière de migration.

Instances de machine virtuelle

  • Les instances protégées ne prennent pas en charge la migration en direct et la migration au redémarrage. Si vous devez migrer une instance protégée, vous devez procéder manuellement.
  • Si vous avez modifié les variables d'initialisation sécurisée UEFI, la migration risque de ne pas être possible car les modifications ne sont pas conservées lors de cette opération.
  • Si vous migrez une instance de machine virtuelle utilisant le module de plate-forme sécurisée, les données de ce dernier ne sont pas conservées pendant la migration. La nouvelle instance aura de nouvelles valeurs de registre de configuration de plate-forme.
  • Si Windows Defender Credential Guard est activé, la migration d'instance n'est pas prise en charge.

Instances Bare Metal

  • Les instances protégées ne prennent pas en charge la migration en direct et la migration au redémarrage. Si vous devez migrer une instance protégée, vous devez procéder manuellement.
  • Si vous avez modifié les variables d'initialisation sécurisée UEFI, la migration risque de ne pas être possible car les modifications ne sont pas conservées lors de cette opération.
  • Si vous activez le module de plate-forme sécurisée matériel sur une instance Bare Metal, celle-ci ne peut pas être migrée, car le module de plate-forme sécurisée matériel n'est pas migrable.
  • Si vous stockez vos propres clés secrètes dans un module de plate-forme sécurisée physique sur une instance Bare Metal, Oracle Cloud Infrastructure ne dispose d'aucune copie des données du module de plate-forme sécurisée. Après avoir migré l'instance et l'avoir redémarrée à partir d'un état Arrêté, vous devez réinitialiser le logiciel pour qu'il fonctionne avec le nouveau module de plate-forme sécurisée physique.

Résolution des échecs de validation

Si la validation de l'initialisation sécurisée échoue, vous ne pouvez pas accéder via le protocole SSH à l'instance ou l'instance ne démarre pas. Si la validation de l'initialisation mesurée échoue, la page Détails de l'instance affiche un bouclier rouge.

En cas d'échec de l'initialisation sécurisée, vous trouverez peut-être plus de détails sur la cause de l'échec dans les données de la console série. Pour résoudre les échecs, ne mettez pas fin à l'instance. Notez l'OCID de l'instance et capturez les fichiers journaux de la console série.

Une fois l'initialisation réussie, un message semblable au suivant s'affiche dans les données de l'historique de la console :

SB_EVENT: { "Secure_Boot_Overall_Status" : 0, "status" : "Pass", "msg" : "SB_Event on Exit Boot Services" }

Si l'initialisation sécurisée est activée et que la signature du microprogramme signé n'est pas correcte, l'instance ne démarre pas. Si l'initialisation sécurisée échoue car l'image n'est pas signée ou n'est pas valide, un message semblable au suivant apparaît dans les données de l'historique de la console :

SB_EVENT: { "status": "Fail", "msg": "The EFI executable failed to load.
It's not signed, or the signature (or hash) did not match entries in DB", "EFI_Image_Type" : "FromOpROM", "EFI_Image_Path":
 
"PciRoot(0x0)/Pci(0x2,0x0)/Offset(0x10A00,0x245FF)",
 
"SB_Variable_Match" : "NO_CERT_MATCH" }

Si l'initialisation sécurisée échoue car un noyau non pris en charge a été chargé, choisissez un noyau pris en charge et réessayez. Si un noyau non pris en charge a été chargé, vous ne pouvez pas accéder via le protocole SSH à l'instance et un message semblable au suivant apparaît dans les données de l'historique de la console :

SB_EVENT: { "status": "Pass", "msg": "The EFI executable loaded successfully", "EFI_Image_Type" : "FromFixedMedia", "EFI_Image_Path" : "PciRoot(0x0)/Pci(0x12,0x7)/Pci(0x0 ... 2000)//EFI/redhat/shimx64.efi", "SB_Variable_Match" : "DB_CERT_MATCH", "CertSubject" : "Microsoft Corporation UEFI CA 2011", "ImageDigest" : "DD35B574D149AA48E3611FFCC336ACD76FDE79AD817B081FE5CC093789B92E90" }
error:
../../grub-core/loader/i386/efi/linux.c:215:(hd0,gpt2)/vmlinuz-5.14.0-1.el8uek.
rc2.x86_64 has invalid signature.
error: ../../grub-core/loader/i386/efi/linux.c:94:you need to load the kernel
first.

Si vous avez activé l'initialisation mesurée et que la séquence d'initialisation n'est pas correcte, l'instance est initialisée, mais un bouclier rouge apparaît sur la page Détails de l'instance. Si vous avez activé l'initialisation mesurée et que de nouvelles valeurs de registre de configuration de plate-forme ont été ajoutées, l'instance est initialisée et un bouclier jaune apparaît sur la page Détails de l'instance. Si l'initialisation mesurée échoue alors que les valeurs de registre de configuration de plate-forme sont correctes ou si de nouvelles valeurs ont été ajoutées, vous pouvez réinitialiser les mesures de référence.