Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:howto:dmcrypt

dmCrypt

Wozu das Ganze?

Für ein mobiles Gerät wie unser kleiner EEE eines ist, sollte der Schutz der darauf lagernden Daten obligatorisch sein. Um bei einem Diebstall oder anderen fremden Zugriff sich keine Gedanken um sensible Daten machen zu müssen, sollte diese verschlüsselt abgelegt sein. Mir sind 2 praktikable Methoden zur Verschlüsselung bekannt. Zum einen gibt es da Truecrypt. Einen entsprechende Wikieintrag findest Du hier: Truecrypt. Zum Anderen eben dmCrypt worum es hier geht.

Was muss getan werden?

  • Installation eines modifizierten Kernels (Asus hat zwar dmcrypt installiert, aber die nötigen Module im Kernel nicht kompiliert)
  • Installation einer modifizierten initramfs
  • Installation von 2 Skripten
  • Installation von eines angepassten Grub-Menüs

Wichtig!!!

Da die Userpartition hier mit einem neuen Dateisystem versehen wird, bitte VORHER dir wichtige Dateien auf einem externen Datenträger sichern.

Installation

  1. Vorbereitung
    sudo su
    cd /root
    mkdir dmcrypt.tmp
    cd dmcrypt.tmp
  2. Dateien downloaden
    wget http://eee-dmcrypt.googlecode.com/files/vmlinuz-2.6.21.4-eeepc-dmcrypt
    wget http://eee-dmcrypt.googlecode.com/files/initramfs-eeepc-dmcrypt.img
    wget http://eee-dmcrypt.googlecode.com/files/eeedmcryptformatuser.sh
    wget http://eee-dmcrypt.googlecode.com/files/eeedmcryptscanuser.sh
    wget http://eee-dmcrypt.googlecode.com/files/menu.lst
    chmod 755 eeedmcryptformatuser.sh
    chmod 755 eeedmcryptscanuser.sh
  3. Reboot in den Rescue-/Debug-Modus um die Dateien zu installieren. Dies ist ausführlich hier Rescue Mode or: How I Learned to Stop Worrying and Learned to Love Single-User Mode beschrieben.
  4. Mounten der System- und User-Partition
    mount /dev/sda1 /mnt-system/
    mount /dev/sda2 /mnt-user/ 
  5. Kopieren und Sichern der benötigten Dateien
    mv /mnt-system/boot/grub/menu.lst /mnt-system/boot/grub/menu.lst.bak
    cp /mnt-user/root/dmcrypt.tmp/menu.lst /mnt-system/boot/grub/
    cp /mnt-user/root/dmcrypt.tmp/initramfs-eeepc-dmcrypt.img /mnt-system/boot/
    cp /mnt-user/root/dmcrypt.tmp/vmlinuz-2.6.21.4-eeepc-dmcrypt /mnt-system/boot/
    cp /mnt-user/root/dmcrypt.tmp/eeedmcryptformatuser.sh /mnt-system/sbin
    cp /mnt-user/root/dmcrypt.tmp/eeedmcryptscanuser.sh /mnt-system/sbin
  6. Unmounten der Partitionen, um sicher zu gehn das alle Daten geschrieben wurden
    umount /mnt-*
  7. System mit Strg+Alt+Entf Neustarten, dabei wieder die F9-Taste drücken um in die Grub-Auswahlliste zu gelangen.
  8. Dort den Eintrag „Restore Factory Settings“ auswählen
  9. Nun den Bildschirmanweisungen folgen um die User-Partition zu löschen und ein verschlüsseltes Dateisystyem zu erstellen.

Am Ende startet das System neu. Nun jedoch kannst Du nur noch mit Eingabe des gewählten Passwortes auf die User-Partition zu greifen.

Erstellen eines eignen Kernels

Eine recht gute Anleitung wie man sich einen eignen Kernel für den EEE bastelt ist hier (http://wiki.eeeuser.com/howto:rebuildthekernel) zufinden. Trotzdem will ich die entsprechenden Schritte hier kurz beschreiben:

  • Development Tools installieren hier (http://wiki.eeeuser.com/howto:installingdevelopmenttools) beschrieben.
  • Kernelquelle herunterladen, entpacken und installieren
  • Original Asus Kernel-Konfigurationsdatei aus /boot ins Verzeichnis der Kernelquelle kopieren
  • Kernel konfigurieren (make menuconfig dafür mußt Du noch das Packet libncurses5-dev installieren) und folgende Kerneloptionen auswählen:
    • Device Drivers → Multi-device support (RAID and LVM) →
      • <*> Device mapper support
      • <*> Crypt target support
    • Cryptographic options →
      • <*> SHA256 digest algorithm
      • <*> AES cipher algorithms
      • <*> AES cipher algorithms (i586)
  • Kernel erstellen (make bzImage) kann ca. 15min dauern, bzImage reicht da alle Module fest in den Kernel kompiliert werden.
  • der Kernel ist nun unter arch/i386/boot/bzImage
  • bzImage in vmlinuz-2.6.21.4-eeepc-dmcrypt umbennen.

Erstellen einer eignen Initramfs

sudo su
cd ~
 
mkdir dmcrypt.tmp dmcrypt.tmp/unpacked
cd dmcrypt.tmp
wget http://eee-dmcrypt.googlecode.com/files/init
chmod 755 init
cd unpacked
cp /boot/initramfs-eeepc.img .
cat initramfs-eeepc.img | gzip -d | cpio -i
rm initramfs-eeepc.img
mv ../init .
find | cpio -H newc -o | gzip -9 > ../initramfs-eeepc-dmcrypt.img

Abschluss

Bei Fragen kannst Du Dich gern per Email an mich wenden: mail <at> indubio <dot> org.

de/howto/dmcrypt.txt · Zuletzt geändert: 2008/09/07 14:59 von typocorrector