Quel que soit le fournisseur de clés utilisé, avec le chiffrement des machines virtuelles vSphere, vous pouvez créer des machines virtuelles chiffrées et chiffrer des machines virtuelles existantes. Étant donné que tous les fichiers de machine virtuelle contenant des informations sensibles sont chiffrés, la machine virtuelle est protégée. Seuls les administrateurs disposant de privilèges de chiffrement peuvent effectuer des tâches de chiffrement et de déchiffrement.

Éléments pris en charge par le chiffrement des machines virtuelles vSphere

Le chiffrement des machines virtuelles vSphere fonctionne avec n'importe quel type de stockage pris en charge (NFS, iSCSI, Fibre Channel, stockage directement raccordé, etc.), y compris VMware vSAN. Pour plus d'informations sur l'utilisation du chiffrement sur un cluster vSAN, consultez la documentation Administration de VMware vSAN.

Le chiffrement des machines virtuelles vSphere et vSAN utilisent les mêmes bibliothèques de chiffrement, mais elles ont des profils différents. Le chiffrement des machines virtuelles est un chiffrement au niveau de la machine virtuelle et vSAN est un chiffrement au niveau de la banque de données.

Clés de chiffrement et fournisseurs de clés vSphere

vSphere utilise deux niveaux de chiffrement sous la forme d'une clé de chiffrement de clés (KEK) et d'une clé de chiffrement des données (DEK). Brièvement, un hôte ESXi génère une clé DEK pour chiffrer les machines virtuelles et les disques. La clé KEK est fournie par un serveur de clés et chiffre (ou « encapsule ») la clé DEK. La clé KEK est chiffrée à l'aide de l'algorithme AES256 et la clé DEK est chiffrée à l'aide de l'algorithme XTS-AES-256. Selon le type de fournisseur de clés, différentes méthodes sont utilisées pour créer et gérer les clés DEK et KEK.

Le fournisseur de clés standard fonctionne comme suit.
  1. L'hôte ESXi génère et utilise des clés internes pour chiffrer des machines virtuelles et des disques. Ces clés sont utilisées comme clés DEK.
  2. vCenter Server demande les clés au serveur de clés (KMS). Ces clés sont utilisées comme clés KEK. vCenter Server stocke uniquement l'identifiant de chaque KEK et non la clé elle-même.
  3. ESXi utilise la clé KEK pour chiffrer les clés internes et stocke la clé interne chiffrée sur le disque. ESXi ne stocke pas la clé KEK sur le disque. Lorsqu'un hôte redémarre, vCenter Server demande la clé KEK avec l'ID correspondant au serveur de clés et la met à la disposition du produit ESXi. ESXi peut alors déchiffrer les clés internes si nécessaire.

Le fournisseur de clés approuvé Autorité d'approbation vSphere fonctionne comme suit.

  1. L'instance de vCenter Server du cluster approuvé vérifie si le fournisseur de clés approuvé par défaut est accessible à l'hôte ESXi sur lequel la machine virtuelle chiffrée doit être créée.
  2. L'instance de vCenter Server du cluster approuvé ajoute le fournisseur de clés approuvé à la machine virtuelle ConfigSpec.
  3. La demande de création de la machine virtuelle est envoyée à l'hôte ESXi.
  4. Si un jeton d'attestation n'est pas déjà disponible pour l'hôte ESXi, il en demande un à partir du service d'attestation.
  5. Le service de fournisseur de clés valide le jeton d'attestation et crée une KEK à envoyer à l'hôte ESXi. La clé KEK est encapsulée (chiffrée) avec la clé principale qui est configurée sur le fournisseur de clés. Les deux types de texte chiffré KEK et de texte brut KEK sont renvoyés à l'hôte approuvé.
  6. L'hôte ESXi génère une clé DEK pour chiffrer les disques de la machine virtuelle.
  7. La clé KEK est utilisé pour encapsuler les DEK générés par l'hôte ESXi et le texte chiffré du fournisseur de clés est stocké avec les données chiffrées.
  8. La machine virtuelle est chiffrée et écrite dans le stockage.
Note : Si vous supprimez ou annulez l'enregistrement d'une machine virtuelle chiffrée, le cluster et l'hôte ESXi suppriment la clé KEK du cache. L'hôte ESXi ne peut plus utiliser la clé KEK. Ce comportement est le même pour les fournisseurs de clés standard et les fournisseurs de clés approuvés.

vSphere Native Key Provider fonctionne comme suit.

  1. Lorsque vous créez le fournisseur de clés, vCenter Server génère une clé principale et la transmet aux hôtes ESXi du cluster. (Aucun serveur de clés externe n'est impliqué.)
  2. Les hôtes ESXi génèrent une clé DEK à la demande.
  3. Lorsque vous effectuez une activité de chiffrement, les données sont chiffrées avec la clé DEK.

    Les clés DEK chiffrées sont stockées avec les données chiffrées.

  4. Lorsque vous déchiffrez des données, la clé principale est utilisée pour déchiffrer la clé DEK, puis les données.

Éléments chiffrés

Le chiffrement de machine virtuelle vSphere prend en charge le chiffrement des fichiers de machine virtuelle, les fichiers de disque virtuel et les fichiers de vidage de mémoire.
Fichiers de machine virtuelle
La plupart des fichiers de machine virtuelle, notamment les données invitées qui ne sont pas stockées dans le fichier VMDK, sont chiffrés. Cet ensemble de fichiers inclut les fichiers NVRAM, VSWP et VMSN, sans se limiter à ceux-ci. La clé provenant du fournisseur de clés déverrouille un bundle chiffré dans le fichier VMX qui contient des clés internes et d'autres secrets. La récupération de la clé fonctionne comme suit, selon le fournisseur de clés :
  • Fournisseur de clés standard : vCenter Server gère les clés depuis le serveur de clés et les hôtes ESXi ne peuvent pas accéder directement au fournisseur de clés. Les hôtes attendent que vCenter Server transmette les clés.
  • Fournisseur de clés approuvé et vSphere Native Key Provider : les hôtes ESXi accèdent directement aux fournisseurs de clés et récupèrent donc les clés demandées directement depuis le service Autorité d'approbation vSphere ou le vSphere Native Key Provider.
Lorsque vous utilisez vSphere Client pour créer une machine virtuelle chiffrée, vous pouvez chiffrer et déchiffrer des disques virtuels distincts à partir des fichiers de machine virtuelle. Tous les disques virtuels sont chiffrés par défaut. Pour d'autres tâches de chiffrement, comme le chiffrement d'une machine virtuelle existante, vous pouvez chiffrer et déchiffrer des disques virtuels distincts des fichiers de machine virtuelle.
Note : Vous ne pouvez pas associer un disque virtuel chiffré à une machine virtuelle qui n'est pas chiffrée.
Fichiers de disque virtuel
Les données se trouvant dans un fichier de disque virtuel (VMDK) chiffré ne sont jamais écrites en texte clair dans le stockage ou le disque physique, et elles ne sont jamais transmises sur le réseau en texte clair. Le fichier descripteur VMDK est principalement en texte clair, mais il contient un ID de clé pour la clé KEK et la clé interne (DEK) dans le bundle chiffré.
Vous pouvez utiliser vSphere API pour effectuer une opération de rechiffrement de premier niveau avec une nouvelle clé KEK ou une opération de rechiffrement approfondi avec une nouvelle clé interne.
Vidages de mémoire
Les vidages de mémoire sur un hôte ESXi pour lequel le mode de chiffrement est activé sont toujours chiffrés. Reportez-vous à la section Chiffrement de machines virtuelles vSphere et vidages mémoire. Les vidages de mémoire sur le système vCenter Server ne sont pas chiffrés. Protégez l'accès au système vCenter Server.
Note : Pour plus d'informations sur certaines des limites relatives aux dispositifs et aux fonctionnalités avec lesquels le chiffrement de machine virtuelle vSphere peut interagir, reportez-vous à la section Interopérabilité du chiffrement des machines virtuelles.

Éléments non chiffrés

Certains des fichiers associés à une machine virtuelle ne sont pas chiffrés ou sont partiellement chiffrés.
Fichiers de journalisation
Les fichiers de journalisation ne sont pas chiffrés, car ils ne contiennent pas de données sensibles.
Fichiers de configuration de la machine virtuelle
La plupart des informations de configuration de machine virtuelle stockées dans les fichiers VMX et VMSD ne sont pas chiffrées.
Fichier descripteur du disque virtuel
Pour permettre la gestion de disque sans clé, la plus grande partie du fichier descripteur du disque virtuel n'est pas chiffrée.

Personnes habilitées à effectuer des opérations cryptographiques

Seuls les utilisateurs auxquels des privilèges d'opérations cryptographiques ont été attribués peuvent effectuer des opérations de chiffrement. L'ensemble de privilèges est détaillé. Le rôle d'administrateur système par défaut possède tous les privilèges d'opérations cryptographiques. Le rôle d'administrateur sans droits de chiffrement prend en charge tous les privilèges d'administrateur à l'exception des privilèges Opérations de chiffrement.

En plus d'utiliser les privilèges Cryptographer.*, vSphere Native Key Provider peut utiliser le privilège Cryptographer.ReadKeyServersInfo, qui est spécifique à vSphere Native Key Provider.

Consultez Privilèges d'opérations de chiffrement pour plus d'informations.

Vous pouvez créer des rôles personnalisés supplémentaires, par exemple pour autoriser un groupe d'utilisateurs à chiffrer des machines virtuelles tout en les empêchant de déchiffrer des machines virtuelles.

Méthodologie pour effectuer des opérations cryptographiques

vSphere Client prend en charge de nombreuses opérations cryptographiques. Pour d'autres tâches, vous pouvez utiliser vSphere API.

Tableau 1. Interfaces pour l'exécution d'opérations cryptographiques
Interface Opérations Informations
vSphere Client Créer une machine virtuelle chiffrée

Chiffrer et déchiffrer des machines virtuelles

Ce document
PowerCLI Créer une machine virtuelle chiffrée

Chiffrer et déchiffrer des machines virtuelles

Configurer Autorité d'approbation vSphere

Référence des applets de commande VMware PowerCLI
vSphere Web Services SDK Créer une machine virtuelle chiffrée

Chiffrer et déchiffrer des machines virtuelles

Effectuer un rechiffrement approfondi d'une machine virtuelle (utilisez une clé DEK différente)

Effectuer un rechiffrement de premier niveau d'une machine virtuelle (utilisez une clé KEK différente)

Guide de programmation de vSphere Web Services SDK

Référence de l'API vSphere Web Services

crypto-util Déchiffrer les vidages de mémoire chiffrés

Vérifier si les fichiers sont chiffrés ou non

Effectuer d'autres tâches de gestion directement sur l'hôte ESXi

Aide relative à la ligne de commande

Chiffrement de machines virtuelles vSphere et vidages mémoire

Rechiffrement des machines virtuelles

Vous pouvez recrypter une machine virtuelle avec de nouvelles clés, par exemple, au cas où une clé expire ou serait compromise. Les options suivantes sont disponibles.

  • Un rechiffrement approfondi, qui remplace à la fois la clé de chiffrement de disque (DEK) et la clé de chiffrement de clé (KEK)
  • Un rechiffrement superficiel qui remplace uniquement la clé KEK

Vous devez effectuer un rechiffrement d'une machine virtuelle à l'aide de l'API. Reportez-vous à la section Guide de programmation de vSphere Web Services SDK.

Un rechiffrement approfondi nécessite que la machine virtuelle soit mise hors tension et ne contienne aucun snapshot. Vous pouvez effectuer une opération de rechiffrement superficielle alors que la machine virtuelle est sous tension et si des snapshots sont présents sur la machine virtuelle. Le rechiffrement superficiel d'une machine virtuelle chiffrée avec des snapshots n'est autorisé que sur une seule branche de snapshot (chaîne de disques). Plusieurs branches de snapshot ne sont pas prises en charge. De plus, le rechiffrement superficiel n'est pas pris en charge sur un clone lié d'une machine virtuelle ou d'un disque. Si le rechiffrement superficiel échoue avant la mise à jour de tous les liens de la chaîne avec la nouvelle clé KEK, vous pouvez toujours accéder à la machine virtuelle chiffrée si vous disposez de l'ancienne et de la nouvelle clé KEK. Cependant, il est préférable d'émettre une nouvelle opération de rechiffrement superficiel avant d'effectuer des opérations de snapshot.