Aggiorna i certificati KEK e db

Questo documento fornisce istruzioni per aggiornare le variabili Allowed Signature Database (db) e Key Exchange Key (KEK) sulle istanze di Compute create prima del 7 novembre 2025 per considerare attendibili i certificati aggiornati per l'avvio protetto.

L'aggiornamento di KEK e db è un'alternativa per i clienti che non ricreano le istanze di Compute interessate.

Nota sui requisiti di riavvio: a differenza di Windows, Linux non richiede il riavvio del sistema per la scrittura degli aggiornamenti della firma KEK e db nelle variabili UEFI. Linux scrive immediatamente gli aggiornamenti nella NVRAM o nello spazio di archiviazione del firmware all'esecuzione del comando.

Prima di iniziare

Prima di aggiornare i certificati KEK e db dell'avvio protetto, verifica se le istanze richiedono un aggiornamento e completa i seguenti preparativi per evitare potenziali problemi di avvio o decriptaggio:

  • Verifica dei prerequisiti: Verifica che le istanze richiedano un aggiornamento dei certificati di avvio protetto.
  • Integrità dei dati e recupero delle chiavi: individua le chiavi di ripristino della crittografia del disco (BitLocker o LUKS FDE) ed esegui il backup dei dati critici. La modifica delle variabili di sicurezza può bloccare l'accesso ai dischi se la configurazione non è corretta.
  • Consigli per la sequenza di aggiornamento di Linux: per le istanze Linux, ti consigliamo di aggiornare la variabile UEFI db a Microsoft UEFI CA 2023 prima di eseguire l'aggiornamento ai nuovi shim. Questa sequenza aiuta a prevenire un potenziale scenario di mancata corrispondenza della CA se viene applicato un aggiornamento dello shim firmato solo con Microsoft UEFI CA 2023 mentre il database contiene solo il certificato 2011.

Aggiorna db e KEK su Linux utilizzando fwupd

Le versioni fwupdmgr 2.0.10 o successive supportano questo metodo. Controlla la versione eseguendo sudo fwupdmgr --version.

Nota su RHEL 8/9: i repository Enterprise per RHEL 8/9 forniscono versioni precedenti di fwupdmgr (RHEL 8 include la versione 1.7.8 e RHEL 9 include la versione 1.9.13), che non soddisfano la soglia di versione richiesta. Se utilizzi RHEL 8/9, devi eseguire una delle seguenti operazioni: creare fwupd dal codice sorgente o utilizzare il metodo sbsigntools descritto di seguito.

Esegui questo comando:

sudo fwupdmgr refresh
sudo fwupdmgr update 5bc922b7bd1adb5b6f99592611404036bd9f42d0
sudo fwupdmgr update b7a1d3d90faa1f6275d9a98da4fb3be7118e61c7

Aggiorna db e KEK su Linux utilizzando efitools

I passaggi seguenti ti guideranno nell'aggiornamento delle variabili db e KEK utilizzando il pacchetto efitools.

Aggiorna db

  1. Scarica il file binario di aggiornamento dal repository di Microsoft:

    wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin
    
  2. Rendi modificabile la variabile rimuovendo il flag di protezione dalla scrittura:

    sudo chattr -i /sys/firmware/efi/efivars/db-*
    
  3. Aggiorna la variabile eseguendo efi-updatevar:

    sudo efi-updatevar -a -f DBUpdate3P2023.bin db
    
  4. Ripristina il flag di protezione dalla scrittura per proteggere la variabile:

    sudo chattr +i /sys/firmware/efi/efivars/db-*
    

Aggiorna KEK

  1. Scarica l'archivio .cab contenente l'aggiornamento del certificato:

    wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    
  2. Se non hai installato gcab, installalo. Ad esempio, su Debian o Ubuntu, esegui questo comando:

    sudo apt update
    sudo apt install gcab
    
  3. Estrai l'archivio utilizzando gcab:

    gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    
  4. Assicurati che il file abbia l'hash MD5 previsto: 6a1c58e1b8391c0e3f2e97f83917807a.

    md5sum kek2023update.bin
    
  5. Rendi modificabile la variabile KEK:

    sudo chattr -i /sys/firmware/efi/efivars/KEK-*
    
  6. Applica l'aggiornamento:

    sudo efi-updatevar -a -f kek2023update.bin KEK
    
  7. Ripristina il flag di protezione dalla scrittura per proteggere la variabile:

    sudo chattr +i /sys/firmware/efi/efivars/KEK-*
    

Aggiorna db e KEK su Linux utilizzando sbsigntools

I passaggi seguenti ti guideranno nell'aggiornamento delle variabili db e KEK utilizzando il pacchetto sbsigntools e la relativa utility sbkeysync.

Nota sul nome e sulla disponibilità del pacchetto: le distribuzioni basate su Red Hat Enterprise Linux (RHEL), CentOS e Fedora denominano il pacchetto di utilità sbsigntools (con una "s" alla fine). Il repository EPEL (Extra Packages for Enterprise Linux) fornisce questo pacchetto. Per installarlo su RHEL, attiva il repository EPEL (sudo dnf install epel-release) e poi esegui: sudo dnf install sbsigntools.

Aggiorna db

  1. Scarica il file binario di aggiornamento dal repository di Microsoft:

    wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin
    
  2. Inserisci il file nella cartella appropriata per sbkeysync, rendi db modificabile ed esegui la sincronizzazione:

    sudo mkdir -p /etc/secureboot/keys/db
    sudo cp DBUpdate3P2023.bin /etc/secureboot/keys/db/
    sudo chattr -i /sys/firmware/efi/efivars/db-*
    sudo sbkeysync --verbose
    
  3. Ripristina il flag di protezione dalla scrittura per proteggere la variabile:

    sudo chattr +i /sys/firmware/efi/efivars/db-*
    

Aggiorna KEK

Per aggiornare la variabile KEK, scarica l'archivio cabinet degli aggiornamenti KEK di Microsoft, estrai il file binario di aggiornamento e sincronizzalo utilizzando l'utility sbkeysync. Le sezioni seguenti spiegano come estrarre il file binario in base alla distribuzione:

  1. Scarica l'archivio .cab contenente l'aggiornamento del certificato KEK:

    wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    
  2. Estrai l'archivio .cab per ottenere il file binario di aggiornamento KEK (kek2023update.bin):

    • Su Debian/Ubuntu utilizzando l'utility gcab:

      sudo apt update && sudo apt install gcab -y
      gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
      
    • Sulle distribuzioni basate su RHEL/CentOS (ad esempio RHEL 8/9) utilizzando l'utility cabextract da EPEL:

      sudo dnf install epel-release -y
      sudo dnf install cabextract -y
      cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
      
  3. Verifica che il file kek2023update.bin estratto abbia l'hash MD5 previsto: 6a1c58e1b8391c0e3f2e97f83917807a.

    md5sum kek2023update.bin
    
  4. Inserisci il file binario nella cartella appropriata per sbkeysync, rendi modificabile la variabile KEK ed esegui la sincronizzazione:

    sudo mkdir -p /etc/secureboot/keys/KEK
    sudo cp kek2023update.bin /etc/secureboot/keys/KEK/
    sudo chattr -i /sys/firmware/efi/efivars/KEK-*
    sudo sbkeysync --verbose
    
  5. Ripristina il flag di protezione dalla scrittura per proteggere la variabile:

    sudo chattr +i /sys/firmware/efi/efivars/KEK-*
    

Aggiorna db e KEK su Windows

Nelle istanze Windows, le impostazioni del Registro di sistema e le attività pianificate attivano gli aggiornamenti sulle versioni compatibili:

  1. Assicurati che nelle istanze Windows siano applicati gli aggiornamenti mensili recenti.
  2. In qualità di amministratore in PowerShell, esegui:

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name "AvailableUpdates" -Value 0x5944
    Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"
    
  3. Riavvia l'istanza per consentire le operazioni sulle variabili del firmware. Alcuni ambienti richiedono doppi riavvii se le funzionalità di sicurezza della virtualizzazione sono attive.