Schlagwort: 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

OpenWrt: NTP verschlüsseln via NTS und chrony

Das NTP (Network Time Protocol) dient der Synchronisation der Uhrzeit von Endgeräten über ein Netzwerk, wie z.B. das Internet. Die Kommunikation erfolgt dabei standardmäßig ungesichert (keine Verschlüsselung, keine Authentifizierung etc.) über Port UDP/123. Mit NTS (Network Time Security) gibt es seit 2020 aber eine auf Basis von TLS verschlüsselte und somit abgesicherte Alternative (Details siehe RFC 8915 sowie NTS: Absicherung von NTP gegen MITM-Angriffe).

Meinen OpenWrt-Router habe ich mittlerweile von NTP auf NTS umgestellt. Wie ich das mittels chrony umgesetzt habe, erfahrt ihr in folgendem Beitrag.

Weiterlesen