Ab ESXi 8.0 Update 1 können Sie externe Entropiequellen in der Kickstart-Datei für die Skriptinstallation konfigurieren.

Sie können ESXi in einer Hochsicherheitsumgebung so konfigurieren, dass Entropie aus externen Entropiequellen wie einem HSM (Hardware Security Module) verbraucht und unter Verwendung der skriptbasierten Installationsmethode ein Abgleich mit Standards wie BSI Common Criteria, EAL4 und NIST FIPS CMVP durchgeführt wird.

In ESXi 8.0 Update 1 wird der Entropie-Daemon entropyd eingeführt, der einen vAPI-Endpoint erstellt, um die REST API zum Abfragen und Senden von Entropiedaten an ESXi-Hosts bereitzustellen. Der Entropie-Daemon verfügt über mehrere konfigurierbare Parameter: in-memory-cache size, in-storage-cache size, in-memory-low watermark und entropy-lost-timeout. Interne und externe Entropiequellen werden im Entropie-Mixer-Modul erfasst. Der Entropie-Daemon leitet Entropiequellen über den Mixer an den Entropie-Pool des Kernels weiter.

Wenn keine externen Entropiequellen ausgewählt werden müssen, sind in den vorhandenen Skripts auch keine Änderungen erforderlich.

Sie können externe Entropiequellen nur für neue Installationen konfigurieren. Der Entropie-Daemon verwendet Entropiedaten, die während der Installation beim ersten Start übergeben werden.
Hinweis: Andere Methoden wie interaktive Installation, ein Cluster-Image oder Auto Deploy können nicht verwendet werden, um externe Entropiequellen zu konfigurieren. Sie können die Funktion auf einem vorhandenen ESXi-Host nicht aktivieren.

Bevor Sie die Kickstart-Datei aktualisieren, müssen Sie legitime binäre Entropiedaten aus einer externen Quelle wie HSM abrufen und diese als Datei mit einer Größe zwischen 512 KB und 10 MB speichern, wie z. B. entropy_data.dat. Anschließend codieren Sie den Inhalt der Datei entropy_data in einem gültigen Base64-Format, um eine weitere Datei zu erstellen, wie z. B. entropy_data.b64.

Geben Sie in der Kickstart-Datei die folgenden neuen Parameter als Teil des Befehls entropy an:

  • data – die Base64-codierten Entropiedaten aus einer externen Quelle.
  • sources – Dieser Bitmaskenwert (0=default, 1=interrupts, 2=RDRAND, 4=RDSEED, 8=entropyd.) wird während der Installation in den Kernel-Einstellungen festgelegt. Wenn RDSEED unterstützt wird, lautet die Standardeinstellung FIPS-Konformität. Andernfalls sind die Standardeinstellung alle Entropiequellen außer entropyd. Für EAL4-Übereinstimmung ist nur der Wert 8 erforderlich. Sie können jedoch andere Quellen im Dezimalbereich 0-15 verwenden. Quellwerte werden während der Installation als Kernel-Einstellung beibehalten.
    Hinweis: Wenn Sie einen ESXi-Host nur mit externen Entropiequellen konfigurieren und der Wert für sources auf 8 festgelegt ist, müssen Sie weiterhin externe Entropie für den Host mithilfe der Entropie-API bereitstellen. Wenn die externe Entropie auf dem Host ausgeschöpft ist, reagiert der Host nicht mehr und erfordert möglicherweise einen harten Neustart oder eine erneute Installation, um den Host aus einer solchen Situation wiederherzustellen.

Ein Beispiel-Kickstart mit den Entropieparametern:

vmaccepteula
rootpw xxxxxxxx 
entropy --sources=8 --data=xxxxxxx/xx/xxxxx/xx/xxxx...
install --firstdisk --overwritevmfs 
network --bootproto=dhcp
Abbildung 1. Skriptinstallations-Workflow zum Hinzufügen externer Entropiequellen
Skriptinstallations-Workflow zum Hinzufügen externer Entropiequellen
Nach Abschluss der Installation können Sie sich beim ESXi-Host anmelden und bestimmte Parameter für den Entropie-Daemon über die Shell mithilfe der folgenden ESXCLI-Befehle definieren:

ESXCLI-Befehle

1. Abrufen von Befehlen

## esxcli system entropyd get Befehlsbeschreibung
1 <no argument> Aktuell konfigurierte Werte sowie Standardwerte aller entropyd-Parameter abrufen
2 --default-values Standardwerte abrufen

2. Festlegen von Befehlen

## esxcli system entropyd set Befehlsbeschreibung
1 --help Details des Befehls „esxcli system entropyd set“ und zugehörige Argumente drucken
2

--reset=all

--reset=memory-cache-size

--reset=memory-cache-low-watermark

--reset=storage-cache-size

--reset=external-entropy-lost-timeout

Einen oder alle Parameter auf die Standardwerte zurücksetzen.
3 --memory-cache-size=<value in KiB> Größe des Arbeitsspeichercaches in KiB festlegen.
4 --memory-cache-low-watermark=<value in %> Wasserzeichen für Arbeitsspeichercache in Prozent festlegen.
5 --storage-cache-size=<value in KiB> Größe des Speichercaches in KiB festlegen.
6 --external-entropy-lost-timeout=<value in seconds> Zeitüberschreitung für externe Entropieverluste in Sekunden festlegen.

Beispiel:

$ 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

Während der Installation aktualisiert das ESXi-Installationsprogramm den Wert für Entropiequellen in den Kernel-Einstellungen, der nach der Installation im ConfigStore beibehalten wird. Diese Änderung wirkt sich nicht auf den sicheren Start von ESXi-Hosts aus.

Weitere Informationen finden Sie im vSphere-Sicherheitshandbuch und im Programmierhandbuch zu den vSphere Automation-SDKs.