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.
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
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.