Nachdem ich Anfang des Jahres einen Überblick über meine Android-Apps, die ich regelmäßig verwende, veröffentlich habe, gibt es dieses Mal einen Überblick über Apps bzw. Software, welche ich im Alltag unter Arch Linux regelmäßig nutze. Wie auf meinen mobilen Endgeräten mit Android, versuche ich mein System generell schlank zu halten (im Sinne von nur Software zu installieren, die ich auch wirklich benötige) und bevorzugt Open-Source-Software einzusetzen.
Linux-Apps/Software, die ich regelmäßig auf meinem Arch-Linux-System verwende
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.
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.
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.
Arch Linux: AusweisApp2 inkl. Android-Smartphone als Kartenlesegerät einrichten
Vor Kurzem habe ich das erste mal die Online-Ausweisfunktion meines Personalsausweises verwendet. Dazu habe ich mir die offizielle quelloffene AusweisApp2 unter Arch Linux installiert. Als Kartenlesegerät kommt dabei mein NFC-fähiges Android-Smartphone mit der AusweisApp2-Android-App zum Einsatz. Bei der Einrichtung gibt es unter Arch Linux zwei Hürden zu bewerkstelligen. Zum einen findet sich die AusweisApp2 nicht in den offiziellen Paketquellen, sondern muss aus dem Arch User Repository (AUR) heruntergeladen und selbst kompiliert werden. Zum anderen muss die Firewall von Arch Linux angepasst werden, so dass ein NFC-fähiges Endgerät im WLAN als Kartenlesegerät genutzt werden kann. Details hierzu findet ihr in diesem Beitrag.