## - urls ## - http://wiki.ubuntuusers.de/System_verschl%C3%BCsseln http://de.gentoo-wiki.com/DM-Crypt ## --------------------------------------------------------- ## ## - In welchem Slot befindet sich der Key mit Passwort... - ## ## --------------------------------------------------------- ## # - bsp.: cryptsetup --verbose open --test-passphrase /dev/sda5 # - cryptsetup --verbose open --test-passphrase ## ------------------------------------------------------------- # ## - - # ## - cryptodevice einrichten - # ## - - # ## ------------------------------------------------------------- # ## -------------------------- ## ## - Cryptodevice erstellen - ## ## -------------------------- ## ## - cryptsetup luksFormat ## - oder cryptsetup -c aes-lrw-benbi -y -s 384 luksFormat # #cryptsetup -c aes-xts-plain -y -s 512 luksFormat cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 -y ## - cryptodevice erstellen mit password im keyfile ## - ## - keyfile (1024 bit groß) erstellen head -c1024 /dev/urandom > ## - crytodevice erstellen cryptsetup -c aes-lrw-benbi -s 384 luksFormat # - oder (etwas neuer) #cryptsetup -c aes-xts-plain -s 512 luksFormat cryptsetup -c aes-xts-plain64 -s 512 -h sha512 luksFormat ## - cryptodevice mit einem abgeleiteten Schlüssel eines bestehenden LUKS ## - device erstellen ## - ## - /lib/cryptsetup/scripts/decrypt_derived | cryptsetup -c aes-xts-plain -s 512 luksFormat ## - wobei mit ist im Folgenden der Mapper-Name ## - gemeint ist, der unter /dev/mapper/ angezeigt wird - z.Bsp. root ## - /lib/cryptsetup/scripts/decrypt_derived root | cryptsetup -c aes-xts-plain -s 512 luksFormat /dev/sda3 ## ------------------------ ## ## - Cryptodevice oeffnen - ## ## ------------------------ ## ## - cryptsetup luksOpen ## - bzw. mit keyfileangabe cryptsetup luksOpen --key-file ## - dateisystem erstellen ## - ## - Die "-m" Option reserviert soviel Prozent (hier: 0 Prozent) des Speichers ## - für den Superuser. Vergisst man die Option anzugeben, werden standardmäßig 5% ## - des Speicherplatzers für den Superuser reserviert. ## - #mkfs.ext4 -m0 -E lazy_itable_init=0,lazy_journal_init=0 /dev/mapper/ mkfs.ext4 -E lazy_itable_init=0,lazy_journal_init=0 /dev/mapper/ ## - neue crytopartition mounten ## - mount /dev/mapper/ ## - öffnen eines mit einem abgeleiteten Schlüssel erstellten ## - LUKS Devices ## - ## - /lib/cryptsetup/scripts/decrypt_derived | cryptsetup luksOpen /lib/cryptsetup/scripts/decrypt_derived root | cryptsetup luksOpen /dev/sda3 data ## ----------------- ## ## - /etc/crypttab - ## ## ----------------- ## ## - ## - Paswortgeschütztes Device # UUID= none root UUID=9d323be6-7aad-4813-a0d2-8db4947c48d9 none luks ## - ## - Keyfile gechütztes Device # UUID= UUID= luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived data UUID=5f106e59-829f-4186-95b7-a0c84bb0adbd root luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived ## - Hinweis! ## - die UUID eines Gerätedevice kann mittels "blkid" ermittelt werden ## - blkid /dev/sda2 ## - Neuere Versionen von cryptsetup können die UUID auch selbst ermitteln: ## - cryptsetup luksUUID /dev/sdxY ## - Luks ermöglicht, mit verschiedenen Schlüsseln auf die ## - Partition zuzugreifen. Folgender Befehl fügst einen ## - weiteren hinzu: ## - ein passwort hinzufügen ## - cryptsetup luksAddKey /dev/$DEVICE ## - ## - ein passwort hinzufügen falls eine schlüsseldatei benutzt wird ## - cryptsetup luksAddKey -d /pfad/zur/datei /dev/$DEVICE ## - ## - ein passwort hinzufügen falls eine abgeleiteter Schlüssel benutzt wird ## - mkdir /mnt/ram && mount -t ramfs -o size=1m ramfs /mnt/ram && chmod 600 /mnt/ram /lib/cryptsetup/scripts/decrypt_derived > /mnt/ram/tmp.key cryptsetup luksAddKey -d /mnt/ram/tmp.key /dev/$DEVICE umount /mnt/ram && rmdir /mnt/ram ## - ## - einen abgeleiteten Schlüssel hinzufügen, falls ein Passwort benutzt wurde ## - mkdir /mnt/ram && mount -t ramfs -o size=1m ramfs /mnt/ram && chmod 600 /mnt/ram /lib/cryptsetup/scripts/decrypt_derived > /mnt/ram/tmp.key cryptsetup luksAddKey /dev/$DEVICE /mnt/ram/tmp.key umount /mnt/ram && rmdir /mnt/ram ## - ## - eine Schlüsseldatei hinzufügen ## - cryptsetup luksAddKey /dev/$DEVICE ## - ## - eine Schlüsseldatei hinzufügen falls eine schlüsseldatei benutzt wird ## - cryptsetup luksAddKey -d /pfad/zur/datei /dev/$DEVICE ## - Analog dazu kann mit luksKillSlot ein Schlüssel wieder entfernen. ## - cryptsetup luksKillSlot ## - Täglicher Gebrauch ## - ================== * Trage deine Cryptopartition in /etc/crypttab ein, bspw: # $CRYPTODEVICE /dev/$DEVICE none luks,check=ext2,retry=5 # oder none luks,retry=1,cipher=aes-lrw-benbi luks,cipher=aes-lrw-benbi * Trage in /etc/fstab das Device (/dev/mapper/$CRYPTODEVICE $MOUNT) mit deinen Dateisystemoptionen ein: /dev/mapper/$CRYPTDEVICE $MOUNT auto defaults 0 0 * /etc/init.d/cryptdisks kümmert sich nun um die Initialisierung beim Booten. Bei Falscheingabe, wirst du mehrmals (siehe retry in der /etc/crypttab) erneut gefragt. Falls es weiterhin fehlschlägt, wird der Bootvorgang ohne mounten fortgesetzt. * Luks ermöglicht es dir, mit verschiedenen Schlüsseln auf die Partition zuzugreifen. Mit folgendem Befehl fügst du einen weiteren hinzu: cryptsetup luksAddKey /dev/$DEVICE Dazu musst du das Passwort eines schon vorhandenen Schlüssels eingeben. Analog dazu kannst du mit luksDelKey ein Schlüssel wieder entfernen. Paranoia ======== Mit dmsetup info lassen sich benutzte devicemappings anzeigen. Taucht hier ein Teil als ACTIVE auf, so hat jedermensch darauf Zugriff (auch wenn es nicht gemountet ist, könnte - wer die nötigen Rechte hat - das Teil ohne passendes Cryptokennwort mounten) - es ist in diesem Zustand quasi entschlüsselt! Deswegen immer nach dem unmounten, das mapping entfernen (sonst gibt's (erfahrene Beamte vorausgesetzt) evtl. Stress bei der Hausdurchsuchung): umount $MOUNT cryptsetup luksClose $CRYPTODEVICE Du kannst alle mappings gleichzeitig entfernen mit: dmsetup remove_all ! Denk dran: cryptsetup luksClose niemals nicht vergessen oder aber Stecker ziehen (bzw. den Rechner herunterfahren) ;) !