## page was renamed from CryptoDateisystemHowTo ## page was renamed from CryptoLoopKernelHowTo <> ---- = Was ist das hier = Diese Anleitung beschreibt die Erstellung und Nutzung einer verschlüsselten Partition unter Linux. Dabei wird ''dm-crypt'' bzw. ''cryptsetup'' verwendet. Die Installation des cryptsetup Paketes wird am Beispiel von Debian GNU/Linux beschrieben. = Begriffe und Variablen = ||''Variable''||''Bedeutung''||''Beispiel''|| ||$CRYPTODEVICE||Name deines Cryptodevices||scheibenkaese|| ||$DEVICE||Bezeichnung des Laufwerkes||sda2 (also /dev/sda2)|| ||$MOUNT||beliebiges Verzeichnis||/mnt/tiefkuehlfach|| ---- = Start = Die Verschluesselung baut auf dem sogenannten ''Device Mapper'' auf, welcher 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]]. == Kernel-Optionen == * ''Device Drivers'' -> ''Multiple-device support (RAID and LVM)'': ''Device mapper support'' & ''Crypt target support'' auswaehlen * ''Cryptograpic options'' -> algorithmus auswaehlen (aes, twofish, ...) Falls du Module verwendest, solltest du sie nun laden (bzw. füge sie in ''/etc/modules'' ein). == Variante I - pures cryptsetup (alt) == === Pakete installieren === {{{ apt-get install cryptsetup hashalot }}} === Cryptopartition einrichten === Als Erstes benötigst du eine freie Partition<> <>. Mit dem Aufruf von {{{cryptsetup}}} wird die neue Cryptopartition angelegt: {{{ cryptsetup -y -c aes-cbc-essiv:sha256 create $CRYPTODEVICE /dev/$DEVICE }}} Das neue device formatieren: {{{ mkfs.ext3 /dev/mapper/$CRYPTODEVICE }}} Und schliesslich noch mounten: {{{ mount /dev/mapper/$CRYPTODEVICE $MOUNT }}} === Täglicher Gebrauch === * Trage deine Cryptopartition in ''/etc/crypttab'' ein, bspw:{{{ # target_device source_device key_file options $CRYPTODEVICE /dev/$DEVICE none cipher=aes-cbc-essiv:sha256 }}} * Trage in ''/etc/fstab'' das Device ({{{/dev/mapper/$CRYPTODEVICE $MOUNT}}}) mit deinen Dateisystemoptionen ein. * ''/etc/init.d/cryptdisks'' kuemmert sich um die Initialisierung beim Booten. Bei Falscheingabe, kannst du nach dem login mit{{{ /etc/init.d/cryptdisks start }}} die Partition manuell initialisieren. === 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, koennte - wer die noetigen Rechte hat - das Teil ohne passendes Cryptokennwort mounten) - es ist in diesem Zustand quasi entschluesselt! 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 ;) ! == Variante II - cryptsetup-luks (neu ) == === Pakete installieren === {{{ apt-get -t testing install cryptsetup hashalot }}} (cryptsetup-luks ist derzeit (Juni 02006) nicht in Debian/stable verfügbar) === Cryptopartition einrichten === Als Erstes benötigst du eine freie Partition. Alle Daten auf der Partition gehen verloren! Mit dem Aufruf von {{{cryptsetup}}} wird die neue Cryptopartition angelegt (die Cryptopartition darf dabei nicht gemountet sein): {{{ cryptsetup luksFormat /dev/$DEVICE }}} Danach kannst du die neue Partition mappen: {{{ cryptsetup luksOpen /dev/$DEVICE $CRYPTDEVICE }}} Das neue Device formatieren: {{{ mkfs.ext3 /dev/mapper/$CRYPTODEVICE }}} Und schliesslich probeweise mounten (per Hand): {{{ mount /dev/mapper/$CRYPTODEVICE $MOUNT }}} === Täglicher Gebrauch === * Trage deine Cryptopartition in ''/etc/crypttab'' ein, bspw:{{{ # $CRYPTODEVICE /dev/$DEVICE none luks,check=ext2,retry=5 }}} * 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) ;) ! = Hinweise = * Wir haben ein Webfrontend für cryptsetup-luks entwickelt. Ist es einmal eingerichtet können damit auch unerfahrene !AnwenderInnen Festplatten verschlüsseln, was sich besonders bei externen USB-Laufwerken gut macht. Es ist als Serverpaket und Live-CD erhältlich und nennt sich [[http://cryptobox.org|CryptoBox]]. Auf der Projektwebseite findest du eine englische Dokumentation. Als deutschsprachige Einsteigshilfe dient die CryptoBoxServerInstallation Seite und die darin verlinkten Unterseiten. * Da die CryptoBox/CryptoNAS nicht mehr weiterentwickelt wird (Stand: 2011) gibt es ein Miniprojekt mit ähnlicher Zielsetzung: CryptoBottle * weitere Informationen und Tipps: http://www.saout.de/tikiwiki/tiki-index.php * noch eine ausführliche Anleitung: http://deb.riseup.net/storage/encryption/dmcrypt/ = FAQ = * Wie kann ich Dateien/Skripte auf der verschluesselten Partition ausfuehren? * In {{{/etc/fstab}}} wurde der Partition die Option ''user'' uebergeben. Fuege hinter ''user'' ''exec'' ein:{{{ # /dev/mapper/$CRYPTODEVICE $MOUNT ext3 defaults,user,exec }}} * Wie kann ich das Passwort aendern? * http://www.saout.de/tikiwiki/tiki-index.php?page=ChangePassword * beim Start von Gnome werde ich nach dem Passwort für die (bereits gemountete) Home-Partition gefragt * Das Problem liegt bei 'hal' - der Status ''gemounted'' wird bei luks-Partitionen derzeit (April 02006) nicht korrekt erkannt. Füge folgende Zeilen in die Datei ''/etc/hal/fdi/policy/preferences.fdi'' ein: {{{ true }}} * vielleicht hilft folgende [[[http://www.flyn.org/easycrypto/easycrypto.html|Anleitung]]], die ein Auszug [[[http://www.redhat.com/magazine/012oct05/features/hal/|hiervon]]] ist * Wie kann ich die Verschlüsselung so einrichten, dass eine verschlüsselte Datei bei Login des users automatisch gemounted wird, also das Systempassword des users dazu benutzt wird, um seine verschlüsselten daten einzubinden? Ich finde, die ganzen Szenarien mit einer verschlüsselten Partition sind überhaupt nicht praxistauglich auf rechnern, auf denen mehrere Leute arbeiten sollen (Internetcafe, Clubhaus, Schule etc.). DANKE! * Eine Möglichkeit wäre, einen verschlüsselten Dateiserver einzurichten, auf den alle im Netzwerk zugreifen können. Schau dir dazu mal die [[http://cryptobox.org|CryptoBox]] an.