#!/coding/blatt
Sammelsurium mit Schwerpunkten Linux & IT-Sicherheit

Schlagwort: UEFI Secure Boot

fwupd: Firmware aktualisieren mit aktiviertem Secure Boot und eigenen Secure-Boot-Schlüsseln

Aus Sicherheitsgründen ist es ratsam neben dem regelmäßigen Aktualisieren des Betriebssystems und der dazugehörigen Anwendungssoftware auch die (Hardware-)Firmware seines Rechners aktuell zu halten. Unter Linux nutze ich hierfür fwupd mit Gnome Firmware als GUI. Im Normalfall erfordern die Firmware-Updates einen Neustart, bei welchem dann die fwupd-EFI-Datei anstelle des Betriebssystems geladen wird. Wer wie ich UEFI-Secure-Boot mit eigenen Schlüsseln (Keys) verwendet, muss hierzu jedoch sicherstellen, dass diese fwupd-EFI-Datei entsprechend mit dem eigenen Secure-Boot-Key signiert ist. Wie ich das unter Arch Linux bewerkstelligt habe, erfahrt in diesem Beitrag.

Weiterlesen

systemd-ukify: Unified Kernel Image (UKI) für UEFI Secure Boot mit YubiKey signieren

In einem älteren Beitrag hatte ich bereits beschrieben, wie ich mittels systemd-ukify sogenannte Unified Kernel Images (UKIs) zum Booten meines Arch-Linux-Systems erstelle. Die so generierten UKIs wurden dabei mit meinem eigenen UEFI-Secure-Boot-Schlüssel signiert. Dabei befand sich der private Secure-Boot-Schlüssel jedoch auf meinem System selbst, wobei dieser aber natürlich nur für den Root-Benutzer lesbar ist.

Eine andere Möglichkeit ist es, den privaten Secure-Boot-Schlüssel (konkret geht es um den Signature Database Key) auf einem Hardware-Security-Token, wie z.B. einem YubiKey, zu speichern. Der Vorteil besteht darin, dass der private Schlüssel sich nicht direkt auf dem eigentlichen System befindet und ein Zugriff auf den privaten Schlüssel erschwert wird bzw. ein Auslesen generell beim YubiKey nicht möglich ist. Die Kommunikation zwischen systemd-ukify (intern eigentlich sbsign) und YubiKey findet über die PKCS#11-Schnittstelle statt.

Weiterlesen

Arch Linux & Secure Boot: Unified Kernel Image (UKI) mit systemd-ukify erstellen & signieren

Bis vor Kurzem hatte ich zum Generieren von Unified Kernel Images (UKIs) mein selbstentwickeltes Tool secbootctl verwendet. Da ich derzeit nicht die Muße habe, es weiterzuentwickeln und es durch eine der letzten systemd-Änderungen sowie nicht mehr korrekt funktioniert hat, habe ich mein System nun auf systemd-ukify umgestellt. Als Bestandteil von systemd ist somit sichergestellt, dass die generierten UKIs zukünftig immer der initial vom systemd-Projekt initierten UAPI: Bootloader Specification entsprechen (also hoffe ich zumindest :)).

In Verbindung mit pacman, dem Paketmanager von Arch Linux, wird bei jedem Kernel-, initramfs- und CPU-Microcode-Update ein UKI erstellt und mit meinem eigenen UEFI-Secure-Boot-Schlüssel signiert. Wie das genau funktioniert, erfahrt ihr in diesem Beitrag.

Weiterlesen

Wie ich den Bootvorgang meines Linux-Notebooks absichere - UEFI Secure Boot, Measured Boot (TPM), LUKS

Nebst dem Absichern (Hardening) des Betriebssystems, sollte auch der eigentliche Bootvorgang, dem meist weniger Beachtung bzgl. Sicherheit geschenkt wird, abgesichert werden. Die beste Festplatten-Vollverschlüsselung bringt nicht allzu viel, wenn euer System z.B. mit einem manipulierten Kernel gebootet wird und im Hintergrund bspw. euer Passwort mitgeloggt wird. Aus diesem Grund ist es wichtig bereits beim Bootvorgang sichzustellen, dass nur vertrauenswürdige Firmware/Software geladen und ausgeführt wird.

In diesem Beitrag gebe ich euch einen Überblick darüber, welche Schritte ich umgesetzt habe, um ich mein Notebook mit Arch Linux sicher zu booten.

Weiterlesen

Arch Linux: Installation mit LVM, LUKS, AppArmor, systemd-boot und UEFI Secure Boot mit eigenen Keys

Vor Kurzem habe ich mein Notebook erfolgreich von Xubuntu auf Arch Linux umgestellt. Wie bei meiner bisherigen Xubuntu-Installation sollte Arch Linux natürlich mit Festplatten-Vollverschlüsselung (mittels LVM on LUKS) sowie aktiviertem AppArmor installiert werden. Außerdem wollte ich als zusätzliche Sicherheitsebene, Arch Linux mit aktiviertem UEFI Secure Boot in Verbindung mit eigenen Secure Boot Keys einrichten. In diesem Zusammenhang sollte zudem systemd-boot anstatt GRUB als Bootloader zum Einsatz kommen. Wie ich das Ganze umgesetzt habe, könnt ihr in diesem Beitrag lesen.

Weiterlesen