À partir de ESXi 8.0 Update 1, vous pouvez configurer des sources d’entropie externes dans le fichier kickstart pour une installation scriptée.

Vous pouvez configurer ESXi dans un environnement hautement sécurisé pour consommer l'entropie à partir de sources d'entropie externes, telles qu'un module de sécurité matérielle (HSM), et s'aligner sur des normes telles que les critères communs BSI, EAL4 et NIST FIPS CMVP, à l'aide de la méthode d'installation basée sur script.

ESXi 8.0 Update 1 introduit un démon d'entropie, entropyd, qui crée un point de terminaison vAPI afin de fournir REST API pour interroger et envoyer des données d'entropie aux hôtes ESXi. Le démon d'entropie dispose de plusieurs paramètres configurables : in-memory-cache size, in-storage-cache size, in-memory-low watermark et entropy-lost-timeout. Les sources d'entropie internes et externes sont collectées dans le module entropy-mixer. Le démon d’entropie transfère les sources d’entropie du mélangeur vers le pool d’entropie du noyau.

Si vous n'avez pas besoin de sélectionner des sources d'entropie externes, vous n'avez rien à modifier dans vos scripts existants.

Vous pouvez configurer des sources d’entropie externes uniquement pour les nouvelles installations. Le démon d’entropie utilise les données d’entropie transmises lors de l’installation lors du premier démarrage.
Note : Vous ne pouvez pas utiliser d'autres méthodes (comme l'installation interactive, une image de cluster ou Auto Deploy) pour configurer des sources d'entropie externes. Vous ne pouvez pas activer la fonctionnalité sur un hôte ESXi existant .

Avant de mettre à jour le fichier kickstart, vous devez obtenir des données d'entropie binaire légitimes à partir d'une source externe telle que HSM et les enregistrer sous un fichier d'une taille comprise entre 512 Ko et 10 Mo (par exemple, entropy_data.dat). Vous codez ensuite le contenu du fichier entropy_data dans un format base64 valide pour créer un autre fichier (par exemple, entropy_data.b64).

Dans le fichier kickstart, vous fournissez les nouveaux paramètres suivants dans le cadre de la commande entropy :

  • data : données d'entropie codées en base64 à partir d'une source externe.
  • sources : cette valeur de masque de bits (0=default, 1=interrupts, 2=RDRAND, 4=RDSEED, 8=entropyd.) est défini dans les paramètres du noyau pendant l'installation. Si RDSEED est pris en charge, la valeur par défaut est Conformité FIPS. Sinon, la valeur par défaut est Toutes les sources d'entropie, sauf entropyd. Pour la conformité EAL4, 8 est la seule valeur requise, mais vous pouvez utiliser d'autres sources dans la plage décimale 0-15. Les valeurs source sont conservées en tant que paramètre de noyau lors de l'installation .
    Note : Si vous configurez un hôte ESXi avec des sources d'entropie externe uniquement, c'est-à-dire lorsque la valeur sources est définie sur  8, vous devez continuer à fournir l'entropie externe à l'hôte à l'aide de l'API d'entropie. Si l'entropie externe est épuisée dans l'hôte, celui-ci cesse de répondre et peut nécessiter un redémarrage matériel ou une réinstallation pour récupérer l'hôte à partir d'une telle situation.

Exemple de fichier kickstart avec les paramètres d'entropie :

vmaccepteula
rootpw xxxxxxxx 
entropy --sources=8 --data=xxxxxxx/xx/xxxxx/xx/xxxx...
install --firstdisk --overwritevmfs 
network --bootproto=dhcp
Figure 1. Workflow d’installation scripté pour l’ajout de sources d’entropie externes
Workflow d'installation basée sur un script pour l'ajout de sources d'entropie externes
Une fois l'installation terminée, vous pouvez vous connecter à l'hôte ESXi et définir certains paramètres pour le démon d'entropie à partir du shell à l'aide des commandes ESXCLI suivantes :

Commandes ESXCLI

1. Obtenir les commandes

## esxcli system entropyd get Description de la commande
1 <no argument> Obtenir les valeurs actuellement configurées et les valeurs par défaut de tous les paramètres entropyd.
2 --default-values Obtenir les valeurs par défaut

2 . Définir les commandes

## esxcli system entropyd set Description de la commande
1 --help Imprimer les détails de la commande « esxcli system entropyd set » et ses arguments.
2

--reset=all

--reset=memory-cache-size

--reset=memory-cache-low-watermark

--reset=storage-cache-size

--reset=external-entropy-lost-timeout

Réinitialisez un paramètre ou tous les paramètres à ses valeurs par défaut .
3 --memory-cache-size=<value in KiB> Définir la taille du cache de mémoire en Kio.
4 --memory-cache-low-watermark=<value in %> Définir un filigrane de cache de mémoire faible en pourcentage.
5 --storage-cache-size=<value in KiB> Définir la taille du cache de stockage en Kio.
6 --external-entropy-lost-timeout=<value in seconds> Définir le délai d'expiration de perte de l'entropie externe en secondes.

Exemple :

$ esxcli system entropyd set --external-entropy-lost-timeout=70 --memory-cache-low-watermark=30 --memory-cache-size=612 --storage-cache-size=5096
$ esxcli system entropyd get
External Entropy Lost Timeout Seconds: 70
Memory Cache Low Watermark Percentage: 30
Memory Cache Size Kibibytes: 612
Storage Cache Size Kibibytes: 5096
                
$ esxcli system entropyd get --default-values
External Entropy Lost Timeout Seconds: 60
Memory Cache Low Watermark Percentage: 20
Memory Cache Size Kibibytes: 512
Storage Cache Size Kibibytes: 4096

Lors de l'installation, le programme d'installation d'ESXi met à jour la valeur des sources d'entropie dans les paramètres du noyau afin qu'elle soit conservée dans ConfigStore après l'installation. Cette modification n'affecte pas le démarrage sécurisé des hôtes ESXi .

Pour plus d'informations, reportez-vous aux Guides de programmation des SDK vSphere Security et vSphere Automation.