6906
Kommentar: hinweis
|
← Revision 13 vom 2022-11-20 14:48:23 ⇥
0
ins neue Wiki verschoben und aktualisiert
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 1: | Zeile 1: |
[[TableOfContents(2)]] ---- Diese Anleitung beschreibt die Erstellung und Nutzung einer verschlüsselten Datei unter Debian/GNU Linux. Dabei kommt [http://luks.endorphin.org/dm-crypt cryptsetup-luks] zum Einsatz, welches momentan nur in testing vorhanden ist. Falls du Debian sarge benutzt, findest du eine Anleitung am Ende dieser Seite. = Begriffe und Variablen = ||''Variable''||''Bedeutung'' ||''Beispiel'' || ||$DATEI ||beliebiger Dateiname ||plastikpackung || ||$MB ||Grösse der Datei in Megabyte||100 || ||$CRYPTODATEI||Name deiner Cryptodatei ||gauda || ||$MOUNT ||beliebiges Verzeichnis ||/mnt/kuehlschrank|| ---- = Die cryptsetup-luks Variante = Die Verschlüsselung baut auf dem sogenannten ''Device Mapping'' auf, welches ab Kernel 2.6.4 implementiert ist. Laut deren Entwickler ist es um einiges besser fuer Crypto-Zwecke geeignet als die [http://www.tldp.org/HOWTO/Cryptoloop-HOWTO/ Cryptoloop-Variante]. Für die folgende Schritte benötigst du root-Rechte. == Kernel-Optionen == Bei einem Debian Standard-Kernel sind die folgenden Einstellungen nicht notwendig. Benutzt du allerdings einen selbst kompilierten Kernel, solltest du folgende Optionen einschalten: * ''Device Drivers'' -> ''Multiple-device support (RAID and LVM)'': ''Device mapper support'' & ''Crypt target support'' auswaehlen * ''Device Drivers'' -> ''Block devices'': ''Loopback device support'' auswaehlen * ''Cryptograpic options'' -> algorithmus auswaehlen (aes, twofish, ...) == Module laden == Falls du Module verwendest, solltest du sie nun laden: {{{ modprobe loop modprobe dm_crypt }}} == Packete installieren == {{{ apt-get install -t testing cryptsetup hashalot }}} == Cryptodatei einrichten == * Als erstes erstellst du eine neue Datei. Du kannst {{{/dev/urandom}}} benutzen, um zufällige Werte in diese Datei zu schreiben:{{{ dd if=/dev/urandom of=$DATEI bs=1M count=$MB }}} * Anschliessend richtest du das loop-device ein:{{{ losetup /dev/loop0 $Datei }}} * Jezt wird aus dem loop-device eine Cryptodatei: {{{ cryptsetup luksFormat /dev/loop0 }}} * Danach kannst du die neue Partition mappen:{{{ cryptsetup luksOpen /dev/loop0 $CRYPTDATEI }}} * Noch schnell die Datei mit einem Dateisystem formatieren:{{{ mkfs.ext3 /dev/mapper/$CRYPTODATEI }}} * Mounten und fertig:{{{ mount /dev/mapper/$CRYPTODATEI $MOUNT }}} == Täglicher Gebrauch == * Ich habe ein Skript ''$CRYPTODATEI'' geschrieben, um die Crypto-Datei zu öffnen/schliessen:{{{ #!/bin/sh case "$1" in start) losetup /dev/loop0 $CRYPTODATEI cryptsetup luksOpen /dev/loop0 $CRYPTODATEI mount -t ext3 -o defaults,user /dev/mapper/$CRYPTODATEI $MOUNT ;; stop) umount $MOUNT cryptsetup luksClose $CRYPTODATEI ;; restart) umount $MOUNT cryptsetup luksClose $CRYPTODATEI cryptsetup luksOpen /dev/loop0 $CRYPTODATEI mount -t ext3 -o defaults,user /dev/mapper/$CRYPTODATEI $MOUNT ;; *) echo "Usage: $CRYPTODATEI {start|stop|restart}" ;; esac exit 0 }}} * 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 ;) ! ---- = Die cryptsetup Variante = Diese Abschnitt beschäftigt sich mit der Erstellung einer verschlüsselten Datei bei Benutzung von Debian sarge und cryptsetup ohne luks-Erweiterung. Falls du Debian testing benutzt, ist die oben beschriebene luks-Variante die empfohlene. Die folgenden Schritte benötigen root-Rechte. == Packete installieren == {{{ apt-get install cryptsetup }}} == Cryptodatei einrichten == * Als erstes erstellst du eine neue Datei. Du kannst {{{/dev/urandom}}} benutzen, um zufällige Werte in diese Datei zu schreiben:{{{ dd if=/dev/urandom of=$DATEI bs=1M count=$MB }}} * Anschliessend richtest du das loop-device ein:{{{ losetup /dev/loop0 $Datei }}} * Jezt wird aus dem loop-device eine Cryptodatei: {{{ cryptsetup -c aes -y create $CRYPTODATEI /dev/loop0 }}} * Noch schnell die Datei mit einem Dateisystem formatieren:{{{ mkfs.ext3 /dev/mapper/$CRYPTODATEI }}} * Mounten und fertig:{{{ mount /dev/mapper/$CRYPTODATEI $MOUNT }}} == Täglicher Gebrauch == * Nach einem {{{crypsetup remove $CRYPTODATEI}}} musst du folgendes ausfuehren um wieder Zugriff auf die Datei zu erhalten:{{{ cryptsetup create $CRYPTODATEI /dev/loop0 mount /dev/mapper/$CRYPTODATEI $MOUNT }}} * Nach einem Neustart muss du folgendes ausführen um wieder Zugriff auf die Datei zu erhalten:{{{ losetup /dev/loop0 $Datei cryptsetup create $CRYPTODATEI /dev/loop0 mount /dev/mapper/$CRYPTODATEI $MOUNT }}} * Den {{{cryptsetup}}}- und remount-Vorgang führt [wiki:SubVersion/admin-tools/spielspass/cryptdisks diese angepasste Version] von {{{/etc/init.d/cryptdisks}}} aus, die du im [https://systemausfall.org/websvn/admin-tools admin-tools svn] findest (hilfreich, wenn du dich öfter bei der Passworteingabe vertippst ;). == 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 remove $CRYPTODEVICE }}} Du kannst alle mappings gleichzeitig entfernen mit: {{{ dmsetup remove_all }}} ! Denk dran: {{{cryptsetup remove}}} niemals nicht vergessen oder aber Stecker ziehen ;) ! ---- = Hinweise = Weitere informationen und Tipps: * http://www.saout.de/tikiwiki/tiki-index.php * CryptoPartitionHowTo |