A partir de ESXi 8.0 Update 1, es posible configurar orígenes de entropía externos en el archivo de inicio de una instalación generada por script.

Puede configurar ESXi en un entorno de alta seguridad para consumir entropía de orígenes de entropía externos, como un módulo de seguridad de hardware (Hardware Security Module, HSM), y alinearse con estándares como BSI Common Criteria, EAL4 y NIST FIPS CMVP, mediante el método de instalación por script.

ESXi 8.0 Update 1 introduce un daemon de entropía, entropyd, que crea un endpoint de vAPI para proporcionar una REST API que consulte y envíe datos de entropía a hosts ESXi. El daemon de entropía tiene varios parámetros configurables: in-memory-cache size, in-storage-cache size, in-memory-low watermark y entropy-lost-timeout. Los orígenes de entropía, tanto internos como externos, se recopilan en el módulo de mezclador de entropía. El daemon de entropía reenvía los orígenes de entropía desde el mezclador al grupo de entropía del kernel.

Si no necesita seleccionar orígenes de entropía externos, no habrá que cambiar nada en los scripts actuales.

Solo se pueden configurar orígenes de entropía externos para instalaciones nuevas. El daemon de entropía utiliza datos de entropía transmitidos durante la instalación en el primer arranque.
Nota: No se puede utilizar ningún otro método, como la instalación interactiva, una imagen de clúster o Auto Deploy, para configurar orígenes de entropía externos. No se puede habilitar la función en un host ESXi existente .

Antes de actualizar el archivo de inicio, debe obtener datos de entropía binarios legítimos a partir de un origen externo, como HSM y guardarlos como un archivo cuyo tamaño esté comprendido entre 512 KB y 10 MB; por ejemplo, entropy_data.dat. A continuación, debe codificar el contenido del archivo entropy_data en un formato base64 válido para crear otro archivo; por ejemplo, entropy_data.b64.

En el archivo de inicio, se proporcionan los siguientes parámetros nuevos como parte del comando entropy:

  • data: los datos de entropía con codificación Base64 procedentes de un origen externo.
  • 2: este valor de máscara de bits (=default 4, =interrupts 8, =RDRAND sources, 0=RDSEED, 1=entropyd). se establece en la configuración del kernel durante la instalación. Si se admite RDSEED, el valor predeterminado es la conformidad con FIPS. De lo contrario, el valor predeterminado son todos los orígenes de entropía, excepto entropyd. Para la conformidad de EAL4, 8 es el único valor necesario, pero se pueden utilizar otros orígenes del rango decimal 0-15. Los valores de origen se conservan como configuración de kernel durante la instalación.
    Nota: Si configura un host ESXi solo con orígenes de entropía externa, es decir, cuando el valor de sources se establece en 8, debe seguir proporcionando entropía externa al host mediante la API de entropía. Si se agota la entropía externa en el host, el host deja de responder y puede requerir un reinicio completo o una reinstalación para recuperarlo de dicha situación.

Un archivo de inicio de ejemplo con parámetros de entropía:

vmaccepteula
rootpw xxxxxxxx 
entropy --sources=8 --data=xxxxxxx/xx/xxxxx/xx/xxxx...
install --firstdisk --overwritevmfs 
network --bootproto=dhcp
Figura 1. Flujo de trabajo de instalación generado por script para agregar orígenes de entropía externos
Flujo de trabajo de instalación generado por script para agregar orígenes de entropía externos
Una vez que finalice la instalación, podrá iniciar sesión en el host ESXi y definir algunos parámetros para el daemon de entropía desde el shell mediante los siguientes comandos ESXCLI:

Comandos ESXCLI

1. Obtener comandos

## esxcli system entropyd get Descripción del comando
1 <no argument> Obtenga los valores predeterminados y configurados actualmente de todos los parámetros de entropyd
2 --default-values Obtener valores predeterminados

2. Establecer comandos

## esxcli system entropyd set Descripción del comando
1 --help Imprima los detalles del comando "esxcli system entropyd set" y sus argumentos.
2

--reset=all

--reset=memory-cache-size

--reset=memory-cache-low-watermark

--reset=storage-cache-size

--reset=external-entropy-lost-timeout

Restablezca un parámetro o todos los parámetros a sus valores predeterminados .
3 --memory-cache-size=<value in KiB> Establezca el tamaño de la memoria caché en KiB.
4 --memory-cache-low-watermark=<value in %> Establezca la marca de agua baja de la memoria caché en porcentaje.
5 --storage-cache-size=<value in KiB> Establezca el tamaño de la memoria caché de almacenamiento en KiB.
6 --external-entropy-lost-timeout=<value in seconds> Establezca el tiempo de espera perdido de entropía externa en segundos.

Ejemplo:

$ 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

Durante la instalación, el instalador de ESXi actualiza el valor de los orígenes de entropía en la configuración del kernel para que persista en ConfigStore después de la instalación. Este cambio no afecta al arranque seguro de los hosts ESXi.

Para obtener más información, consulte las guías Seguridad de vSphere y Programación de vSphere Automation SDK.