KEK- und DB-Zertifikate aktualisieren

In diesem Dokument finden Sie eine Anleitung zum Aktualisieren der Variablen für die Datenbank mit zulässigen Signaturen (db) und den Schlüsselaustauschschlüssel (KEK) auf Compute-Instanzen, die vor dem 7. November 2025 erstellt wurden, um aktualisierten Zertifikaten für Secure Boot zu vertrauen.

Die Aktualisierung von KEK und db ist eine Alternative für Kunden, die ihre betroffenen Compute-Instanzen nicht neu erstellen.

Hinweis zu Neustartanforderungen: Im Gegensatz zu Windows ist unter Linux kein Systemneustart erforderlich, damit KEK- und db-Signaturaktualisierungen in die UEFI-Variablen geschrieben werden. Linux schreibt Aktualisierungen nach Ausführung des Befehls sofort in den NVRAM- oder Firmware-Speicher.

Hinweis

Bevor Sie Ihre Secure Boot-KEK- und db-Zertifikate aktualisieren, prüfen Sie, ob Ihre Instanzen eine Aktualisierung erfordern, und führen Sie die folgenden Vorbereitungen aus, um potenzielle Probleme beim Starten oder Entschlüsseln zu vermeiden:

  • Voraussetzungen prüfen: Prüfen Sie, ob für Ihre Instanzen eine Aktualisierung der Secure Boot-Zertifikate erforderlich ist.
  • Datenintegrität und Schlüsselwiederherstellung:Suchen Sie die Wiederherstellungsschlüssel für die Festplattenverschlüsselung (BitLocker oder LUKS FDE) und sichern Sie wichtige Daten. Wenn die Konfiguration falsch ist, kann das Ändern von Sicherheitsvariablen den Zugriff auf Festplatten sperren.
  • Empfohlene Reihenfolge für Linux-Updates:Bei Linux-Instanzen empfehlen wir, die UEFI-Variable db auf Microsoft UEFI CA 2023 zu aktualisieren, bevor Sie auf neue Shims aktualisieren. Diese Reihenfolge trägt dazu bei, ein potenzielles Problem mit der Zertifizierungsstelle zu vermeiden, wenn ein Shim-Update angewendet wird, das nur mit der Microsoft UEFI CA 2023 signiert ist, während die Datenbank nur das Zertifikat von 2011 enthält.
  • Benutzerdefinierte PK- oder KEK-Konfigurationen:Wenn Ihre Instanz benutzerdefinierte Secure Boot-Variablen verwendet (z. B. einen benutzerdefinierten PK oder KEK), können die in diesem Leitfaden bereitgestellten Standardaktualisierungsdateien (DBUpdate3P2023.bin oder kek2023update.bin) nicht direkt angewendet werden. Die UEFI-Firmware erfordert, dass Aktualisierungsdateien mit dem privaten Schlüssel des KEK oder PK signiert sind, der auf dem System vorhanden ist. Wenn Sie benutzerdefinierte Schlüssel verwenden, müssen Sie die Aktualisierungsbinärdateien mit Ihren eigenen privaten Schlüsseln signieren oder die Aktualisierungen über Ihre benutzerdefinierte Zertifizierungsstelle verwalten.

db und KEK unter Linux mit fwupd aktualisieren

fwupdmgr-Versionen 2.0.10 oder höher unterstützen diese Methode. Prüfen Sie Ihre Version mit dem Befehl sudo fwupdmgr --version.

Hinweis zu RHEL 8/9 und SLES 15:Enterprise-Repositories für RHEL 8/9 und SUSE Linux Enterprise Server (SLES) 15 bieten ältere Versionen von fwupdmgr (RHEL 8 mit Version 1.7.8, RHEL 9 mit Version 1.9.13 und SLES 15 SP6 mit 1.9.10), die den erforderlichen Versionsschwellenwert nicht erfüllen. Wenn Sie RHEL 8/9 oder SLES 15 verwenden, müssen Sie eine der folgenden Aktionen ausführen: fwupd aus der Quelle erstellen oder die später beschriebenen Methoden sbsigntool/sbsigntools oder efitools verwenden.

Hinweis zu SLES 12/15: Enterprise-Repositories für SLES 12/15 bieten fwupd nicht und SUSE Package Hub-Repositories für SLES 15 bieten ältere Versionen von fwupdmgr, die den erforderlichen Versionsschwellenwert nicht erfüllen. Wenn Sie SLES 12 verwenden, müssen Sie fwupd aus der Quelle erstellen. Wenn Sie SLES 15 verwenden, müssen Sie eine der folgenden Aktionen ausführen: fwupd aus der Quelle erstellen oder die später beschriebenen Methoden efitools oder sbsigntools mit Backports verwenden, die im SUSE Package Hub verfügbar sind.

Führen Sie den folgenden Befehl aus:

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

db und KEK unter Linux mit efitools aktualisieren

In den folgenden Schritten wird beschrieben, wie Sie die Variablen db und KEK mit dem Paket efitools aktualisieren.

db aktualisieren

  1. Laden Sie die Aktualisierungsbinärdatei aus dem Repository von Microsoft herunter:

    wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin
    
  2. Machen Sie die Variable veränderlich, indem Sie das Schreibschutz-Flag entfernen:

    sudo chattr -i /sys/firmware/efi/efivars/db-*
    
  3. Aktualisieren Sie die Variable mit efi-updatevar:

    sudo efi-updatevar -a -f DBUpdate3P2023.bin db
    
  4. Stellen Sie das Schreibschutz-Flag wieder her, um die Variable zu schützen:

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

KEK aktualisieren

  1. Laden Sie das .cab-Archiv mit dem Zertifikatupdate herunter:

    wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    
  2. Wenn gcab nicht installiert ist, installieren Sie es. Führen Sie dazu beispielsweise einen der folgenden Befehle aus:

    • Unter Debian oder Ubuntu :

      sudo apt update
      sudo apt install gcab
      
    • Unter SUSE Linux Enterprise Server (SLES) oder openSUSE (erfordert SUSE Package Hub):

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

      (Hinweis: Ersetzen Sie 15.5 durch Ihre SLES-Version, falls sie abweicht).

  3. Extrahieren Sie das Archiv mit gcab:

    gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    
  4. Prüfen Sie, ob die Datei den erwarteten MD5-Hash hat: 6a1c58e1b8391c0e3f2e97f83917807a.

    md5sum kek2023update.bin
    
  5. Machen Sie die Variable KEK veränderlich:

    sudo chattr -i /sys/firmware/efi/efivars/KEK-*
    
  6. Wenden Sie das Update an:

    sudo efi-updatevar -a -f kek2023update.bin KEK
    
  7. Stellen Sie das Schreibschutz-Flag wieder her, um die Variable zu schützen:

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

db und KEK unter Linux mit sbsigntool oder sbsigntools aktualisieren

In den folgenden Schritten wird beschrieben, wie Sie die Variablen db und KEK mit dem Dienstprogramm sbkeysync aus dem Paket sbsigntool oder sbsigntools aktualisieren.

Hinweis zum Paketnamen und zur Verfügbarkeit :

  • Debian und Ubuntu nennen das Dienstprogrammpaket sbsigntool (ohne „s“ am Ende). Führen Sie sudo apt install sbsigntool aus, um es zu installieren.
  • Red Hat Enterprise Linux (RHEL), CentOS und Fedora-basierte Distributionen nennen das Dienstprogrammpaket sbsigntools (mit „s“ am Ende). Dieses Paket ist im EPEL-Repository (Extra Packages for Enterprise Linux) verfügbar. Um es unter RHEL zu installieren, aktivieren Sie das EPEL-Repository (sudo dnf install epel-release) und führen Sie dann sudo dnf install sbsigntools aus.
  • SUSE Linux Enterprise Server (SLES) und openSUSE nennen das Dienstprogrammpaket ebenfalls sbsigntools. Dieses Paket ist im SUSE Package Hub-Repository verfügbar. Um es zu installieren, aktivieren Sie den SUSE Package Hub (z. B. sudo SUSEConnect -p PackageHub/15.5/x86_64, wobei Sie 15.5 durch Ihre SLES-Version ersetzen) und führen Sie dann sudo zypper install sbsigntools aus.

db aktualisieren

  1. Laden Sie die Aktualisierungsbinärdatei aus dem Repository von Microsoft herunter:

    wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin
    
  2. Platzieren Sie die Datei im entsprechenden Ordner für sbkeysync, machen Sie db veränderlich und führen Sie die Synchronisierung aus:

    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. Stellen Sie das Schreibschutz-Flag wieder her, um die Variable zu schützen:

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

KEK aktualisieren

Um die Variable KEK zu aktualisieren, laden Sie das Microsoft KEK-Update-Archiv herunter, extrahieren Sie die Aktualisierungsbinärdatei und synchronisieren Sie sie mit dem Dienstprogramm sbkeysync. In den folgenden Abschnitten wird beschrieben, wie Sie die Binärdatei je nach Distribution extrahieren:

  1. Laden Sie das .cab-Archiv mit dem KEK-Zertifikatupdate herunter:

    wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    
  2. Extrahieren Sie das .cab-Archiv, um die KEK-Aktualisierungsbinärdatei (kek2023update.bin) zu erhalten:

    • Unter Debian/Ubuntu mit dem Dienstprogramm gcab:

      sudo apt update && sudo apt install gcab -y
      gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
      
    • Unter RHEL/CentOS-basierten Distributionen (z. B. RHEL 8/9) mit dem Dienstprogramm cabextract aus EPEL:

      sudo dnf install epel-release -y
      sudo dnf install cabextract -y
      cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
      
    • Unter SUSE Linux Enterprise Server (SLES) und openSUSE mit dem Dienstprogramm cabextract aus dem SUSE Package Hub:

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

      (Hinweis: Ersetzen Sie 15.5 durch Ihre SLES-Version, falls sie abweicht).

  3. Prüfen Sie, ob die extrahierte Datei kek2023update.bin den erwarteten MD5-Hash hat: 6a1c58e1b8391c0e3f2e97f83917807a.

    md5sum kek2023update.bin
    
  4. Platzieren Sie die Binärdatei im entsprechenden Ordner für sbkeysync, machen Sie die Variable KEK veränderlich und führen Sie die Synchronisierung aus:

    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. Stellen Sie das Schreibschutz-Flag wieder her, um die Variable zu schützen:

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

db und KEK unter Windows aktualisieren

Sie müssen diese Zertifikatupdates nicht anwenden, wenn Sie Secure Boot auf dieser Instanz nicht verwenden oder verwenden möchten. Windows-Betriebssysteme ignorieren in der Regel Versuche, diese Secure Boot-Zertifikatupdates anzuwenden, wenn Secure Boot nicht aktiviert ist, da das Update nicht erforderlich ist.

Wenn Sie Secure Boot später verwenden möchten, müssen Sie es zuerst auf der Instanz aktivieren, um die Secure Boot-Zertifikate zu aktualisieren.

Auf Windows-Instanzen lösen Registrierungseinstellungen und geplante Aufgaben Updates für kompatible Versionen aus:

  1. Prüfen Sie, ob auf Ihren Windows-Instanzen die aktuellen monatlichen Updates angewendet wurden.
  2. Führen Sie in PowerShell als Administrator folgenden Befehl aus:

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name "AvailableUpdates" -Value 0x5944
    Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"
    
  3. Starten Sie die Instanz neu, um Vorgänge für Firmware-Variablen zuzulassen. In einigen Umgebungen sind doppelte Neustarts erforderlich, wenn Virtualisierungssicherheitsfunktionen aktiv sind.