Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – VIII – Systemd-Fehler nach Neustart

Im letzten Beitrag dieser Serie

Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – I – Vorüberlegungen
Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – II – Vorüberlegungen zur Virtualisierung
Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – III – Zugriffs-Layer
Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – IV – Disk-Layout
Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – V – kryptierte Partitionen und Alignment
Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – VI – Key-Slots, PBKDF2- und MK-Iterationen
Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – VII – Grundinstallation für LUKS on LVM

hatte ich beschrieben, dass wir während einer Opensuse-Installation mit selbst konfigurierten LUKS-Volumes (LUKS on LVM) manuell dafür sorgen müssen, dass die Datei “/etc/crypttab” im künftigen “/”-FS existiert, bevor der Installer gegen Ende der Installation “dracut” aufruft. Der Opensuse-Installer unterstützt uns dabei leider nicht :-(.

Sollte das jedoch schief gegangen sein oder sollte die selbst verfasste “/etc/crypttab” einen falschen Eintrag aufweisen, schlägt der erste Systemstart nach der Installation fehl. Ich gehe davon aus, dass das zu bootende LUKS-Volume mit LUKS1 (und nicht LUKS2) für die Verschlüsselung formatiert wurde, so dass Grub2 es ansprechen kann. Man wird dann zwar noch von Grub2 nach der Passphrase für das LUKS-Volume mit dem “/”-FS” gefragt und erhält auch noch das grafische Grub-Menu mit einer Auswahl an bootbaren Systemen. Der nachfolgende systemd-Start aus dem initramfs schlägt jedoch fehl. Die Fehler münden nach einem längeren Warten auf einen Time-Out schließlich in den Start einer “dracut”-Emergency-Shell mit zugehörigem Prompt.

Hier kann man aber manuell einen Versuch zur Korrektur der unvollständigen Konfiguration von initramfs und systemd unternehmen – ohne die langwierige Installation komplett wiederholen zu müssen.

Das, was ich nachfolgend beschreibe, kann aber auch nützlich sein, wenn man in späteren Stadien irgendwelche Fehler in die “/etc/crypttab” eingebracht hat – und man das System nicht mehr vollständig von seinen verschlüsselten LUKS-Volumes booten kann.

Mit FS kürze ich nachfolgend “Filesystem” ab.

Continue reading

Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – VII – Grundinstallation für LUKS on LVM

In den letzten Beiträgen meiner Serie zu Voll-Verschlüsselung eines Laptops und angrenzenden Themen

Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – I – Vorüberlegungen
Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – II – Vorüberlegungen zur Virtualisierung
Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – III – Zugriffs-Layer
Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – IV – Disk-Layout
Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – V – kryptierte Partitionen und Alignment
Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – VI – Key-Slots, PBKDF2- und MK-Iterationen

haben wir uns auf einer externen SSD bereits Partitionen und LUKS-LVM-Volumes (LUKS on LVM / VGs: vga, vgs / LVs: lva1, lvs1) für eine Test-Installation von Opensuse Leap 15.0 erstellt. Das Alignment hatten wir dabei – entgegen den Fake-Informationen des externen USB-Controllers – bereits auf die spätere Nutzung der SSD direkt am SATA-III-Bus des Laptops ausgerichtet. Wir schließen diese Disk nun an den Laptop als externe USB-Disk an und nehmen eine Opensuse-Leap15-Installation vor. Ich greife dabei auf ein ISO-Image für eine Installations-DVD zurück. Der Laptop wird von mir an ein geeignetes LAN-Segment angeschlossen; Firewalls erlauben einen Zugriff auf Update Repositories von Opensuse im Internet.

Der Installationsprozess muss anschließende Boot-Vorgänge von verschlüsselten LVM-Volumes sicherstellen. Das betrifft einerseits reguläre Bootvorgänge, andererseits aber auch einen Bootvorgang aus einem vorhergehenden Hibernation-Zustand. Wir ignorieren letzteres in einem ersten Anlauf – und verzichten zunächst völlig auf die Einbindung eines SWAPs. Das führt zu einer Vereinfachung; der Hauptgrund ist aber, dass der Opensuse-Installer mit der Konfiguration auf Basis vorgefertigter LUKS-Devices Probleme hat.

Ich gehe zu Beginn dieses Artikels kurz auf Schritte und Elemente eines regulären Boot-Vorgangs ein und bespreche erst danach einige wichtige Schritte während der Installation. Das erscheint mir zum besseren Verständnis einiger Aktionen sinnvoll.

Ziel ist zudem keine detaillierte, allgemeingültige Installationsanleitung für Opensuse Leap; ich setze vielmehr voraus, dass der interessierte Leser auf seinem Laptop schon mal eine Standard-Opensuse-Installation durchgeführt hat. Hier geht es lediglich um Besonderheiten, die bei der Installation auf LUKS-Volumes zu beachten sind.

Hinweise: Mein Laptop hat ein Optimus-System (prozessorinterne Grafikkarte + Nvidia-Karte im Verbund). Das macht immer etwas Probleme; in meinem Fall muss man von vornherein bestimmte Video-Einstellungen wählen, um überhaupt den grafischen Install-Bildschirm zu erreichen. Darauf werde ich kurz eingehen. Zudem besitzt mein Test-Laptop noch ein Legacy BIOS. Mit OS kürze ich nachfolgend “Betriebssystem” ab; FS steht für “Filesystem”.

Für die
schlechte Qualität der Bilder entschuldige ich mich; ich habe die am Abend gemacht und die falsche Einstellung am Handy gewählt :-(.

Continue reading

Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – VI – Key-Slots, PBKDF2- und MK-Iterationen

Im letzten Beitrag meiner Serie zu Voll-Verschlüsselung eines Laptops und angrenzenden Themen

Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – I – Vorüberlegungen
Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – II – Vorüberlegungen zur Virtualisierung
Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – III – Zugriffs-Layer
Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – IV – Disk-Layout
Laptop – SSD mit dm-crypt/Luks -Verschlüsselung und Opensuse Leap 15 – V – kryptierte Partitionen und Alignment

hatten wir LVM-Volumes angelegt und mit LUKS verschlüsselt. Dabei tauchte das Thema der Anzahl von PBKDF2-Iterationen unter LUKS in zwei Ausprägungen auf:

  • Anzahl der Iterationen pro Key-Slot. Diese Zahl sollte aus Sicherheitsgründen möglichst hoch sein.
  • Anzahl der Iterationen für den Master-Key-Digest (MK-Digest; hash-basierter Fingerprint). Weniger sicherheitsrelevant.

Kann man diese Iterationen individuell steuern oder im Nachhinein irgendwie ändern? Die Antwort ist: Für die sog. Key Slots schon, für den MK-Digest nicht ohne Neu-Anlage des LUKS-Volumes (mit Datensicherung und erneuter Einspielung) und damit Neu-Verschlüsselung oder Neuanlage des LUKS-Headers zum gleichen Master-Key.

Es gibt inzwischen zwar ein Kommando “cryptsetup-reencrypt”, das einen Lauf zur Recryptierung aller vorhandenen Daten in situ durchführt. Die man-Seite bietet aber auch für “cryptsetup-reencrypt” keinen Parameter zur separaten Festlegung der Iterationszahl für den MK-Digest an. Das Kommando gilt zudem als experimentell. Ich selbst habe es noch nie ausprobiert.

Die Iterationsanzahl des MK-Digest kann man beim Anlegen eines LUKS-Devices (indirekt) festlegen. Änderungen erfordern eine Neuanlage oder einen Re-Encrypt-Prozess. Hält man die Anzahl der Iterationen für den Digest für zu klein, sollte man also am besten gleich zu Anfang gegensteuern. Das ist das erste Thema dieses Beitrags.

Das zweite Thema ist, wie man mit Hilfe einer temporären Umschlüsselung die Iterationsanzahl für einen “Key Slot” ändert. Dabei sehen wir nebenbei auch, wie man einen weiteren “Key Slot” anlegt.

Das dritte Thema ist ein Backup des LUKS-Headers.

Zwischenzeitlich hat mich eine Mail erreicht, in der sich ein Leser vor einer weiteren Durchführung von LUKS-Befehlen eine kurze, prägnante Erläuterung von LUKS-Prinzipien und der sog. Key-Slots wünschte. Die nachfolgenden Schritte erfordern tatsächlich ein klares Verständnis des LUKS-Verfahrens. Ich stelle daher eine knappe Zusammenfassung von LUKS an den Anfang.

Continue reading