Artikel
0 Kommentare

Eine mit DM-Crypt verschlüsselte Datei

Ich möchte euch hier eine Anleitung schreiben, mit der Ihr eine mit DM-crypt verschlüsselte Datei erstellen könnt. Datei bedeutet hier, eine beliebig große Datei, die ihr später mountet und in die Ihr dann alles mögliche rein legen könnt. Vorteil: diese Datei ist einfach zu sichern.

Dies kam bei mir zum Einsatz, als ich Archlinux neu installiert habe und gemerkt hatte, dass Archlinux wohl nur die Vollverschlüsselung unterstützt und nicht wie bspw. bei Ubuntu gewohnt, einen Prompt anbietet um das PW einzutippen, wenn keine Schlüsseldatei hinterlegt ist. Ich habe in den Startprozess von Archlinux eingegriffen, um mit einer Passworteingabe mehrere mit DM-Crypt verschlüsselte Devices zu entschlüsseln, ohne dass dabei das eigentliche Root verschlüsselt ist. Aber nun gut, die Startprozessänderung werde ich in einer weiteren Anleitung beschreiben. Nun zur Anleitung:

Als erstes erstellen wir uns mit dd eine beliebig große Datei, die wir später verschlüsseln werden.

demaya@demaya-arch:~/temp$ dd if=/dev/zero of=test.file bs=1024 count=1000
1000+0 Datensätze ein
1000+0 Datensätze aus
1024000 Bytes (1,0 MB) kopiert, 0,00321354 s, 319 MB/s

wobei test.file eure beliebige Datei im Dateisystem wäre und der Count durch 1000 gerechnet die Größe der Datei in MB wäre. Um diese Datei mounten zu können benötigt ihr das Paket util-linux-ng (bei Archlinux). Über

demaya@demaya-arch:~/temp$ sudo losetup -f
/dev/loop1
demaya@demaya-arch:~/temp$

Könnt ihr euch das nächste freie Loopdevice anzeigen lassen. Mit

demaya@demaya-arch:~/temp$ sudo /sbin/losetup /dev/loop1 /pfad/zur/datei

könnt ihr die Datei auf /dev/loop1 mounten. Über den folgenden cryptsetup-Aufruf könnt ihr die Datei vercrypten und anschließend mounten:

demaya@demaya-arch:~/temp$ sudo cryptsetup luksFormat /dev/loop1

WARNING!
========
Daten auf /dev/loop1 werden unwiderruflich überschrieben.

Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Verify passphrase:
Command successful.
demaya@demaya-arch:~/temp$ sudo cryptsetup luksOpen /dev/loop1 crypt
Enter LUKS passphrase for /dev/loop1:
key slot 0 unlocked.
demaya@demaya-arch:~/temp$

Nun ist die Datei gemountet. Je nach Geschmack könnt ihr natürlich das „crypt“ durch einen Namen eurer Wahl ersetzen. Jetzt fehlt noch ein vernünftiges Dateisystem auf dieser Datei, ich bevorzuge für meine Cryptodatei ein ext2, dieses erstellt man wie folgt:

demaya@demaya-arch:~/temp$ sudo mkfs.ext2 /dev/mapper/crypt

Nun ist auch ein Dateisystem auf der Datei. Mit dem gewohnten Mount-Befehl kann die Datei nun gemountet werden:

demaya@demaya-arch:~/temp$ sudo mount /dev/mapper/crypt /mnt/tmp
demaya@demaya-arch:~/temp$ ls /mnt/tmp
lost+found
demaya@demaya-arch:~/temp$

Nun habt ihr eine Cryptodatei. Zum unmounten den umgekehrten Weg gehen bzw. hier noch die Befehle zum unmounten:

demaya@demaya-arch:~/temp$ sudo umount /mnt/tmp
demaya@demaya-arch:~/temp$ sudo cryptsetup luksClose crypt
demaya@demaya-arch:~/temp$ sudo losetup -d /dev/loop1

Wenn ihr das Ganze wie ich in ein Skript packt, dann lässt es sich bequem mounten und unmounten.

Kommentare willkommen!

Grüße
Christoph

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.