Dm-crypt: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Morphis (Diskussion | Beiträge)
Morphis (Diskussion | Beiträge)
Zeile 51: Zeile 51:
   # mount /dev/mapper/root /mnt/root
   # mount /dev/mapper/root /mnt/root


Für die home-Partition wollen wir kein extra Passwort verwenden, sondern ein Keyfile. Dieses erzeugen wir uns mittels /dev/urandom
Für die home-Partition wollen wir kein extra Passwort verwenden, sondern ein Keyfile, damit wir nicht bei jedem Start des Systems zwei Passwörter eingeben müssen. Das Keyfile für die Home-Partition legen wir in /crypto/home.key ab.
Das Keyfile erstellen wir uns zufällig, indem wir einen 2048KB großen Block aus /dev/urandom kopieren.


   # mkdir /mnt/root/crypto
   # mkdir /mnt/root/crypto
   # dd if=/dev/urandom of=/mnt/root/crypto/home.key bs=1k count=2
   # dd if=/dev/urandom of=/mnt/root/crypto/home.key bs=1k count=2
Anlegen des Crypto-Devices:
   # cryptsetup luksFormat /dev/hda4 --cipher aes-cbc-essiv:sha256 --key-size 256 --key-file /mnt/root/crypto/home.key
   # cryptsetup luksFormat /dev/hda4 --cipher aes-cbc-essiv:sha256 --key-size 256 --key-file /mnt/root/crypto/home.key
   # cryptsetup luksOpen /dev/hda4 home
   # cryptsetup luksOpen /dev/hda4 home
   Passwort eingeben
   -> Passwort eingeben
  Formatieren der Partition mit ext3: mke2fs -j /dev/mapper/home
 
Formatieren der Partition mit ext3:  
 
  # mke2fs -j /dev/mapper/home
   # mount /dev/mapper/home /mnt/root/home
   # mount /dev/mapper/home /mnt/root/home



Version vom 21. April 2007, 14:00 Uhr

An diesem Artikel arbeitet gerade jemand. Um Bearbeitungskonflikte zu vermeiden, warte bitte mit Änderungen, bis diese Markierung entfernt ist, oder kontaktiere den Bearbeiter ({{{1}}}).


Festplatte verschlüsseln

Eine komplett verschlüsselte Festplatte kann in vielen Fällen sinnvoll sein. Zum Beispiel kann es sehr schnell passieren, dass der private Laptop mit den privaten Daten irgendwo liegen gelassen oder geklaut wird. In solchen Fällen ist es immer besser, niemand kann auf die Daten zugreifen.

Für alle folgenden Schritt wird keine Haftung übernommen! Es wird empfohlen, vorher ein komplettes Backup aller wichtigen Daten zu erstellen.


1. Partitionslayout festlegen

Die Festplatte sollte für alle folgenden Schritte folgendermaßen partitioniert sein:

  /dev/hda1 -> /boot (ca. 100 MB)
  /dev/hda2 -> swap (je nach Größe des Arbeitsspeichers, bei mir 512 MB)
  /dev/hda3 -> /
  /dev/hda4 -> /home

Die Größe der einzelnen Partitionen kann variieren.

2. Crypto-Devices anlegen

Das ver- und entschlüsseln wird über das Kryptographie-Modul des Devicemappers des Kernels abgewickelt. Dieser stellt uns ein virtuelles Device zu verfügung, über das auf die verschlüsselten Partitionen zugegriffen werden kann. Den Verschlüsselungsalgorithmus, die Größe des Schlüssels und viele weitere Dinge die die Verschlüsselung beeinflussen, kann man selber festlegen. Nähere Informationen zu den verfügbaren Paramtern gibt es hier [1] Informationen über die Geschwindigkeit der einzelnen Algorithmen gibt es hier übersichtlich dargestellt [2]

Für die folgenden Verschlüsselung wurde der AES-Algorithmus mit SHA-256 als Hash und mit einer Schlüssellänge von 256 Bit gewählt.

Anlegen des Crypto-Devices:

  # cryptsetup luksFormat /dev/hda3 --cipher aes-cbc-essiv:sha256 --verify-passphase --key-size 256
  -> Passwort zweimal eingeben. 
  ACHTUNG: Das Passwort sollte ausreichend lang sein, also mindestens 16 stellig. 

Öffnen des eben erstellten Crypto-Devices:

  # mkdir /mnt/root
  # cryptsetup luksOpen /dev/hda3 root
  -> Passwort eingeben

Formatieren der Partition mit ext3:

  # mke2fs -j /dev/mapper/root
  # mount /dev/mapper/root /mnt/root

Für die home-Partition wollen wir kein extra Passwort verwenden, sondern ein Keyfile, damit wir nicht bei jedem Start des Systems zwei Passwörter eingeben müssen. Das Keyfile für die Home-Partition legen wir in /crypto/home.key ab. Das Keyfile erstellen wir uns zufällig, indem wir einen 2048KB großen Block aus /dev/urandom kopieren.

  # mkdir /mnt/root/crypto
  # dd if=/dev/urandom of=/mnt/root/crypto/home.key bs=1k count=2

Anlegen des Crypto-Devices:

  # cryptsetup luksFormat /dev/hda4 --cipher aes-cbc-essiv:sha256 --key-size 256 --key-file /mnt/root/crypto/home.key
  # cryptsetup luksOpen /dev/hda4 home
  -> Passwort eingeben

Formatieren der Partition mit ext3:

  # mke2fs -j /dev/mapper/home
  # mount /dev/mapper/home /mnt/root/home

3. ArchLinux installieren

Zu allererst kopieren wir alle wichtigen Dateien für das System auf unsere neue verschlüsselte root-Partition.

  # /arch/quickinst ftp /mnt/root ftp://ftp.archlinux.org/current/os/i586

Jetzt muss noch ein Kernel für das neue System installiert werden.

  # /tmp/usr/bin/pacman.static -r /mnt --config /tmp/pacman.conf -S kernel26

Und damit wir das System nachher auch bequem starten können ein Bootloader, in diesem Fall Grub.

  # mount -o bind /dev /mnt/root/dev
  # mount -o bind /proc /mnt/root/proc
  # mount -o bind /sys /mnt/root/sys
  # chroot /mnt/root /bin/bash
   ... editieren der menu.lst ...
  # install-grub /dev/hda

4. Konfigurations anpassen

  ...

5. Aufräumen & Neustarten

  # umount /mnt/root/boot /mnt/root/home /mnt/root
  # cryptsetup luksClose root
  # cryptsetup luksClose home
  # rm -r /mnt/root
  # shutdown -r now