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 calcolo create prima del 7 novembre 2025 per considerare attendibili i certificati aggiornati per Secure Boot.

KEK and db update è un'alternativa per i clienti che non ricreano le istanze di calcolo interessate.

Nota sui requisiti di riavvio:a differenza di Windows, Linux non richiede il riavvio del sistema per scrivere gli aggiornamenti di KEK e della firma del database nelle variabili UEFI. Linux scrive immediatamente gli aggiornamenti nella NVRAM o nell'archivio firmware all'esecuzione del comando.

Prima di iniziare

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

  • Verifica dei prerequisiti: verifica che le tue istanze richiedano un aggiornamento dei certificati Secure Boot.
  • Integrità dei dati e recupero delle chiavi:individua le chiavi di recupero 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.
  • Consiglio 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 shim firmato solo con la CA UEFI di Microsoft 2023 mentre il database contiene solo il certificato 2011.
  • Configurazioni PK o KEK personalizzate:se la tua istanza utilizza variabili Secure Boot personalizzate (ad esempio un PK o un KEK personalizzato), i file di aggiornamento standard (DBUpdate3P2023.bin o kek2023update.bin) forniti in questa guida non verranno applicati direttamente. Il firmware UEFI richiede che i file di aggiornamento siano firmati con la chiave privata di KEK o PK presente sul sistema. Se utilizzi chiavi personalizzate, devi firmare i file binari di aggiornamento con le tue chiavi private o gestire gli aggiornamenti tramite la tua autorità di certificazione personalizzata.

Aggiorna db e KEK su Linux utilizzando fwupd

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

Nota su RHEL 8/9 e SLES 15:i repository aziendali per RHEL 8/9 e SUSE Linux Enterprise Server (SLES) 15 forniscono versioni precedenti di fwupdmgr (RHEL 8 include la versione 1.7.8, RHEL 9 include la versione 1.9.13 e SLES 15 SP6 include 1.9.10), che non soddisfano la soglia di versione richiesta. Se utilizzi RHEL 8/9 o SLES 15, devi compilare fwupd dal codice sorgente o utilizzare i metodi sbsigntool/sbsigntools o efitools descritti in seguito.

Nota su SLES 12/15: i repository aziendali per SLES 12/15 non forniscono fwupd e i repository SUSE Package Hub per SLES 15 forniscono versioni precedenti di fwupdmgr, che non soddisfano la soglia di versione richiesta. Se utilizzi SLES 12, devi creare fwupd dall'origine. Se esegui SLES 15, devi eseguire una delle seguenti operazioni: creare fwupd dall'origine o utilizzare i metodi efitools o sbsigntools descritti in seguito utilizzando i backport disponibili in SUSE Package Hub.

Esegui questo comando:

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

Aggiorna db e KEK su Linux utilizzando efitools

I seguenti passaggi ti guidano 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 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, esegui uno dei seguenti comandi:

    • Su Debian o Ubuntu:

      sudo apt update
      sudo apt install gcab
      
    • Su SUSE Linux Enterprise Server (SLES) o openSUSE (richiede SUSE Package Hub):

      sudo SUSEConnect -p PackageHub/15.5/x86_64
      sudo zypper install gcab
      

      (Nota: sostituisci 15.5 con la tua versione di SLES, se diversa).

  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 sbsigntool o sbsigntools

I passaggi seguenti ti guidano nell'aggiornamento delle variabili db e KEK utilizzando l'utilità sbkeysync dal pacchetto sbsigntool o sbsigntools.

Nota sul nome del pacchetto e sulla disponibilità:

  • Debian e Ubuntu chiamano il pacchetto di utilità sbsigntool (senza la "s" alla fine). Per installarlo, esegui: sudo apt install sbsigntool.
  • Le distribuzioni basate su Red Hat Enterprise Linux (RHEL), CentOS e Fedora denominano il pacchetto di utilità sbsigntools (con una "s" alla fine). Questo pacchetto è fornito dal repository EPEL (Extra Packages for Enterprise Linux). Per installarlo su RHEL, attiva il repository EPEL (sudo dnf install epel-release) ed esegui: sudo dnf install sbsigntools.
  • SUSE Linux Enterprise Server (SLES) e openSUSE denominano il pacchetto di utilità anche sbsigntools. Questo pacchetto è fornito dal repository SUSE Package Hub. Per installarlo, attiva SUSE Package Hub (ad esempio sudo SUSEConnect -p PackageHub/15.5/x86_64, sostituendo 15.5 con la tua versione di SLES) ed esegui: sudo zypper 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'utilità sbkeysync. Le sezioni seguenti spiegano come estrarre il file binario in base alla tua 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'utilità gcab:

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

      sudo dnf install epel-release -y
      sudo dnf install cabextract -y
      cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
      
    • Su SUSE Linux Enterprise Server (SLES) e openSUSE utilizzando l'utilità cabextract di SUSE Package Hub:

      sudo SUSEConnect -p PackageHub/15.5/x86_64
      sudo zypper install cabextract -y
      cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
      

      (Nota: sostituisci 15.5 con la tua versione di SLES, se diversa).

  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

Non devi applicare questi aggiornamenti dei certificati se non utilizzi o non prevedi di utilizzare l'avvio protetto in questa istanza. I sistemi operativi Windows in genere ignorano i tentativi di applicare questi aggiornamenti dei certificati di avvio protetto se l'avvio protetto non è abilitato perché l'aggiornamento non è necessario.

Se intendi utilizzare l'avvio protetto in un secondo momento, devi prima abilitarlo sull'istanza per aggiornare i certificati di avvio protetto.

Sulle istanze Windows, le impostazioni del registro e le attività pianificate attivano gli aggiornamenti sulle versioni compatibili:

  1. Assicurati che alle tue istanze Windows siano stati 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.