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

Virtual Machine Manager & QEMU/KVM: Port-Forwarding zw. Host und VM ohne Root-Rechte mit "passt"-Backend

Aus Sicherheitsgründen ist es empfehlenswert VMs ohne Root-Rechte auszuführen. Wie sich das mit Virtual Machine Manager (VMM) und QEMU/ KVM umsetzen lässt, hatte ich bereits in dem Beitrag Virtual Machine Manager & QEMU/KVM: VMs ohne Root-Rechte ausführen beschrieben.

Ohne Root-Rechte verwendet eine VM standardmäßig das funktional eingeschränkte "Benutzermodus"-Netzwerk mit SLIRP als Backend. Grundsätzlich erlaubt auch SLIRP Port-Forwarding, aber das lässt sich anscheindend nicht direkt über VMM konfigurieren. Seit libvirt v9.0.0 kann für das "Benutzermodus"-Netzwerk als Alternative zu SLIRP das moderne und mit "security in mind" entwickelte passt als Backend genutzt werden. Hiermit lassen sich Port-Weiterleitungen direkt in VMM - derzeit allerdings nur durch manuelle XML-Anpassung - einstellen.

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

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

GrapheneOS: Contact Scopes - Berechtigung für Zugriff auf Kontakte feingranular einstellen

Mit der neuesten Version von GrapheneOS (2023051600) gibt es ein neues Feature namens Contact Scopes. Hierdurch besteht nun die Möglichkeit je App die Berechtigung für den Zugriff auf die gespeicherten Kontakte feingranular einzustellen. Anstatt einer den Datenschutz betreffend fragwürdigen App, wie z.B. WhatsApp, den vollen Zugriff auf alle Kontakte zu gewähren, lässt sich der Zugriff auf ausgewählte Gruppen von Kontakten, einzelnen Kontakten, oder bei Bedarf auch nur auf einzelne Telefonnummern, beschränken.

Weiterlesen