L'avvio sicuro fa parte dello standard di firmware UEFI. Quando si utilizza l'avvio protetto, una macchina rifiuta di caricare qualsiasi driver o app UEFI, a meno che il bootloader del sistema operativo non sia firmato con crittografia. In vSphere 6.5 e versioni successive, ESXi supporta l'avvio protetto, se esso è abilitato nell'hardware.

Modalità di utilizzo dell'avvio protetto UEFI da parte di ESXi

ESXi versione 6.5 e successive supportano l'avvio protetto UEFI a ogni livello dello stack di avvio.

Nota: Prima di utilizzare l'Avvio protetto UEFI in un host aggiornato, verificare la compatibilità seguendo le istruzioni disponibili in Esecuzione dello script di convalida dell'avvio sicuro dopo l'aggiornamento di ESXi.
Figura 1. Avvio protetto UEFI
Lo stack di avvio protetto UEFI include diversi elementi, illustrati nel testo.

Quando si utilizza l'avvio protetto, la sequenza di avvio viene eseguita come indicato di seguito.

  1. In vSphere 6.5 e versioni successive, il bootloader ESXi contiene una chiave pubblica VMware. Il bootloader utilizza la chiave per verificare la firma del kernel e un piccolo sottoinsieme del sistema che include un verificatore VIB di avvio protetto.
  2. Il verificatore VIB verifica ogni pacchetto VIB installato nel sistema.

A questo punto, l'intero sistema viene avviato con la root di attendibilità nei certificati che fanno parte del firmware UEFI.

Nota: Quando si installa o si esegue l'aggiornamento a vSphere 7.0 Update 2 o versioni successive e un host ESXi dispone di un TPM, il TPM sigilla le informazioni sensibili utilizzando un criterio TPM basato sui valori PCR per l'avvio protetto UEFI. Se il criterio è soddisfatto come true, questo valore viene caricato durante i riavvii successivi. Per disattivare o attivare l'avvio protetto UEFI in vSphere 7.0 Update 2 o versioni successive, vedere Attivazione o disattivazione dell'imposizione di avvio sicuro per una configurazione di ESXi sicura.

Risoluzione dei problemi relativi all'avvio protetto UEFI

Se l'avvio protetto non riesce ad alcun livello della sequenza di avvio, viene generato un errore.

Il messaggio di errore dipende dal vendor dell'hardware e dal livello a cui la verifica non ha avuto esito positivo.
  • Se si tenta di eseguire l'avvio con un bootloader non firmato o manomesso, si verifica un errore durante la sequenza di avvio. Il messaggio esatto dipende dal fornitore dell'hardware. Potrebbe essere simile al seguente errore, ma potrebbe avere un aspetto diverso.
    UEFI0073: Unable to boot PXE Device...because of the Secure Boot policy 
  • Se il kernel è stato manomesso, si verifica un errore simile ai seguenti risultati.
    Fatal error: 39 (Secure Boot Failed)
  • Se il pacchetto (VIB o driver) è stato manomesso, viene visualizzata una schermata viola con il seguente messaggio.
    UEFI Secure Boot failed:
    Failed to verify signatures of the following vibs (XX)

Per risolvere i problemi relativi all'avvio protetto, eseguire i passaggi seguenti.

  1. Riavviare l'host con l'avvio protetto disattivato.
  2. Eseguire lo script di verifica dell'avvio protetto (vedere Esecuzione dello script di convalida dell'avvio sicuro dopo l'aggiornamento di ESXi).
  3. Esaminare le informazioni nel file /var/log/esxupdate.log.

Esecuzione dello script di convalida dell'avvio sicuro dopo l'aggiornamento di ESXi

Dopo aver aggiornato un host ESXi da una versione che non supporta l'avvio sicuro UEFI, è necessario verificare se è possibile attivare l'avvio sicuro.

Affinché l'avvio sicuro abbia esito positivo, la firma di ogni VIB installato deve essere disponibile nel sistema. Le versioni precedenti di ESXi non salvano le firme durante l'installazione dei VIB.
  • Se si esegue l'aggiornamento utilizzando i comandi ESXCLI, la versione precedente di ESXi esegue l'installazione dei nuovi VIB, in modo che le firme non vengano salvate e l'avvio sicuro non sia possibile.
  • Se si aggiorna utilizzando l'ISO, le firme dei nuovi VIB vengono salvate. Questo vale anche per gli aggiornamenti di vSphere Lifecycle Manager che utilizzano l'ISO.
  • Se i VIB precedenti rimangono nel sistema, le firme di tali VIB non sono disponibili e l'avvio sicuro non è possibile.
    • Se il sistema utilizza un driver di terze parti e l'aggiornamento del VMware non include una nuova versione del VIB del driver, il VIB precedente rimane nel sistema dopo l'aggiornamento.
    • In rari casi, VMware possibile eliminare lo sviluppo in corso di un VIB specifico senza fornire un nuovo VIB che lo sostituisca o lo obsoleto, in modo che il VIB precedente rimanga nel sistema dopo l'aggiornamento.
Nota: L'avvio sicuro UEFI richiede anche un bootloader aggiornato. Questo script non verifica la presenza di un bootloader aggiornato.

Prerequisiti

Dopo aver eseguito l'aggiornamento di un host ESXi da una versione precedente di ESXi che non supporta l'avvio sicuro UEFI, potrebbe essere possibile attivare l'avvio sicuro. La possibilità di attivare l'avvio sicuro dipende da come è stato eseguito l'aggiornamento e dal fatto che l'aggiornamento abbia sostituito tutti i VIB esistenti o abbia lasciato invariati alcuni VIB. È possibile eseguire uno script di convalida dopo aver eseguito l'aggiornamento per determinare se l'installazione aggiornata supporta l'avvio sicuro.
  • Verificare che l'hardware supporti l'avvio sicuro UEFI.
  • Verificare che tutti i VIB siano firmati con un livello di accettazione almeno di PartnerSupported. Se si includono VIB al livello CommunitySupported, non è possibile utilizzare l'avvio sicuro.

Procedura

  1. Aggiornare ESXi ed eseguire il comando seguente.
    /usr/lib/vmware/secureboot/bin/secureBoot.py -c
  2. Controllare l'output.
    L'output include Secure boot can be enabled o Secure boot CANNOT be enabled.