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.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Achtung!
Ohne ein sicheres Kennwort nutzt die stärkste Verschlüsselung nichts! Wie man Passwörter am besten wählt, steht hier: Sicherheits 1x1
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.
Vorbereitung¶
Zuerst wird das Paket
cryptsetup
installiert [1].
Anschließend muss das benötigte Kernelmodul mittels des folgenden Befehls [2] geladen werden:
sudo modprobe dm-crypt
Damit sollte die Vorbereitung abgeschlossen sein. Zukünftig müssten alle benötigen Module automatisch geladen werden. Dies kann mit der Eingabe
lsmod | grep dm[-_]crypt
überprüft werden. Sollte keine Ausgabe erfolgen, wird die folgende Zeile in der Konfigurationsdatei /etc/modules am Ende eingetragen [3]:
# http://wiki.ubuntuusers.de/LUKS dm-crypt
Verwendung¶
Hier wird ein Auszug der wichtigsten LUKS-Funktionen dargestellt. Für weitere Informationen, z.B. bezüglich der Verwendung von "Keyfiles" sei auf die entsprechenden Dokumentationen wie u.a. die Manpage von cryptsetup verwiesen.
Erstellen¶
Zum Erstellen eines LUKS-Geräts wird eine zu überschreibende Partition erzeugt oder ausgewählt. 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!
sudo cryptsetup -c aes-xts-plain -y -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 älteren Versionen wie Dapper stattdessen folgender Befehl nötig:
sudo cryptsetup -c aes-cbc-essiv:sha256 -y -s 256 luksFormat <Gerät>
Öffnen¶
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.
sudo cryptsetup luksOpen <Gerät> <Name>
Zum Laden eines LUKS-Geräts beim Systemstart wird diese Zeile in angepasster Form an die Datei /etc/crypttab angehängt [3]. Daraufhin wird bei jedem Startvorgang nach dem Passwort gefragt.
<Name> <Gerät> none luks
Schließen¶
Sobald das enthaltene Dateisystem nicht mehr eingehängt ist oder anderweitig verwendet wird, kann das LUKS-Gerät wie folgt geschlossen werden:
sudo cryptsetup luksClose <Gerät>
GUI¶
Seit Hardy sollten LUKS-Geräte auch mit Nautilus eingebunden werden können, wenn die oben erwähnte Vorbereitung durchgeführt wurde.
Des Weiteren gibt es auch die grafische Oberfläche GDecrypt 🇬🇧, mit der LUKS-Geräte erstellt und ein- bzw. ausgehängt werden können. Dazu muss das folgende Paket installiert [1] werden:
gdecrypt (universe, [4])
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:
sudo cryptsetup luksDump <Gerät>
Passwort hinzufügen¶
sudo cryptsetup luksAddKey <Gerät>
Passwort löschen¶
Ein bekanntes Passwort kann mit folgendem Befehl entfernt werden:
sudo cryptsetup luksRemoveKey <Gerät>
Will man hingegen einen bestimmten Slot löschen, kann man dies mit folgendem Befehl tun:
sudo cryptsetup luksKillSlot <Gerät> <Speicherplatz>
Alternativ kann in älteren Versionen auch wie folgt ein Slot entfernt werden:
sudo cryptsetup luksDelKey <Gerät> <Speicherplatz>
Passwort ändern¶
Zum Ändern eines Passworts wird zuerst das neue Passwort hinzugefügt und anschließend das alte entfernt.
Links¶
linuxwiki.de 🇩🇪