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.
- 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.
- 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.
- 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.
- 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.
- L'instance de vCenter Server du cluster approuvé ajoute le fournisseur de clés approuvé à la machine virtuelle ConfigSpec.
- La demande de création de la machine virtuelle est envoyée à l'hôte ESXi.
- 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.
- 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é.
- L'hôte ESXi génère une clé DEK pour chiffrer les disques de la machine virtuelle.
- 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.
- La machine virtuelle est chiffrée et écrite dans le stockage.
vSphere Native Key Provider fonctionne comme suit.
- 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é.)
- Les hôtes ESXi génèrent une clé DEK à la demande.
- 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.
- 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
- 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.
- 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é.
- 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.
Éléments non chiffrés
- Fichiers de journalisation
- Les fichiers de journalisation ne sont pas chiffrés, car ils ne contiennent pas de données sensibles.
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.
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.