DM-Crypt/Daten-Partition verschlüsseln
Als erstes benötigen wir eine Partition, in meinem Beispiel ist es eine S-ATA Festplatte mit einer Partition.
[Bearbeiten] LUKS Partiton erstellen
Als erstes braucht man eine zu verschlüsselnde Partition, in meinem Fall habe ich /dev/sda1 gewählt. Wer alle vorhandenen Daten komplett unwiederherstellbar vernichten will, führt folgendes aus:
Wenn es die komplette Festplatte sein darf, dann /usr/bin/shred /dev/sda.
Diese Partition wird nun initialisiert, in diesem Fall habe ich eine Verschlüsselungstiefe von 256 Bit, also -s 256 und den Chiffriermodus AES und LRW-BENBI gewählt. Dabei muss man ein Passwort angeben, mit dem man später die Partition öffnen kann. Natürlich ist eine Verschlüsselung unnütz, wenn man Standardpasswörter aus anderen Bereichen verwendet. Mehr zu Thema sichere Passwörter lesen Sie hier
Statt einem Passwort kann auch ein Keyfile übergeben werden, welches sich zum Beispiel auf einem USB-Stick befindet oder anderweitig gesichert ist. Dadurch wird eine Passwortabfrage umgangen.
Auf dem Device-Mapper-Blockdevice muss nun ein Dateisystem erstellt werden, dazu muss man es zuerst öffnen bzw. freigeben:
Solltest du dem Key-Beispiel folgen, musst du das Keyfile mit angeben:
Dabei wird das Mapper-Device /dev/mapper/media angelegt. Persönlicher Kreativität sind keine Grenzen gesetzt. Nun das Anlegen des Dateisystems, in meinen Fall mit ext4:
Voila, die Datenpartition ist fertig und bereit zum Mounten:
Nach einem Unmounten ist es ratsam, die Partition zu schließen:
Zum erneuten Öffnen und Mounten:
[Bearbeiten] Täglicher Gebrauch
Ärgerlich ist es im täglichen Gebrauch, dass man dazu Root sein muss. Ich habe mir einen sudo Eintrag erstellt:
Restriktiver sind folgende Einträge:
Und einen passenden fstab Eintrag:
/dev/mapper/media /mnt/media ext4 noatime,noexec,nodev,noauto,user 0 0
Und nun folgendes Skript:
#!/bin/sh # Konfiguration SUDO="/usr/bin/sudo" CRYPTSETUP="/sbin/cryptsetup" DEV="/dev/sda1" MAPPER="media" MOUNT="/mnt/media" # Ab hier nichts verändern if [["$UID" == "0"]] ; then SUDO="" fi case $1 in -m) $SUDO $CRYPTSETUP luksOpen $DEV $MAPPER mount $MOUNT ;; -u) umount $MOUNT $SUDO $CRYPTSETUP luksClose $MAPPER ;; -a) $SUDO $CRYPTSETUP -y luksAddKey $DEV ;; -d) if [[-z "$2"]] ; then echo "usage: -d <nr> - del key" else $SUDO $CRYPTSETUP luksDelKey $DEV $2 fi ;; *) echo "usage: -m - mount and open encrypted device" echo " -u - umount and close encrypted device" echo " -a - add key" echo " -d <nr> - del key" ;; esac
Diese Vorgehensweise ist nicht die sicherste, ein Angreifer mit Benutzerrechten kann durch Entfernen sämtlicher Key Slots die LUKS Partition unbrauchbar machen. Wer auf Nummer sicher gehen will, lässt das Recht einen Key zu entfernen weg.