opsi mit Secure Boot

Secure Boot, manchmal auch "Secureboot" geschrieben, ist eine von OEM-Herstellern bereitgestellte zusätzliche Sicherheitsfunktion. Sie stellt sicher, dass autorisierte Software und Betriebssysteme auf dem Computer installiert werden können. Diese Schutzmaßnahme, die in neueren Versionen von Windows und in einigen Linux-Distributionen enthalten ist, gewährleistet, dass die Software, die auf Ihrem Computer ausgeführt wird, von einer vertrauenswürdigen Stelle überprüft wird. Secure Boot verwendet digitale Signaturen, um die Gültigkeit der Software, insbesondere der Dateien des Betriebssystems, zu bestätigen und sicherzustellen, dass sie nicht manipuliert wurde. Die Software muss zunächst zur Überprüfung an eine Zertifizierungsstelle geschickt werden, die sie dann mit einer digitalen Signatur versieht. Sobald sie signiert ist, kann sie auf einem Gerät ausgeführt werden, auf dem Secure Boot aktiviert ist. In diesem Fall überprüft das Gerät die Signatur, bevor es die Software ausführt; stimmt die Signatur nicht überein, lässt das System die Software nicht zu. Die Schlüssel im UEFI wurden vom Microsoft und meist dem OEM Hersteller erstellt und jedes geladene Binary im Secure Boot Modus muss auch von mit dem privaten Schlüssel des Schlüsselerstellers signiert werden.

Voraussetzungen

Dieses Modul ist momentan eine kostenpflichtige Erweiterung. Das heißt, dass Sie eine Freischaltdatei benötigen. Sie erhalten diese, nachdem Sie die Erweiterung gekauft haben. Zu Evaluierungszwecken stellen wir Ihnen kostenlos eine zeitlich befristete Freischaltung zur Verfügung. Bitte kontaktieren Sie uns dazu per E-Mail.

Weitere Details hierzu finden Sie im Kapitel opsi-Erweiterungen.

Die Erweiterung setzt opsi 4.1 oder neuer voraus. Die folgende Tabelle listet die benötigten opsi-Pakete auf:

Tabelle 1. Benötigte Pakete
opsi-Paket Version

opsi-linux-bootimage

>= 201900923-4

opsipxeconfd

>= 4.1.1.15-1

Allgemeine Anforderungen

Die Firmware der Clients muss UEFI und Secure Boot unterstützen. Genau wie für die UEFI-Erweiterung gilt: Das Modul unterstützt nur 64 Bit.

Für die Installation über PXE Boot (Preboot eXecution Environment) benötigen Sie ein UEFI-taugliches WinPE_UEFI (eine Variante von Windows PE, die speziell für den Start auf Systemen mit UEFI-Firmware konzipiert wurde). Oft enthält Windows PE (Windows Preinstallation Environment) bereits UEFI-Unterstützung (Ordner EFI und Datei winpe/bootmgr.efi des opsi-Netboot-Produkts). Andernfalls erstellen Sie mit DISM (Deployment Image Servicing and Management) ein aktuelles Windows PE (siehe Abschnitt Manuelles Erstellen eines PE). Ein UEFI-WinPE gehört in den Ordner winpe_uefi des opsi-Netboot-Produkts.

Sofern es ein Windows PE für beide Bootmodi gibt, können Sie winpe_uefi durch einen symbolischen Link auf winpe ersetzen.

Konfiguration des opsi-Servers für Secure-Boot-Clients

Einen externen DHCP-Server müssen Sie so konfigurieren, dass er PXE Boot über den opsi-Server ermöglicht. Tragen Sie linux/pxelinux.cfg/shimx64.efi.signed als Bootdatei ein.

clientconfig.dhcpd.filename=linux/pxelinux.cfg/shimx64.efi.signed

In der Management-Oberfläche opsi-configed setzen Sie für UEFI-Clients ein Häkchen bei UEFI-Boot. Alternativ konfigurieren Sie den Hostparameter clientconfig.dhcpd.filename für die Clients und tragen dort die Bootdatei ein:

clientconfig.dhcpd.filename=linux/pxelinux.cfg/shimx64.efi.signed

Sie können die Einstellung auch über das folgende Kommando vornehmen:

opsi-admin method configState_create "clientconfig.dhcpd.filename" "<Host-ID>" "linux/pxelinux.cfg/elilo.efi"
Die Angabe der Datei elilo.efi dient lediglich zum Aktivieren der Option UEFI-Boot in opsi-configed. Sie hat keinen Einfluss auf die Verwendung der DHCP-Bootdatei. In zukünftigen Versionen soll opsi-configed die korrekte Datei akzeptieren und eine Secure-Boot-Checkbox aktivieren.

Außerdem ändern Sie in der opsipxeconfd-Konfigurationsdatei die Template-Dateien für die UEFI-Installation. Dazu ersetzen Sie

uefi netboot config template x64

durch diesen Eintrag:

/tftpboot/linux/pxelinux.cfg/install-grub-x64
Nach dem Speichern der Änderungen führen Sie am besten den Befehl opsi-setup --init-current-config aus.

Alle UEFI-Clients booten die vom opsi-linux-bootimage mitgelieferte und von Microsoft signierte Datei shimx64.efi.signed. Clients mit aktiviertem Secure Boot verifizieren die Signatur und fahren dann fort. Clients ohne Secure Boot scheitern bei der Verifikation, starten dann aber trotzdem den GRUB2-Bootloader und fahren mit der Installation fort.

Der Installationsvorgang sieht genau gleich aus. Secure-Boot-Clients befinden sich nach der Installation im so genannten "sicheren Startzustand", gewöhnliche UEFI-Clients nicht. Den Zustand können Sie unter Windows mit dem Befehl msinfo32 prüfen.

Konfiguration der Secure-Boot-Clients

Die Menüs der unterschiedlichen BIOS-Versionen verwenden unterschiedliche Begriffe und Bezeichnungen. Wählen Sie im Zweifelsfall die Einstellung, die zu Ihrem Rechner passt:

  • Secure Boot aktivieren: Die Einstellung finden Sie oft im Bereich Boot oder Startup, manchmal auch im Bereich Security.

  • BIOS im UEFI-Modus: Wenn Sie die Wahl haben zwischen UEFI only, Legacy only oder Both, nehmen Sie UEFI only. Secure Boot funktioniert nur mit UEFI only. Gibt es den Eintrag Legacy Support, so deaktivieren sie diesen. CSM Support in Verbindung mit UEFI only kann aktiviert bleiben, wenn Sie keine andere Wahl haben. UEFI Network Boot aktivieren Sie; der Eintrag kann auch Network Stack heißen und unterhalb von UEFI liegen. Haben Sie an dieser Stelle die Möglichkeit, die Einstellung gesondert für IPv4 und IPv6 zu setzen, ist IPv4 die richtige Wahl.