DM-CRYPT FAQ

Aus OPPServer.net Wiki | OPPs Wiki
Zur Navigation springen Zur Suche springen

DM-CRYPT FAQ (Stand 29.04.2013) [ © Oliver Schuetz aka OppTupacShakur | http://OPPServer.net | http://unix.oppserver.net ]


Als erstes erstellen wir eine leere Partition mit "fdisk /dev/sdxx" (sdxx ist natuerlich durch die jeweilige Festplatte zu ersetzen).


cryptsetup -c aes-cbc-essiv:sha256 -y luksFormat /dev/sdxx
   * -c nimmt den von mir ausgewaehltem verschluesselungs Algorithmus, in diesem Fall
     aes-cbc-essiv, um einer Watermark Attacke aus dem Weg zu gehen und mit dem
     Hash Algorithmus sha256
   * -y damit wird das Passwort ein zweites mal abgefragt
   * luksFormat initialisiert eine LUKS Partition und setzt den initial Schluessel.
   * /dev/hda3 ist die von mir gewaehlte Partition
   * Es wird nach Eingabe des Befehls ein Passwort fuer die neu erstellte Partition verlangt


cryptsetup luksOpen /dev/sdxx geheim
   * luksOpen oeffnet die LUKS Partition und setzt einen mapping Namen
   * /dev/sdxx unsere Partition
   * geheim ist unser ?mapping? Name


mkfs.ext3 /dev/mapper/geheim
   * formatiert unsere erstellte Partition mit dem Dateisystem ext3

oder

mkfs.ext4 /dev/mapper/geheim
   * formatiert unsere erstellte Partition mit dem Dateisystem ext4


mount /dev/mapper/geheim /mnt/geheim
   * mountet unsere mit cryptsetup erstellte Partition
   * /mnt/geheim muss natuerlich bestehen, ansonsten mit mkdir /mnt/geheim anlegen


Umounten koennen wir mit:

umount /mnt/geheim
cryptsetup luksClose geheim
   * luksClose schliesst das gemappte Device "geheim"


Fuer den taeglichen Gebrauch tragen wir nun unsere Cryptopartition in die Datei /etc/crypttab ein: Code (VORSICHT!!! Hiermit wird das Passwort beim booten abgefragt):

geheim	/dev/sdxx            none	 luks,cipher=aes-cbc-essiv:sha256


Nun tragen wir in die Datei /etc/fstab folgendes ein:

Code:

/dev/mapper/geheim	/mnt/geheim	ext3	defaults,user	0	0

oder

/dev/mapper/geheim	/mnt/geheim	ext4	defaults,user	0	0


Wenn nicht automatisch gemounted werden soll, einfach nur folgenden Eintrag in der /etc/fstab vornehmen

/dev/mapper/geheim	/mnt/geheim		ext3	noauto,defaults,user,noatime,errors=remount-ro	0	0

oder

/dev/mapper/geheim	/mnt/geheim		ext4	noauto,defaults,user,noatime,errors=remount-ro	0	0


In der /etc/crypttab muss dann nichts eingetragen werden, gemounted wird dann wie folgt:

cryptsetup luksOpen /dev/sdxx geheim

Gefolgt von der Passworteingabe.

Als letztes noch:

mount /mnt/geheim


Wir koennen das ganze nun aber auch mit einem Script mounten, dazu sollte man aber auch Swap crypten, wie das geht siehe hier:

http://unix.oppserver.net/crypt/swap_crypten_faq

Als erstes laden wir uns das Script von hier http://unix.oppserver.net/crypt/dmmounts:

wget http://unix.oppserver.net/crypt/dmmounts -O /usr/sbin/dmmounts

Dann einfach folgende Sachen anpassen:

echo "Setting up sdxx"
echo $ENC_KEY | cryptsetup luksOpen /dev/sdxx geheim
echo "Mounting /mnt/geheim"
mount /mnt/geheim

Die Pfade muessen angepasst werden, sowie die passenden Partitionsangaben.

Nun ausfuehrbar machen:

chmod +x /usr/sbin/dmmounts

Jetzt kann man einfach mit "dmmounts" alle verschluesselten partitionen mounten.

Man kann dies natuerlich erweitern und zwar wie folgt:

echo "Setting up sdxx"
echo $ENC_KEY | cryptsetup luksOpen /dev/sdxx geheim
echo "Mounting /mnt/geheim"
mount /mnt/geheim
echo "Setting up sdxx2"
echo $ENC_KEY | cryptsetup luksOpen /dev/sdxx2 geheim2
echo "Mounting /mnt/geheim2"
mount /mnt/geheim2

Desweitern gibt es dann noch zum umounten ein weiteres Script:

wget http://unix.oppserver.net/crypt/dmumounts -O /usr/sbin/dmumounts

Dort dann wieder die Pfade anpassen:

#!/bin/bash
echo "Umounting /mnt/geheim"
umount /mnt/geheim
cryptsetup luksClose geheim
echo "Umounting /mnt/geheim...done!"

Nun ausfuehrbar machen:

chmod +x /usr/sbin/dmumounts

Danach zum umounten der verschluesselten Partitionen einfach "dmumounts" ausfuehren.

Dieses Script kann man natuerlich auch erweitern und zwar so:

#!/bin/bash
echo "Umounting /mnt/geheim"
umount /mnt/geheim
cryptsetup luksClose geheim
echo "Umounting /mnt/geheim...done!"
echo "Umounting /mnt/geheim2"
umount /mnt/geheim2
cryptsetup luksClose geheim2
echo "Umounting /mnt/geheim2...done!"