UEFISicherer Start auf 023 AL2 - Amazon Linux 2023

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

UEFISicherer Start auf 023 AL2

AL2023 unterstützt UEFI Secure Boot ab Version 2023.1. Sie müssen AL2 023 mit EC2 Amazon-Instances verwenden, die UEFI sowohl UEFI Secure Boot als auch Secure Boot unterstützen. Weitere Informationen finden Sie unter Launch an Instance im EC2Amazon-Benutzerhandbuch.

AL2023 Instances mit aktiviertem UEFI Secure Boot akzeptieren nur Code auf Kernelebene, einschließlich des Linux-Kernels sowie Module, die signiert sind, Amazon sodass Sie sicherstellen können, dass Ihre Instance nur Codes auf Kernelebene ausführt, die von signiert wurden AWS.

Weitere Informationen zu EC2 Amazon-Instances und UEFI Secure Boot finden Sie unter UEFISecure Boot im EC2Amazon-Benutzerhandbuch.

Voraussetzungen
  • Sie müssen eine Version AMI mit Version AL2 023, Version 2023.1 oder höher verwenden.

  • Der Instanztyp muss Secure Boot unterstützenUEFI. Weitere Informationen finden Sie unter Launch an Instance im EC2Amazon-Benutzerhandbuch.

Aktivieren UEFI Sie Secure Boot auf AL2 023

Standard AL2 023 AMIs beinhaltet einen Bootloader und einen Kernel, der mit unseren Schlüsseln signiert ist. Sie können UEFI Secure Boot aktivieren, indem Sie entweder bestehende Instanzen registrieren oder wenn UEFI Secure Boot bereits aktiviert ist, indem Sie ein Image aus einem Snapshot registrieren. AMIs UEFISecure Boot ist auf dem Standard 023 standardmäßig nicht aktiviert. AL2 AMIs

Der Startmodus AL2 023 AMIs ist auf 023 eingestelltuefi-preferred, wodurch sichergestellt AMIs wird, dass die damit gestarteten Instanzen die UEFI Firmware verwenden, sofern der Instanztyp dies unterstützt. UEFI Wenn der Instance-Typ dies nicht unterstütztUEFI, wird die Instance mit BIOS Legacy-Firmware gestartet. Wenn eine Instanz im BIOS Legacy-Modus gestartet wird, wird UEFI Secure Boot nicht erzwungen.

Weitere Informationen zu den AMI Startmodi auf EC2 Amazon-Instances finden Sie unter Startmodi im EC2Amazon-Benutzerhandbuch.

Registrierung einer vorhandenen Instance

Um eine bestehende Instance zu registrieren, füllen Sie die spezifischen UEFI Firmware-Variablen mit einer Reihe von Schlüsseln auf, mit denen die Firmware den Bootloader und der Bootloader den Kernel beim nächsten Start verifizieren kann.

  1. Amazon Linux bietet ein Tool zur Vereinfachung des Registrierungsprozesses. Mit dem folgenden Befehl stellen Sie der Instance den erforderlichen Satz von Schlüsseln und Zertifikaten bereit.

    sudo amazon-linux-sb enroll
  2. Führen Sie den folgenden Befehl aus, um die -Instance neu zu starten. Nach dem Neustart der Instanz wird Secure Boot aktiviert. UEFI

    sudo reboot
Anmerkung

Amazon Linux unterstützt AMIs derzeit kein Nitro Trusted Platform Module (NitroTPM). Wenn Sie Nitro TPM zusätzlich zu UEFI Secure Boot benötigen, verwenden Sie die Informationen im folgenden Abschnitt.

Image aus einem Snapshot registrieren

Wenn Sie einen AMI aus einem Snapshot eines EBS Amazon-Root-Volumes über Amazon registrieren EC2 register-imageAPI, können Sie das AMI mit einem binären Blob bereitstellen, das den Status des UEFI Variablenspeichers enthält. Wenn Sie AL2 023 angebenUefiData, aktivieren Sie UEFI Secure Boot und müssen die Schritte im vorherigen Abschnitt nicht ausführen.

Weitere Informationen zum Erstellen und Verwenden eines binären Blobs finden Sie unter Option B: Erstellen Sie ein binäres Blob mit einem vorausgefüllten Variablenspeicher im EC2Amazon-Benutzerhandbuch.

AL2023 bietet einen vorgefertigten Binär-Blob, der direkt auf Amazon-Instances verwendet werden kann. EC2 Der binäre Blob befindet sich auf einer laufenden Instance in /usr/share/amazon-linux-sb-keys/uefi.vars. Dieser Blob wird durch das amazon-linux-sb-keys RPM Paket bereitgestellt, das ab Version 2023.1 standardmäßig auf AL2 023 AMIs installiert ist.

Anmerkung

Um sicherzustellen, dass Sie die neueste Version von Keys and Revocations verwenden, verwenden Sie den Blob aus derselben Version von AL2 023, mit der Sie den erstellt haben. AMI

Wir empfehlen, bei der Registrierung eines Images den BootMode Parameter set to zu verwenden. RegisterImageAPIuefi Auf diese Weise können Sie Nitro aktivieren, TPM indem Sie den TpmSupport Parameter auf v2.0 setzen. Durch die Einstellung BootMode auf wird außerdem uefi sichergestellt, dass UEFI Secure Boot aktiviert ist und nicht versehentlich deaktiviert werden kann, wenn zu einem Instanztyp gewechselt wird, der dies nicht unterstütztUEFI.

Weitere Informationen zu Nitro TPM finden Sie unter Nitro TPM im EC2Amazon-Benutzerhandbuch.

Widerruf-Updates

Möglicherweise muss Amazon Linux eine neue Version des Bootloaders grub2 oder des Linux-Kernels verteilen, die mit aktualisierten Schlüsseln signiert ist. In diesem Fall muss der alte Schlüssel möglicherweise gesperrt werden, um zu verhindern, dass ausnutzbare Fehler aus früheren Versionen des Bootloaders den Secure Boot-Verifizierungsprozess umgehen können. UEFI

Paketaktualisierungen der kernel Pakete grub2 oder aktualisieren immer automatisch die Liste der Widerrufe im UEFI Variablenspeicher der laufenden Instanz. Das bedeutet, dass Sie bei aktiviertem UEFI Secure Boot die alte Version eines Pakets nicht mehr ausführen können, nachdem Sie ein Sicherheitsupdate für das Paket installiert haben.

Wie funktioniert UEFI Secure Boot auf AL2 023

Im Gegensatz zu anderen Linux-Distributionen bietet Amazon Linux keine zusätzliche Komponente (Shim), die als Bootloader der ersten Stufe fungiert. Ein Shim wird in der Regel mit Microsoft-Schlüsseln signiert. Bei Linux-Distributionen mit dem Shim lädt der Shim beispielsweise den grub2-Bootloader, der den eigenen Code des Shims verwendet, um den Linux-Kernel zu verifizieren. Darüber hinaus verwaltet das Shim seinen eigenen Satz von Schlüsseln und Sperrungen in der Datenbank Machine Owner Key (MOK), die sich im UEFI Variablenspeicher befindet und mit dem Tool gesteuert wird. mokutil

Amazon Linux stellt keinen Shim zur Verfügung. Da der AMI Besitzer die UEFI Variablen kontrolliert, ist dieser Zwischenschritt nicht erforderlich und würde sich negativ auf die Start- und Startzeiten auswirken. Wir haben uns dafür entschieden, standardmäßig keinen Herstellerschlüsseln zu vertrauen, um die Wahrscheinlichkeit zu verringern, dass unerwünschte Binärdateien ausgeführt werden könnten. Wie immer können Kunden natürlich eigene Binärdateien hinzufügen, wenn sie dies wünschen.

Lädt und verifiziert mit Amazon Linux UEFI direkt unseren grub2 Bootloader. Der grub2 Bootloader wurde so geändert, dass er zur Überprüfung des Linux-Kernels nach dem Laden verwendet UEFI wird. Daher wird der Linux-Kernel mit denselben Zertifikaten verifiziert, die in der normalen UEFI db Variablen (Datenbank mit autorisierten Schlüsseln) gespeichert sind, und anhand derselben dbx Variablen (Sperrdatenbank) getestet wie der Bootloader und andere Binärdateien. UEFI Da wir unsere eigene PK und KEK Schlüssel bereitstellen, die den Zugriff auf die DB-Datenbank und die DBX-Datenbank kontrollieren, können wir signierte Updates und Sperrungen nach Bedarf ohne Zwischenhändler wie den Shim verteilen.

Weitere Informationen zu UEFI Secure Boot finden Sie unter So funktioniert UEFI Secure Boot im EC2Amazon-Benutzerhandbuch.

Eigene Schlüssel registrieren

Wie im vorherigen Abschnitt dokumentiert, benötigt Amazon Linux shim für UEFI Secure Boot auf Amazon keinenEC2. Wenn Sie die Dokumentation für andere Linux-Distributionen lesen, finden Sie möglicherweise eine Dokumentation zur Verwaltung der Machine Owner Key (MOK) -Datenbankmokutil, die auf AL2 023 nicht verfügbar ist. Die MOK Umgebungen shim und umgehen einige Einschränkungen der Schlüsselregistrierung in UEFI Firmware, die nicht auf die Implementierung von UEFI Secure Boot EC2 durch Amazon zutreffen. Bei Amazon EC2 gibt es Mechanismen, um die Schlüssel im UEFI Variablenspeicher einfach direkt zu manipulieren.

Wenn Sie Ihre eigenen Schlüssel registrieren möchten, können Sie entweder den Variablenspeicher innerhalb einer vorhandenen Instance bearbeiten (siehe Schlüssel aus der Instance zum Variablenspeicher hinzufügen) oder einen vorausgefüllten binären Blob erstellen, der vorgefüllt ist (siehe Erstellen eines binären Blobs mit vorgefülltem Variablenspeicher).