KEK- und DB-Zertifikate aktualisieren

Dieses Dokument enthält eine Anleitung zum Aktualisieren der Variablen „Allowed Signature Database“ (db) und „Key Exchange Key“ (KEK) auf Compute-Instanzen, die Sie vor dem 7. November 2025 erstellt haben, damit aktualisierte Zertifikate für Secure Boot vertrauenswürdig sind.

KEK und Datenbankaktualisierung sind 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 den Firmware-Speicher.

Hinweis

Bevor Sie Ihre Secure Boot-KEK- und ‑db-Zertifikate aktualisieren, prüfen Sie, ob für Ihre Instanzen ein Update erforderlich ist, und treffen Sie die folgenden Vorbereitungen, um potenzielle Probleme beim Booten oder Entschlüsseln zu vermeiden:

  • Voraussetzungen prüfen:Prüfen Sie, ob für Ihre Instanzen ein Update 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 der Zugriff auf Laufwerke durch das Ändern von Sicherheitsvariablen gesperrt werden.
  • Empfohlene Reihenfolge für Linux-Updates:Bei Linux-Instanzen empfehlen wir, die db-UEFI-Variable auf Microsoft UEFI CA 2023 zu aktualisieren, bevor Sie neue Shims installieren. Diese Reihenfolge trägt dazu bei, ein potenzielles Szenario mit CA-Konflikten zu vermeiden, wenn ein Shim-Update, das nur mit der Microsoft UEFI CA 2023 signiert ist, angewendet wird, während die Datenbank nur das Zertifikat von 2011 enthält.

DB und KEK unter Linux mit fwupd aktualisieren

Diese Methode wird von fwupdmgr-Versionen 2.0.10 oder höher unterstützt. Führen Sie sudo fwupdmgr --version aus, um Ihre Version zu prüfen.

Hinweis zu RHEL 8/9:Enterprise-Repositories für RHEL 8/9 enthalten frühere Versionen von fwupdmgr (RHEL 8 enthält Version 1.7.8 und RHEL 9 enthält Version 1.9.13), die den erforderlichen Versionsschwellenwert nicht erfüllen. Wenn Sie RHEL 8/9 verwenden, müssen Sie entweder fwupd aus dem Quellcode erstellen oder die später beschriebene Methode sbsigntools verwenden.

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 Binärdatei für das Update 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änderbar, indem Sie das Schreibschutz-Flag entfernen:

    sudo chattr -i /sys/firmware/efi/efivars/db-*
    
  3. Aktualisieren Sie die Variable mit dem Befehl 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 Archiv .cab mit dem Zertifikatsupdate herunter:

    wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    
  2. Wenn gcab nicht installiert ist, installieren Sie es. Führen Sie unter Debian oder Ubuntu beispielsweise Folgendes aus:

    sudo apt update
    sudo apt install gcab
    
  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 sbsigntools aktualisieren

In den folgenden Schritten wird beschrieben, wie Sie die Variablen db und KEK mit dem sbsigntools-Paket und dem zugehörigen sbkeysync-Dienstprogramm aktualisieren.

Hinweis zu Paketname und Verfügbarkeit:Bei Distributionen, die auf Red Hat Enterprise Linux (RHEL), CentOS und Fedora basieren, wird das Utility-Paket sbsigntools (mit einem „s“ am Ende) genannt. Dieses Paket ist im EPEL-Repository (Extra Packages for Enterprise Linux) verfügbar. Um das Tool unter RHEL zu installieren, aktivieren Sie das EPEL-Repository (sudo dnf install epel-release) und führen Sie dann sudo dnf install sbsigntools aus.

db aktualisieren

  1. Laden Sie die Binärdatei für das Update aus dem Repository von Microsoft herunter:

    wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin
    
  2. Legen Sie die Datei im entsprechenden Ordner für sbkeysync ab, machen Sie db änderbar 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-Updates-Cabinet-Archiv herunter, extrahieren Sie die Update-Binärdatei und synchronisieren Sie sie mit dem sbkeysync-Dienstprogramm. In den folgenden Abschnitten wird beschrieben, wie Sie die Binärdatei je nach Ihrer Distribution extrahieren:

  1. Laden Sie das Archiv .cab herunter, das das KEK-Zertifikatsupdate enthält:

    wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    
  2. Extrahieren Sie das Archiv .cab, um die binäre Datei für die KEK-Aktualisierung (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
      
    • Bei RHEL-/CentOS-basierten Distributionen (z. B. RHEL 8/9) mit dem cabextract-Dienstprogramm aus EPEL:

      sudo dnf install epel-release -y
      sudo dnf install cabextract -y
      cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
      
  3. Prüfen Sie, ob die extrahierte Datei kek2023update.bin den erwarteten MD5-Hash hat: 6a1c58e1b8391c0e3f2e97f83917807a.

    md5sum kek2023update.bin
    
  4. Legen Sie die Binärdatei im entsprechenden Ordner für sbkeysync ab, machen Sie die Variable KEK veränderbar 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-*
    

Datenbank und KEK unter Windows aktualisieren

Sie müssen diese Zertifikatsupdates nicht anwenden, wenn Sie Secure Boot auf dieser Instanz nicht verwenden oder nicht planen, es zu verwenden. Windows-Betriebssysteme ignorieren in der Regel Versuche, diese Secure Boot-Zertifikatsupdates 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 werden Updates auf kompatiblen Versionen durch Registrierungseinstellungen und geplante Aufgaben ausgelöst:

  1. Achten Sie darauf, dass auf Ihren Windows-Instanzen die aktuellen monatlichen Updates installiert sind.
  2. Führen Sie als Administrator in PowerShell 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 zu ermöglichen. In einigen Umgebungen sind zwei Neustarts erforderlich, wenn Virtualisierungssicherheitsfunktionen aktiv sind.