Datenschutz im digitalen Alltag

Damit Privates privat bleibt

LUKS - Betriebssystem verschlüsseln

LUKS (dm-crypt) ist die Standardmethode um unter Linux das komplette Betriebssystem zu verschlüsseln. Im Gegensatz VeraCrypt (siehe: VeraCrypt - Systemübergreifende Verschlüsselung) ist eine nachträgliche Verschlüsselung des Systems mit LUKS nur sehr schwer umzusetzen. Es muss deshalb davon abgeraten und die Neuinstallation mit konfigurierter LUKS-Partitionierung empfohlen werden.

In diesem Artikel soll auf die Verschlüsselungsoptionen der größeren Linux-Distributionen Ubuntu, Debian und openSUSE eingegangen werden. Dabei werden grundlegende Kenntnisse in der Installation von Linux-Distributionen und Partitionierung von Festplatten vorausgesetzt.

Inhalt:

  1. Vollverschlüsselung einrichten
  2. Debian
  3. Ubuntu & offizielle Derivate
  4. openSUSE
  5. CentOS
  6. Abschließende Einrichtung

Vollverschlüsselung einrichten

Die folgenden Anleitungen können bei fehlerhafter Anwendung zu Datenverlust führen. Es ist deshalb zwingend vorher ein Backup anzulegen und die Hinweise sind sorgsam zu lesen und umzusetzen.

Debian

Debian bietet in seiner Installationsroutine die Möglichkeit einer automatischen Partitionierung mittels LUKS. Dabei wird die Festplatte mittels LVM (Logical Volume Manager) partitioniert und je nach Nutzerwahl in eine root, swap und home Parition aufgeteilt.

Von dieser automatischen Routine ist in den meisten Fällen allerdings dringend abzuraten. Bei der automatischen Partitionierung wird die Root-Partiton mit lediglich etwas weniger als 10GB angelegt, was sich in der Regel als sehr knapp erweisen dürfte. Die notwendige Boot-Partition ist ebenfalls zu klein, vor allem, wenn man mehrere Kernel parallel installiert hat. Im Gegenzug ist die angelegte Swap-Partition in der Regel viel zu groß, da moderne Systeme mit mehr als 4 GB Arbeitsspeicher eine Swap-Partition eigentlich kaum noch benötigen.

Man sollte deshalb eine manuelle Partitionierung vornehmen. Sofern Debian das einzige Betriebssystem auf der Festplatte sein soll, empfiehlt es sich durch die Auswahl der entsprechenden Festplatte anfangs eine neue Partitionstabelle anzulegen. Bei modernen UEFI Systemen sollte das Paritionsschema wie folgt aussehen (idealisiertes/standardisiertes Modell):

  1. EFI Systempartition (~100 MB)
  2. Boot-Partition (Ext4 mit ~500MB)
  3. LUKS LVM
    1. Root-Partition (minimum 15GB)
    2. Swap (Sofern man kein Suspend-to-Disk benötigt und der Arbeitsspeicher groß genug ist kann diese Partition auch weggelassen werden.
    3. Home-Partiton (beliebige Größe, ggf. gesamter freier Platz)

Die ersten beiden Partitionen werden als normale Partitionen angelegt. Die EFI-Bootpartition wird für UEFI benötigt und die boot-Partition für den Bootloader (i.d.R. GRUB2). Dies ist notwendig, da GRUB ohne größere Konfigurationsänderungen nicht direkt von einer verschlüsselten Partition starten kann. In der boot-Partition werden deshalb die installierten Linux-Kernel gespeichert. Diese ungeschützte Partition verrät bei unbefugtem Zugriff zwar etwas über das installierte System (Kernel-Version, ggf. auch eingesetzte Distribution), beinhaltet aber keine Benutzerdaten.  

Anschließend muss ein Verschlüsselter Datenträger konfiguriert werden. Die Installationsroutine konfiguriert hier erst einmal die bisher eingerichteten Partitionen. Anschließend muss der für die Installation vorgesehene freie Bereich ausgewählt werden. Sofern vorher noch keine sensiblen Daten auf der Festplatte gespeichert waren, kann das Überschreiben des Datenträgers abgebrochen werden, da dieser Punkt sonst mehrere Stunden dauern kann (abhängig von der Größe der Festplatte).

Anschließend muss in dem verschlüsselten Bereich ein Logical Volume Manager (LVM) angelegt werden. Nach Auswahl des verschlüsselten LUKS-Partition wird in dieser erst eine Volumen-Gruppe angelegt, gefolgt von logischen Volumen für die Partitionen. Standardmäßig sollten die oben genannten Partitionen für root, swap und home ausreichen.

Abschließend müssen die angelegten logischen Volumen noch mit dem präferierten Dateisystem (Debian-Standard ist ext4) formatiert und die korrekten Einhängepunkte zugewiesen werden.


Ubuntu & offizielle Derivate

Die Verschlüsselung mit LUKS erledigt man in der grafischen Ubuntu Installation im Abschnitt zur Partitionierung der Festplatte. Hierzu muss die Schaltfläche Advanced Features gewählt werden.

Hier kann man eine LVM-basierte Partitionierung wählen. Mit einem zweiten Haken kann man diese zusätzlich verschlüsseln und anschließend ein Passwort festlegen.


OpenSUSE

OpenSUSE bietet von den hier genannten Distributionen die komfortabelste Installationsroutine - zumindest hinsichtlich der Verschlüsselung.

Sobald einen die Installationsroutine zur Partitionierung führt, erstellt man ein neues Partitionierungssetup. In diesem kann man initial sofort eine verschlüsselte Partitionierung auswählen. Die Installationsroutine fragt dann noch das gewünschte Passwort ab und richtet die Partitionierung entsprechend der Vorgaben ein.

Bei OpenSUSE bedeutet dies standardmäßig eine Home-Partition mit XFS-Dateisystem und eine Root-Partition mit Btrfs. Zudem wird noch eine kleine Swap-Partition mit 2 GB angelegt.

Die Boot-Partition wird standardmäßig ebenfalls mit Btrfs angelegt. Auf einigen Systemen führte das zu Problemen im weiteren Installationsablauf (Fehlermeldung bei der Partitionierung). In diesem Fall kann es sinnvoll sein die Boot-Partition mit ext4 zu partitionieren.


CentOS / RHEL

CentOS bzw. RHEL bieten in der Installationsroutine Anaconda eine einfache Einrichtung der LUKS-Vollverschlüsselung. Hierzu muss zuerst in der Konfigurationsoberfläche der Installationsroutine das Modul zur Partitionierung geöffnet werden.

Dort kann man unten per Haken in einer Checkbox die Verschlüsselung einrichten. Das System konfiguriert dann automatisch eine LVM-basierte LUKS-Verschlüsselung.

Nach einem Klick auf die Schalfläche Fertig oben links erfolgt noch eine Passwortabfrage.


Abschließende Einrichtung

Alle Distributionen fragen nun vor dem Start des Betriebssystems nach dem LUKS-Passwort. Sofern es lediglich einen Benutzer gibt, kann es sinnvoll sein, eine erneute Passwortabfrage für den Benutzer abzuschalten. Hierzu wählt man die automatische Anmeldung des Benutzers aus. Für openSUSE ist diese bereits in der Installationsroutine vorausgewählt und kann danach auch in den YaST-Benutzereinstellungen geändert werden. Unter Debian und Ubuntu lässt sich dies in den Einstellungen des gewählten Displaymanagers (LightDM, SDDM, oder GDM) festlegen.

Bei einem Mehrbenutzersystem sollte zusätzlich zu LUKS eine Verschlüsselung der Benutzerdaten mittels eCryptFS erfolgen. Andernfalls hat jeder Benutzer automatisch Zugriff auf die Daten der anderen Systembenutzer.

Lösungen zur Vollverschlüsselung von Betriebssystemen wie FileVault oder BitLocker bieten in der Regel die Möglichkeit einen so genannten Wiederherstellungsschlüssel während des Verschlüsselungsprozesses zu erzeugen. Denn auch wenn man es in dem Moment für unmöglich hält, Passwörter geraten immer mal wieder in Vergessenheit. LUKS bietet das standardmäßig nicht!

Das Thema wird nur sehr selten behandelt, aber wenn man sein System in einen verschlüsselten LVM-Container installiert hat und das Passwort vergisst ist man aufgeschmissen. Daher sollte man prophylaktisch von der Möglichkeit Gebrauch machen mehrere Keys anzulegen (bis zu 8 Keys kann man für das gleiche LUKS-Volume anlegen).

Um also einen s. g. Wiederherstellungsschlüssel anzulegen gibt man in der Konsole des laufenden und entsperren Systems ein:

# cryptsetup luksAddKey /dev/sdaX

Das X ersetzt man durch die Nummer des verschlüsselten Laufwerks. Es erfolgt eine Abfrage des bei der Ersteinrichtung festgelegten Passworts, das man zu diesem Zeitpunkt hoffentlich noch kennt.

Anschließend gibt man einen sehr langen neuen Schlüssel ein. LUKS erlaubt maximal 39 Zeichen. Diesen bewahrt man anschließend an einem sichereren Ort auf.

Tags: Sicherheit, Debian, Ubuntu, openSUSE, Verschlüsselung, LUKS, Installation, CentOS, RHEL

  • 1

Über [Mer]Curius

Immer größere Teile unseres Lebens haben sich in den vergangenen Jahren digitalisiert. Es gibt heute unzählige Dienste und jeder Mensch hinterlässt permanent Spuren. Die Datensätze, die hier entstehen wecken viele Begehrlichkeiten. Es besteht aber auch die Möglichkeit durch gezielte Maßnahmen die eigene Datenspur zu minimieren und Daten effektiv und sicher zu schützen. Damit entgeht man zwar nicht jeder Überwachungsmaßnahme, erlangt aber zumindest teilweise die Kontrolle über die eigenen Daten zurück.

→ Mehr über [Mer]Curius

Blog

Aktuelle Informationen, Debatten und Kommentare rund um die Absicherung der digitalen Identität.

Zum Blog