ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

LUKS

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Achtung!

Ohne ein sicheres Kennwort nutzt die stärkste Verschlüsselung nichts! Wie man Passwörter am besten wählt, steht hier: Sicherheits 1x1

Hinweis:

Alle folgenden Befehle benötigen Root-Rechte. Man sollte also entweder immer sudo vor das betreffende Kommando setzen oder mit sudo -s Root-Status erlangen!

./logo.png

Diese Anleitung geht auf die Erstellung und Wartung von verschlüsselten Datenträgern mittels LUKS - Linux Unified Key Setup 🇬🇧 - ein. Es handelt sich um das Standardverfahren zur Festplattenverschlüsselung unter Linux. Dabei werden alle nötigen Informationen zum Öffnen einer verschlüsselten Partition oder Container-Datei in dieser gespeichert. Das erlaubt es auch HAL, beim Anschließen eines externen Datenträgers mit verschlüsselten Partitionen diese nach Passwortabfrage automatisch einzubinden.

Es wird hier nur auf die Verwendung von LUKS eingegangen. Für eine Schritt für Schritt-Anleitung zum Verschlüsseln des Systems bitte die Artikel Daten verschlüsseln und System verschlüsseln hinzuziehen.

Vorbereitung

Zuerst wird dieses Paket installiert [1].

  • cryptsetup

In Dapper muss dazu universe [2] aktiviert sein.

Anschließend wird das benötigte Kernelmodul mittels des folgenden Befehls [3] geladen:

modprobe dm-crypt 

Damit sollte die Vorbereitung abgeschlossen sein. Zukünftig werden alle benötigen Module automatisch geladen.

Verwendung

Hier wird ein Auszug der wichtigsten LUKS-Funktionen dargestellt. Für weitere Informationen sei auf die entsprechenden Dokumentationen wie u.a. die Manpage von cryptsetup verwiesen.

Erstellen

Hinweis:

Es ist aus Sicherheitsgründen empfehlenswert, die Partition einmal mit Zufallszahlen zu überschreiben, vor allen Dingen, wenn vorher darauf unverschlüsselte Daten gespeichert waren. [7]

Zum Erstellen eines LUKS-Geräts wird eine zu überschreibende Partition erzeugt oder ausgewählt [4]. Daraufhin wird dieser Befehl ausgeführt, wobei <Gerät> durch den entsprechenden Namen ersetzt werden muss, z.B /dev/sde9:

Achtung!

Alle bisherigen Daten auf dem betreffenden Gerät gehen verloren!

cryptsetup -c aes-xts-plain -s 512 luksFormat <Gerät>  

Experten-Info:

XTS unterstützt Verwaltungsschlüssel von 128 oder 256 Bit. 512 heißt in dem Fall, dass sowohl AES als auch XTS die maximale Schlüssellänge von 256 Bit verwenden.

Um eine höhere Lese-/Schreibgeschwindigkeit zu erzielen, kann auch stattdessen 256 eingesetzt werden - das entspricht einer 128 Bit Verschlüsselung. Dies ist z.B. für Systempartitionen und langsamere Systeme empfehlenswert.

Alternativ ist es möglich, den Verschlüsselungsalgorithmus Twofish zu verwenden. Dazu wird aes-xts-plain durch twofish-xts-plain ersetzt.

Da XTS erst ab Hardy zur Verfügung steht, ist unter Dapper stattdessen folgender Befehl nötig:

cryptsetup -c aes-cbc-essiv:sha256 -s 256 luksFormat <Gerät> 

Öffnen

Hinweis:

Die verschlüsselte Partition kann erst zum Speichern von Daten verwendet werden, wenn sie mit einem Dateisystem formatiert wurde!

Um ein LUKS-Gerät verwenden zu können, muss es erstmal wie im Folgenden beschrieben geöffnet werden, wobei der Name variabel ist, aber keine Sonder- und Leerzeichen enthalten sollte. Nach Eingabe des Passwortes wird die Partition unverschlüsselt auf /dev/mapper/<Name> abgebildet und kann mit dieser Bezeichnung beispielsweise zum Formatieren oder Ein-/Aushängen angesprochen werden. (Hinweis: Die Formatierung mit GParted kann zu Problemen führen)

cryptsetup luksOpen <Gerät> <Name> 

Beim Start mit Passwortabfrage

Zum Laden eines LUKS-Geräts beim Systemstart wird diese Zeile in angepasster Form an die Datei /etc/crypttab angehängt [5]. Daraufhin wird bei jedem Startvorgang nach dem Passwort gefragt.

  <Name>         <Gerät>          none           luks

Anstelle der Gerätebezeichnung ist es auch möglich und empfehlenswert die entsprechende UUID zu verwenden. <Gerät> würde dann durch UUID=<UUID> ersetzt.

Anschließend müssen noch mit folgendem Befehl die Startdateien aktualisiert werden:

update-initramfs -u -k all 

Beim Start ohne Passwortabfrage

Es gibt drei mehr oder minder geeignete Varianten zum Öffnen von LUKS-Geräten beim Start ohne extra Passworteingabe.

LVM

Es ist möglich eine große Partition mit LUKS zu verschlüsseln und in dieser ein LVM-Gerät anzulegen. In diesem können beliebig viele logische Partitionen erstellt werden, die alle mittels einer Passworteingabe freigeschaltet werden.

Der Einrichtungsvorgang bei einer Neuinstallation ist im Artikel System verschlüsseln beschrieben.

Schlüsselableitung

Seit Hardy gibt es das so genannte Decrypted-Derived-Script, das den Schlüssel aus einem bereits geöffneten LUKS-Gerät berechnen kann. Mit diesem können nach der Freischaltung des Ursprungsgeräts beliebig viele geöffnet werden.

Auf die Verwendung geht der Artikel LUKS/Schlüsselableitung ein.

Schlüsseldatei

Des Weiteren ist es möglich, LUKS-Geräte mit einer Schlüsseldatei zu öffnen. Da diese jedoch das Passwort im Klartext enthält, wird von dieser Variante abgeraten.

Auf die Verwendung geht der Artikel LUKS/Schlüsseldatei ein.

Bei der Anmeldung

Außerdem ist es möglich mittels eines extra PAM-Plugins ein LUKS-Gerät automatisch beim Login einzuhängen, wenn einer der LUKS-Schlüssel identisch mit dem Anmeldepasswort ist. Die Anleitung dazu würde den Rahmen dieses Artikels sprengen, es ist aber am Beispiel der Home-Partition hier beschrieben.

Nach der Anmeldung

Seit Hardy können LUKS-Geräte auch mit Nautilus eingebunden werden, wenn die oben erwähnte Vorbereitung durchgeführt wurde. Das Passwort kann im GNOME-Schlüsselbund hinterlegt werden, so dass LUKS-Geräte ohne extra Abfrage eingehängt werden können.

Schließen

Sobald das enthaltene Dateisystem nicht mehr eingehängt ist oder anderweitig verwendet wird, kann das LUKS-Gerät wie folgt geschlossen werden:

cryptsetup luksClose <Name> 

Passwörter verwalten

LUKS bietet insgesamt acht Speicherplätze (genannt "Slot" 0-7) für änderbare Passwörter, die jeweils den Zugriff auf die Daten erlauben. Die belegten Speicherplätze und Headerinformationen lassen sich mittels dieses Befehl überprüfen:

cryptsetup luksDump <Gerät> 

Passwort hinzufügen

Zuerst das alte Passwort eingeben, dann das neue.

cryptsetup luksAddKey <Gerät> 

Passwort löschen

Ein bekanntes Passwort kann ab Intrepid mit folgendem Befehl entfernt werden:

cryptsetup luksRemoveKey <Gerät> 

Will man hingegen einen bestimmten Slot löschen, kann man dies mit folgendem Befehl tun:

cryptsetup luksKillSlot <Gerät> <Speicherplatz> 

Alternativ muss in Dapper und Hardy wie folgt ein Slot entfernt werden:

cryptsetup luksDelKey <Gerät> <Speicherplatz> 

Passwort ändern

Zum Ändern eines Passworts wird zuerst das neue Passwort hinzugefügt und anschließend das alte entfernt.

GUI

Mit dem Programm GDecrypt 🇬🇧 können LUKS-Geräte erstellt und ein- bzw. ausgehängt werden. Dazu wird ab Hardy das folgende Paket installiert [1]:

  • gdecrypt (universe, [2])

Diese Revision wurde am 5. September 2009 00:34 von JayyaJ erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Sicherheit, Verschlüsselung