Unterschiede zwischen den Revisionen 54 und 55
Revision 54 vom 2012-08-27 15:38:56
Größe: 8547
Autor: anonym
Kommentar:
Revision 55 vom 2012-10-01 08:39:10
Größe: 8549
Autor: anonym
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 98: Zeile 98:
{{{mkfs.ext3 /dev/mapper/$CRYPTODEVICE {{{
mkfs.ext3 /dev/mapper/$CRYPTODEVICE


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 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 Partition1 2.

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:

    # <target device>  <source device>  <key file>  <options>
    $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 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:

      # <file system>             <mount point>  <type>  <options>
      /dev/mapper/$CRYPTODEVICE   $MOUNT         ext3    defaults,user,exec
  • Wie kann ich das Passwort aendern?
  • 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:

       <device>
          <match key="block.device" string="$DEVICE">
            <merge key="volume.is_mounted" type="bool">true</merge>
          </match>
        </device>
    • vielleicht hilft folgende Anleitung], die ein Auszug 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 CryptoBox an.

  1. Wenn du eine bereits bestehende Partition verschlüsseln willst, solltest du zuerst deine Daten sichern. Dies ist wichtig, denn im Verlauf der Umwandlung muss die Partion neu formatiert werden. (1)

  2. Wenn du die Partition neu anlegst, nimm eine normale Linux (83) Partition. (2)

CryptoPartitionHowTo (zuletzt geändert am 2012-10-01 08:39:10 durch anonym)


Creative Commons Lizenzvertrag
This page is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.