Kategorie: Linux

Linux & TPM: Praktische Anwendungsfälle

Die meisten Computer sind heutzutage mit einem TPM (Trusted Platform Module) ausgestattet. Dabei handelt es sich um einen Sicherheitschip, der zusätzliche Sicherheitsfunktionen auf Hardwareebene bereitstellt. In der Praxis liest man vom TPM häufig im Zusammenhang mit Secure Boot zur Absicherung des Bootvorgangs. Es gibt aber auch noch andere praktische Anwendungsfälle, für die man einen TPM-Chip nutzen kann. Einige Beispiele für den Einsatz unter Linux findet ihr im folgenden Beitrag.

Weiterlesen

GPG-Keys mit TPM verschlüsselt speichern

Analog zur Abscherung von SSH-Keys, lassen sich auch GPG-Keys mittels TPM (Trusted Platform Module) verschlüsselt speichern. Wie ihr das unter Linux bewerkstelligt, zeige ich euch in folgendem Beitrag.

Weiterlesen

LUKS-Festplatten-Vollverschlüsselung per SSH entsperren

Aktuell widme ich mich in meiner Freizeit dem Projekt mein Heimnetzwerk ("Homelab") neu aufzusetzen. Hierbei kommt ein kleiner Mini-PC als "Home"-Server zum Einsatz. Wie bei allen meinen Systemen soll eine Festplatten-Vollverschlüsselung mittels LVM on LUKS zum Einsatz kommen. Zudem möchte ich nicht dass der Server 24/7 läuft, sondern ihn immer nur bei Bedarf per Wake On LAN aufwecken. Konkret möchte ich also z.B. von unterwegs mich mittels VPN mit meinem Heimnetzwerk verbinden, per Wake On LAN den Server starten und dann auf dessen Services zugreifen.

Eine Herausforderung ist die während des Bootvorgangs benötigte Eingabe der Passphrase zum Entsperren des mit LUKS voll-verschlüsselten Systems. Eine Lösung, die ich euch in diesem Beitrag zeigen möchte, ist die Verwendung von Dropbear. Hierbei handelt es sich um einen "kleinen" SSH-Server, der ins initramfs integriert werden kann. Hierdurch lässt sich bereits während des Bootvorgangs eine SSH-Verbindung zum Server aufbauen und so aus der Ferne (Remote) die Passphrase zum Entsperren des Systems eingeben.

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