LUKS - Betriebssystem verschlüsseln

Foto: © Scanrail / Fotolia.com

Foto: © Scanrail / Fotolia.com

LUKS (dm-crypt) ist die Standardmethode um unter Linux das komplette Betriebssystem zu verschlüsseln. Alternativ bzw. ergänzend kann man mittels eCryptFS lediglich die Benutzerdaten zu verschlüsseln. Im Gegensatz zu eCryptFS und Truecrypt 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. Abschließende Einrichtung

Vollverschlüsselung einrichten

Achtung - Backup anlegen

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 muss in den meisten Fällen allerdings dringend abgeraten werden. Bei der automatischen Partitionierung wird die Root-Partiton mit lediglich etwas weniger als 10GB angelegt, was sich in den allermeisten Fällen 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 Arbeitspeicher 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 sein 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)

debian partitionierung luksDie 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.

debian partitionierung lvmNach 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 Ubuntu Installationsroutine ist zwar grafisch deutlich ansprechender als das Debian-Äquivalent, funktioniert allerdings bei der Partitionierung identisch. Der gezeigte Debian-Ablauf funktioniert somit auch unter Ubuntu.

Bei Ubuntu 14.04 Trusty Tahr kann es bei der Erstellung des verschlüsselten Volumes zu einer Fehlermeldung kommen, deren Ursache mir nicht vollständig klar ist und die sich nur auf realer Hardware (d.h. keine VM) reproduzieren lässt. In diesem Fall kann man Ubuntu auch via Mini-ISO installieren. Diese ist identisch mit der Debian-Installationsroutine.

OpenSUSE

opensuse luksOpenSUSE 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 setzt man die Haken für LVM-basierten Vorschlag erstellen und Volume-Gruppe verschlüsseln. 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.

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, KDM, 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.

Über

[Mer]Curius bietet Informationen zur technischen Dimension des Datenschutz im digitalen Bereich. Neben permanent aktualisierten Artikeln zu Betriebssystemen, Verschlüsselung und Kommunikationsabsicherung werden im Blog aktuelle Trends präsentiert und kommentiert.

Top