Datenträger verschlüsseln mit LUKS und dm-crypt

23. Januar 2014 Linux

Gerade bei Notebooks kommt es immer wieder vor, das man Daten möglichst verschlüsselt dabei haben möchte. Linux bietet mit dem Kernelmodul dm-crypt und LUKS ein System um Datenträger direkt auf Datenträgerebene zu verschlüsseln. Das Verfahren funktioniert mit einer einzelnen Partition, aber auch mit einem ganzen Datenträger. Im ersten Teil erkläre ich die Grundlagen, die immer gleich sind, im zweiten Teil werde ich dann darauf eingehen wie man jeweils für Partitionen und ganze Datenträger vorgeht.

Zuerst muss die Verschlüsselung auf dem Datenträger eingerichtet werden. Dazu verwenden wir:

sudo cryptsetup luksFormat -c aes-xts-plain64 -s 512 /dev/sdX

Diese Aktion muss durch die Eingabe von YES bestätigt werden, da alle Daten auf dem Datenträger verloren gehen. Danach muss ein Passwort eingegeben und nochmal bestätigt werden. Die Option -s 512 bewirkt, dass sowohl AES als auch XTS jeweils mit maximaler Schlüssellänge von 256 Bit arbeiten. Nach meinen Recherchen ist die mit -c aes-xts-plain64 angegebene Methode die aktuell sicherste verfügbare.

Um mit dem verschlüsselten Datenträger dann Arbeiten zu können, muss dieser geöffnet werden, dabei muss dann natürlich das Passwort eingegeben werden. Danach ist der Datenträger unter /dev/mapper/daten erreichbar und kann verwendet werden wie alle anderen Datenträger in /dev

sudo cryptsetup luksOpen /dev/sdX daten

An dieser Stelle unterscheidet sich dann die Vorgehensweise je nach dem ob eine Partition oder ein ganzer Datenträger verschlüsselt wurde. Wenn die Arbeit mit dem Datenträger beendet ist muss dieser wieder geschlossen werden, das geschieht mit:

sudo cryptsetup luksClose /dev/mapper/daten

Vorgehen bei einer Partition
Die Datei /dev/mapper/daten kann jetzt verwendet werden wie eine Partition etwa /dev/sda1, also z.B. mit einem Dateisystem versehen werden, das geht für etwa ext4 so:

sudo mkfs.ext4 /dev/mapper/daten

Bei anderen Dateisystemen funktioniert das analog. Die dann vollständige Partition kann dann einfach ins System gemountet werden und nach Verwendung wieder ausgehängt werden.

sudo mount /dev/mapper/daten /mnt
#Dateisystem verwenden
sudo umount /mnt

Das Schließen mit cryptsetup luksClose sollte erst erfolgen wenn das Dateisystem ausgehängt wurde.

Es ist dann, wenn dies einmal eingerichtet wurde möglich das Dateisystem automatisch beim Anmelden zu mounten, dazu muss nur das Login-Passwort mit dem LUKS-Passwort übereinstimmen. Für diese Funktion muss das Paket libpam-mount installiert werden. Das funktioniert so:

sudo apt-get install libpam-mount

Dann muss noch die Datei /etc/security/pam_mount.conf.xml mit einem Editor mit Root-Rechten bearbeitet werden und in dem Bereich von <pam_mount> folgende Zeile eingefügt werden.

<volume user="username" fstype="crypt" path="/dev/disk/by-uuid/UUID" mountpoint="/media/Daten" options="fsck,relatime" />

Hierbei muss username durch den eigenen Benutzername ersetzt werden und UUID durch die UUID der Partition, diese kann so ermittelt werden:

sudo blkid /dev/sdX

Nach einen Neustart wird die Partition bei der Anmeldung nach /media/Daten eingebunden.

Vorgehen bei einem kompletten Datenträger
Auch hier kann die Datei /dev/mapper/daten verwendet werden wie ein normaler Datenträger etwa /dev/sda. In diesem Fall würde ich zur Einrichtung auf fdisk zurückgreifen, aber die Einrichtung funktioniert auch mit gparted analog mit GUI. Starten wir also nun fdisk mit:

sudo fdisk /dev/mapper/daten

Mit dem Kommando o kann dann eine neue Partitionstabelle angelegt werden. m liefert eine Hilfe über die möglichen Kommandos. w speichert die Änderungen und schließt fdisk. Die restliche Vorgehensweise ist auch komplett analog zu normalen Datenträgern. Auch hier sollte man darauf achten, dass alle Partitionen ausgehängt sind bevor der Datenträger mit cryptsetup luksClose geschlossen wird.

dm-cryptLUKSVerschlüsselung


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Powered by WordPress and HQ Premium Themes.