Was ist Secure Boot und warum ist es wichtig?
Secure Boot ist eine Sicherheitsfunktion von UEFI (Unified Extensible Firmware Interface), die sicherstellt, dass beim Booten eines Systems nur vertrauenswürdige Software ausgeführt wird. Durch die Validierung von Signaturen verhindert Secure Boot das Laden von Malware oder manipulierter Software, wodurch die Sicherheit des Systems bereits beim Start erhöht wird. Besonders in Umgebungen, in denen Sicherheitsanforderungen hoch sind, wie Unternehmen oder öffentliche Verwaltungen, bietet diese Funktion einen erheblichen Schutz.
Welche Linux-Distributionen unterstützen Secure Boot?
Die Unterstützung von Secure Boot hat sich in den letzten Jahren verbessert. Viele Distributionen bieten heute entweder eine standardmässige Unterstützung oder können mit manuellen Anpassungen entsprechend konfiguriert werden. Die folgende Liste enthält die wichtigsten Distributionen mit Secure Boot-Support im Jahr 2024:
Debian: Unterstützt Secure Boot seit Version 10 („Buster“) mithilfe des Shim-Bootloaders.
Ubuntu und Derivate: Alle Varianten wie Kubuntu, Xubuntu und Lubuntu unterstützen Secure Boot.
Fedora: Vollständig kompatibel mit Secure Boot.
openSUSE: Sowohl Leap als auch Tumbleweed bieten Unterstützung.
Zorin OS: Unterstützt Secure Boot standardmässig.
AlmaLinux und Rocky Linux: RHEL-kompatible Distributionen mit vollständiger Secure Boot-Unterstützung.
Red Hat Enterprise Linux (RHEL): Bietet robuste Secure Boot-Funktionen für Unternehmensumgebungen.
SUSE Linux Enterprise (SLE): Unterstützt Secure Boot standardmässig.
Linux Mint: Verfügbar auf neueren „EDGE“-ISOs mit Secure Boot-Support.
Arch Linux und Gentoo: Unterstützen Secure Boot mit manueller Konfiguration.
Solus: Unterstützt Secure Boot seit Version 4.4.
EndeavourOS und Manjaro: Bieten Tools zur Konfiguration von Secure Boot.
Pop!_OS und andere Ubuntu-basierte Derivate: Mit Shim-Integration kompatibel.
Slackware: Kann manuell für Secure Boot konfiguriert werden.
Herausforderungen und Bedeutung
Während viele Distributionen Shim nutzen, um Secure Boot zu ermöglichen, gibt es Unterschiede in der Implementierung. Beispielsweise können Kernel-Module durch DKMS signiert werden, was in einigen Fällen eine manuelle Konfiguration erfordert. Die Notwendigkeit eines von Microsoft signierten Bootloaders wird von einigen in der Open-Source-Community kritisch gesehen, da es theoretisch die Kontrolle der Hardwarehersteller und Nutzer einschränken könnte.
Für viele Benutzer bleibt Secure Boot jedoch eine essentielle Funktion, besonders für diejenigen, die auf duale Boot-Systeme angewiesen sind oder in sicherheitskritischen Bereichen arbeiten. Dank der fortschreitenden Entwicklung in Linux-Distributionen wird es immer einfacher, Secure Boot ohne komplexe Konfiguration zu nutzen.
Shim ist ein kleiner Bootloader, der entwickelt wurde, um Linux-Distributionen auf Systemen zu starten, die Secure Boot verwenden. Er dient als Bindeglied zwischen der UEFI-Firmware (Unified Extensible Firmware Interface) und einem Hauptbootloader wie GRUB (GNU GRUB). Shim wird typischerweise von Linux-Distributionen genutzt, um die Anforderungen von Secure Boot zu erfüllen, ohne dass Benutzer tiefgehende Änderungen vornehmen müssen.
Shim arbeitet in mehreren Schritten:
Signierung durch Microsoft:
Shim wird von der jeweiligen Linux-Distribution erstellt und dann mit dem öffentlichen Microsoft-Schlüssel signiert. Dies stellt sicher, dass die UEFI-Firmware Shim als vertrauenswürdigen Bootloader akzeptiert, da die Firmware standardmässig Microsofts Zertifikate als vertrauenswürdig anerkennt.
Laden von GRUB oder einem Kernel:
Shim lädt anschliessend den Hauptbootloader (z. B. GRUB) oder direkt einen Linux-Kernel. Damit dies möglich ist, muss GRUB oder der Kernel entweder:
Mit einem vom Shim unterstützten Schlüssel signiert sein.
Durch den Machine Owner Key (MOK) validiert werden.
Machine Owner Key (MOK):
Ein MOK ist ein vom Benutzer generierter Schlüssel, der in das UEFI-System eingebracht werden kann. Dieser Mechanismus ermöglicht es dem Benutzer, zusätzliche Schlüssel zur Signierung von Kernelmodulen oder alternativen Bootloadern zu verwenden. Der MOK erweitert somit die Flexibilität von Shim.
Verifizierung der Signaturen:
Bevor GRUB oder der Kernel geladen wird, überprüft Shim, ob deren digitale Signaturen mit einem vertrauenswürdigen Schlüssel übereinstimmen. Bei einem positiven Ergebnis wird die Software geladen, andernfalls blockiert Shim den Start.
Einfacher Zugang zu Secure Boot:
Benutzer müssen nicht aufwendige manuelle Konfigurationen vornehmen, da Shim standardmässig mit den meisten modernen Linux-Distributionen geliefert wird.
Flexibilität durch MOK:
Benutzer können eigene Schlüssel verwenden, um spezielle Kernel oder Module zu signieren, ohne die Secure Boot-Funktionalität komplett deaktivieren zu müssen.
Verbreitete Unterstützung:
Da Microsofts Zertifikat fast universell in UEFI-Systemen integriert ist, ermöglicht Shim den Betrieb von Linux auf einer breiten Palette von Hardware.
Abhängigkeit von Microsoft:
Da Shim auf Microsofts Zertifikat angewiesen ist, wird dies von der Open-Source-Community oft kritisch gesehen. Manche befürchten, dass dies eine Machtkonzentration in den Händen eines Unternehmens bedeutet.
Komplexität für Benutzer:
Obwohl Shim viele Prozesse automatisiert, können Benutzer bei der Arbeit mit MOKs oder unsignierten Kernelmodulen auf Herausforderungen stossen.
Sicherheitsrisiken bei Fehlern:
Unsachgemässe Nutzung oder fehlerhafte Konfiguration von Shim kann Sicherheitsrisiken mit sich bringen, wie das unbeabsichtigte Zulassen unsicherer Software.
Manjaro Linux unterstützt Secure Boot standardmässig nicht, so dass es notwendig ist, Secure Boot im BIOS/UEFI-Firmware Ihres Systems zu deaktivieren, um das Betriebssystem problemlos zu starten oder zu installieren. Es ist jedoch technisch möglich, Secure Boot mit Manjaro zu aktivieren, indem Sie Bootloader- und Kernel-Binärdateien manuell mit Ihren eigenen Schlüsseln signieren, ein Prozess, der der Secure Boot-Einrichtung von Arch Linux ähnelt. Dies erfordert eine fortgeschrittene Konfiguration, einschliesslich der Erstellung von benutzerdefinierten Schlüsseln, deren Eintragung in die Firmware und der manuellen Signierung der notwendigen Komponenten wie GRUB und Kernel-Binärdateien.
Das Fehlen von Out-of-the-Box-Unterstützung bedeutet, dass die Aktivierung von Secure Boot nicht einfach ist und bei Updates, bei denen neue Kernel- oder Bootloader-Versionen ebenfalls manuell signiert werden müssen, zu Problemen führen kann. Darüber hinaus gab es in der Community Interesse und Diskussionen darüber, Secure Boot-Unterstützung in Manjaro zu integrieren, aber im Moment sind solche Funktionen noch nicht standardmässig verfügbar.
Wenn Secure Boot für Ihr Setup entscheidend ist, sollten Sie Distributionen wie Ubuntu, Fedora oder openSUSE in Betracht ziehen, die diese Funktion von Haus aus unterstützen. Mit etwas Erfahrung können Sie Manjaro auch manuell für Secure Boot konfigurieren, indem Sie die Anleitungen von Arch Linux zu diesem Thema nutzen.
https://gist.github.com/Jai-JAP/5d5d9f67f19e5e5eaf6825b371a17d5d
Microsoft hat eine zentrale Rolle bei der Implementierung und Kontrolle von Secure Boot, hauptsächlich aus folgenden Gründen:
Secure Boot ist eine Funktion des UEFI-Standards, die von der Unified EFI Forum-Arbeitsgruppe entwickelt wurde, zu der Microsoft als einflussreiches Mitglied gehört. Ziel von Secure Boot ist es, sicherzustellen, dass nur vertrauenswürdige Software beim Start eines Computers ausgeführt wird. Microsoft war einer der Hauptförderer dieser Funktion und hat frühzeitig Anforderungen für PCs mit Windows-Betriebssystemen eingeführt, insbesondere für OEM-Geräte.
Für Secure Boot benötigt Software wie Bootloader und Kernel gültige digitale Signaturen. Microsoft bietet ein zentrales Zertifikat an, das von praktisch allen OEMs in deren UEFI-Firmware integriert ist. Dadurch wird Microsoft zur De-facto-Stelle für die Verteilung von Signaturen:
Shim Bootloader: Viele Linux-Distributionen verwenden den Shim-Bootloader, der mit Microsofts Schlüsseln signiert ist. Dies ermöglicht, dass der Bootloader als vertrauenswürdig angesehen wird und eigene Schlüssel zur Signierung von Linux-Kerneln einbinden kann
Die Abhängigkeit von Microsofts Zertifikat stellt sicher, dass Secure Boot auf einer breiten Palette von Geräten funktioniert, schafft jedoch eine gewisse Abhängigkeit von Microsoft.
Microsofts dominierende Position auf dem Betriebssystemmarkt, insbesondere mit Windows, hat dazu geführt, dass die meisten PC-Hersteller deren Anforderungen berücksichtigen. Secure Boot wurde ursprünglich mit Windows 8 eingeführt und ist seitdem eine Voraussetzung für die Windows-Zertifizierung durch OEMs. Dies hat Secure Boot stark standardisiert, aber auch Microsoft in eine privilegierte Position gebracht.
Die Abhängigkeit von Microsoft wird in der Open-Source-Community oft kritisiert, da sie theoretisch Einschränkungen für alternative Betriebssysteme schaffen könnte. Es gibt zwar Initiativen, wie die Einführung eigener Schlüssel durch Linux-Distributionen oder die Nutzung von Machine Owner Keys (MOK), aber Microsoft bleibt zentral in der Infrastruktur.
Mehr Videos findet man auf meinem Youtube Kanal linuxcoach:
https://www.youtube.com/@linuxcoach
Ein weiterer Interessanter Artikel zu diesem Thema:
https://computer-experte.ch/g4music/