UPDATES:
- 2004-06-12 -- portage overlay verweis eingelinked
2004-04-12 -- tips/tools erklärt nun wie man udev verwendet
2004-04-12 -- portage overlay informationen erweitert
2004-04-12 -- neue version von crypto_mount verfügbar
2005-08-30 -- neue version von crypto_mount verfügbar
1. vorwort
2. todo-liste
3. vorraussetzungen
4. kernel kompilieren mit den benötigten features
4.1. device mapper support
4.2. cipher algorithms
5. benötigte software
6. backup der daten-partition machen
6.1 vorbereitungen für die crypto-partition
7. das mapper-device verwenden
8. zusätzliche tips/tools
9. performance
10. FAQ
1. vorwort
bevor ihr das howto anfangt solltet ihr ein backup der daten anlegen, welche auf der zu verschlüsselnden partition liegen. die partition wird neu formatiert, die daten sind sonst futsch! wie das genau geht ist in dem howto beschrieben.
für fragen, klagen, anträge bin ich natürlich immer offen und würde mich freuen, wenn es konstruktive beiträge gibt
achja, selbstverständlich passiert das alles hier auf eigene gefahr, ich kann nur sagen, dass alles genau so funktioniert hat, wie ich es hier aufgeschrieben habe. ich hoffe ich habe alles so einfach und transparent als möglich geschildert, aber sollte dennoch ein unfall passieren, dann kann ich nix dafür.
2. todo liste
derzeit ist alles fein
3. vorraussetzungen:
- device mapper support
- crypt target support
- aes cipher algorythmls
- cryptosetup
- installiertes gpg (gnu privacy guard)
4. kernel kompilieren
4.1. device mapper und crypt target:
unter dem kernel 2.6 findet man den "device mapper support" und den "crypt target support" als unterpunkt von "device drivers -> multi-device support (raid and lvm)"
anzuschalten ist hierbei das folgende:
Code: Select all
[*] Multiple devices driver support (RAID and LVM)
<*> Device mapper support
<*> Crypt target supporunter dem kernel 2.6 findet man den support hierfür unter "cryptoghraphic options".
anzuschalten ist hierbei das folgende:
Code: Select all
<*> AES cipher algorithms (i586)mit diesen einstellungen den kernel neu übersetzen und den rechner rebooten, danach gehts weiter.
5. benötigte software
cryptsetup installieren
bevor mit cryptsetup gearbeitet werden kann, muss es installiert werden. schlicht und ergreifend
Code: Select all
emerge sys-fs/cryptsetup
Code: Select all
emerge app-crypt/gnupg6. backup der daten-partition machen
wie im vorwort bereits erwähnt, ist es ratsam vor dem folgenden prozedere ein backup aller daten auf der platte zu machen, welche in zukunft verschlüsselt werden soll.
szenario:
/dev/hda5 ist gemounted auf /mnt/dump
in zukunft soll der inhalt von /mnt/dump aber verschlüsselt werden, kein problem, nur vorher sollte alles auf /mnt/dump mittels tar gesichert werden.
zuerst muss geprüft werden ob wir ungefähr soviel freien speicherplatz haben wie ein backup von /mnt/dump benötigt, wohlgemerkt auf einer anderen partition
nachdem diese prüfung erfolgreich war, mit tar ein backup erzeugen, das geht so:
Code: Select all
tar -cvpf /mnt/backup/dump.tar /mnt/dumpwenn dieser vorgang durchgelaufen ist, sollte man sich noch vergewissern ob das archiv auch funktioniert und nicht beschädigt ist, dies prüft man mittels:
Code: Select all
tar -tvpf /mnt/backup/dump.tar6.1. vorbereitungen für die crypto-partition
key erzeugen
Code: Select all
head -c 1000 < /dev/urandom | uuencode -m - | grep -v begin | head -c 32 >NAME.keydas keyfile brauchen wir als eine art "zündschlüssel" für die partition. der zugang zu der festplatte wird nur freigegeben wenn man das richtige keyfile hat und das dazugehörige kennwort.
den key verschlüsseln
Code: Select all
gpg -c NAME.keynaja, nimm einen satz den du dir leicht merken kannst und verwende gross und kleinschreibung. ein kennwort von 8 oder 10 zeichen ist relativ leicht zu knacken, ein satz wie "Morgen früh hab ich bestimmt Muskelkater vom vielen Steine klopfen!" jedoch nicht. also im eigenen interesse: mantra verwenden
den key löschen
Code: Select all
shred NAME.key
rm NAME.key
das device an den device mapper koppeln
ACHTUNG! WER JETZT NOCH KEIN BACKUP GEMACHT HAT SOLLTE ES DEFINITIV VORHER TUN!
Code: Select all
gpg --quiet -d NAME.key.gpg | cryptsetup -h plain create MAPPERNAME /dev/hdXXbeispiel:
Code: Select all
gpg --quiet -d dump.key.gpg | cryptsetup -h plain create dump /dev/hdd1das mapperdevice formatieren
Code: Select all
mke2fs -j /dev/mapper/MAPPERNAMECode: Select all
mke2fs -j /dev/mapper/dumpnaja, jetzt wie gewohnt mounten, nur nicht die eigentliche partition sondern das mapper device
Code: Select all
mount -t ext3 -o user /dev/mapper/MAPPERNAME /mnt/MOUNTPOINTCode: Select all
mount-t ext3 -o user /dev/mapper/dump /mnt/cryptodumpjetzt ist das mapperdevice gemounted und die daten werden verschlüsselt darauf abgespeichert.
zu beachten ist allerdings, dass nach jedem reboot das mapper device entfernt wird, es muss also neu angelegt werden.
8. zusätzliche tips/tools
crypto-mount
hier das in-offizielle ebuild für anarcho's script "crypto-mount".
aktuelle version:
http://www.daniundmaz.de/gentoo/crypto- ... .1a.ebuild
http://www.daniundmaz.de/gentoo/crypto- ... .1a.tar.gz
jetzt muss nur noch das crypto-mount ins portage overlay gesteckt und emerged werden.
Code: Select all
mkdir /usr/local/portage/sys-apps/crypto-mount
cd /usr/local/portage/sys-apps/crypto-mount
mv crypto-mount-<version>.ebuild .
emerge crypto-mount-<version>.ebuild digest
emerge crypto-mounterzeugen einer regel für udev, um den usbstick immer an der selben stelle zu haben
wichtig: damit das hier mit udev funktioniert muss natürlich udev installiert werden. wie das geht erklärt der gentoo udev-guide, zu finden hier: http://www.gentoo.org/doc/de/udev-guide.xml
alternativ ist auch eine anleitung auf dem gentoo-wiki zu finden:
http://de.gentoo-wiki.com/HOWTO_von_dev ... v_wechseln
nun aber los...
zuerst mal den usbstick umounten und ausstöpseln, falls er noch irgendwie in benutzung sein sollte. danach als root
Code: Select all
octane root # tail -f /var/log/messagesCode: Select all
Dec 5 20:08:12 octane usb 1-6: new high speed USB device using address 15
Dec 5 20:08:12 octane scsi13 : SCSI emulation for USB Mass Storage devices
Dec 5 20:08:12 octane Vendor: SONY Model: Storage Media Rev: 1.00
Dec 5 20:08:12 octane Type: Direct-Access ANSI SCSI revision: 02
Dec 5 20:08:12 octane SCSI device sdb: 253952 512-byte hdwr sectors (130 MB)
Dec 5 20:08:12 octane sdb: assuming Write Enabled
Dec 5 20:08:12 octane sdb: assuming drive cache: write through
Dec 5 20:08:12 octane sdb: sdb1
Dec 5 20:08:12 octane Attached scsi removable disk sdb at scsi13, channel 0, id 0, lun 0
Dec 5 20:08:12 octane Attached scsi generic sg4 at scsi13, channel 0, id 0, lun 0, type 0
Dec 5 20:08:12 octane USB Mass Storage device found at 15
Dec 5 20:08:12 octane scsi.agent[12893]: disk at /devices/pci0000:00/0000:00:1d.7/usb1/1-6/1-6:1.0/host13/13:0:0:0Code: Select all
Dec 5 20:08:12 octane sdb: assuming Write Enabled
Dec 5 20:08:12 octane sdb: assuming drive cache: write through
Dec 5 20:08:12 octane sdb: sdb1
nun brauchen wir einen eindeutigen identifier für den stick. das findet man recht fix raus mittels:
Code: Select all
octane root # udevinfo -a -p /sys/block/sdb/sdb1 | grep product
SYSFS{product}="Storage Media"
SYSFS{product}="Intel Corp. 82801DB (ICH4) USB2 EHCI Controller"
Code: Select all
octane root # vi /etc/udev/rules.d/50-udev.rules
Code: Select all
# cdrom symlinks and other good cdrom naming
BUS="usb", SYSFS{product}="Storage Media", KERNEL="sd*", NAME="%k", SYMLINK="usbstick"
nun den usbstick wieder einstecken und kucken ob das device /dev/usbstick erzeugt wird. wenn alles geklappt hat, dann ist man auf jeden fall die querelen los, dass der usbstick (wie bei mir) immer von /dev/sda1 über sdb1, sdc1 und sdd1 wieder zurück auf sda1 gewandert ist.
9. performance
viele beschäftigt auch die frage nach der performance, ich habe mich das auch gefragt und nach dem "ausprobieren" festgestellt, dass es eigentlich alles recht flott geht.
ich habe einen pentium4, 2,4ghz, 1gb ram und die verwendete festplatte ist eine 7200rpm samsung 120gb platte.
ohne verschlüsselung schafft mein system auf dieser platte beim kopieren von grossen dateien (2gb files) laut mc (midnight commander) ca 38mb / sec.
beim schreiben und lesen auf die verschlüsselte partition schaffe ich zwischen 14 und 15mb / sec.
vollkommen ausreichend für die meisten anwendungsfälle, aber man muss sich bewusst sein, dass es durchaus eine cpu intensive geschichte ist, diese verschlüsselei.
10. FAQ
Q: ich habe mal gehört dass, wenn man festplattenverschlüsselung einsetzt, alle daten zu matsch verarbeitet werden, wenn der strom ausfällt, stimmt das?
A: es besteht immer das risiko, dass das dateisystem schaden abbekommt wenn es unsauber unmounted wird, jedoch ist das risiko bei einer verschlüsselten partition afaik nicht höher, mir ist zumindest noch nichts passiert.
Q: stimmt es, dass der akku des notebooks schneller leer wird beim verwenden einer verschlüsselten partition?
A: naja, das stimmt insofern, als dass das lesen und schreiben auf so eine partition mehr cpu last verursacht und dadurch mehr strom verbraucht. wieviel mehr kann ich leider nicht sagen, aber bei meinem system produziert das schreiben grosser dateien durchaus eine load von 1,2...





