Vielleicht wird ja hieraus mal ein Wiki?!
Aufgetretene Probleme am Ende…
1. Einleitung
2.
2.1 Datencontainer erstellen
2.2 Zusammenfassung
3.
3.1 ‚udev‘ und Mountoptionen
3.2 USB-Stick einzigartig machen
3.3 Schlüsseldatei vom Container erstellen und speichern
3.4 Zusammenfassung
4.
4.1 Automatisierungsskript
5.
5.1 Verschlüsselung der Schlüssel-Datei auf dem Stick
6.
6.1 Probleme und Fragen
1.
Also mir geht es um die Verschlüsselung eines oder mehrere Datencontainer/
Partitionen, welche man dann einfach mit dem einstecken eines USB-Sticks mounten
kann - wahlweise mit Eingabe eines Passworts, oder ohne.
Ich habe es vorerst mit einem Datencontainer probiert, aber im
Daten verschlC3BCsselnbuntuusers-wiki[/url] ist
auch die vorgehensweise mit einer Partition beschrieben.
2.1
Nachdem ich über Synaptic LOOPS-AES-UTILS installiert habe, konnte ich den
Datencontainer erstellen.
dd if=/dev/zero of=/$pfad$/container.img bs=1024 count=51200
//erstellt Image der Größe 50MB
losetup -e AES256 /dev/loop0 /$pfad$/container.img (Passwort muß 20 Stellen haben)
//erstellt „Tür“, an der alles verschlüsselt wird, bevor es auf das Image kopiert
wird mke2fs /dev/loop0
//erstellt Dateisystem über die „Verschlüsselungstür“ auf das Image
losetup -d /dev/loop0
//“Tür“ wieder aushängen
Zum testen können wir jetzt das Image erstmals mounten.
sudo mkdir /media/container
//Ordner erstellen, in dem Image gemountet werden soll
losetup -e AES256 /dev/loop0 /$pfad$/container.img
mount /dev/loop0 /media/container
2.2
Zusammengefasst haben wir jetzt also einen Datencontainer, welcher über ein Passwort
zu mounten ist. Nun sollte es bestmöglich so laufen, daß wir einen USB-Stick
einstecken, dieser mit seiner einmaligen Seriennummer auf Echtheit überprüft wird
und darauf anschliessend eine Datei unsgeführt wird, die den Schlüssel für unseren
Container enthält.
3.1
Eine Anleitung diesbezüglich habe ich
hier gefunden.
Kurz zusammengefasst:
Wir benötigen das Packet „udev“, was über Synaptic installierbar ist.
Mit diesem können u.a. Mountoptionen diverser Peripherien festlegen. Wir benutzen es
in unserem Fall dazu, daß der USB-Stick auf seine Seriennummer geprüft wird und wenn
diese übereinstimmt, der Stick eine neue Zuordnung unter /dev erhält.
3.2
im Terminal geben wir lsusb -v ein werten die Ausgabe aus: (USB-Stick angeschlossen)
Bus 004 Device 024: ID 0ea0:2168 Ours Technology, Inc. Transcend JetFlash 2.0 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0ea0 Ours Technology, Inc. idProduct 0x2168 Transcend JetFlash 2.0 / Astone USB Drive bcdDevice 2.00 iManufacturer 1 USB iProduct 2 Flash Disk iSerial 3 [color=red]586513785F70FE27[/color] bNumConfigurations 1
Diese Ausgabe interessiert, weil wir damit unseren Stick eindeutig identifizieren
können.
Wir erstellen eine Datei unter /etc/udev/rules.d/usbstick.rules und tragen folgenden
Inhalt ein: BUS=“usb“, KERNEL=“sd?1“,SYSFS{serial}=“586513785F70FE27“ ,
NAME=“schluesselloch“ //Name wird später unter /dev angezeigt
Nun erstellen wir ein Verzeichnis, in das der Stick mit der Schlüsseldatei gemountet
werden kann.
3.3
sudo mkdir /media/schluessel
Jetzt mounten wir den USB-Stick:
mount /dev/schluesselloch /media/schluessel
Wir wechseln in das /media/schluessel - Verzeichnis und erstellen eine normale
Textdatei, beispielsweise /meida/schluessel/schluessel. In diese schreiben wir das
Passwort von unserem Container.
3.4 Zusammenfassung:
Jetzt haben wir einen Datencontainer, ein Passwort und einen USB-Stick mit einer
Datei, die unsere PAsswort enthält. Wenn dieser in den Computer gesteckt wird, wird
automatisch ein neues /dev/schluesselloch erstellt, aber nur, wenn der USB-Stick die
richtige Seriennummer hat, also von uns ist.
4.1
Jetzt kommen wir zum Skript, was automatisch ausgeführt werden soll. Dieses
erstellen wir unter „/etc/dev.d/$(DEVNAME)/*.dev“ in unserem Fall also unter
„/etc/dev.d/schluesselloch/schluesselloch.dev“
In dieses Skript schreiben wir:
#!/bin/sh if [ "$ACTION" = add ]; then # USB-Stick mounten mount /dev/schluesselloch /media/schluessel # Das Passwort aus der Datei vom USB-Stick auslesen # und mit dem Befehl "cat" an die Passwortabfrage von # losetup weiterreichen cat /media/schluessel/schluessel|losetup -e AES256 /dev/loop0 /home/$USER$/container.img # diesen Container mounten mount /dev/loop0 /media/container #den USB-Stick umount umount /media/schluessel --force fi; if [ "$ACTION" = remove ]; then #* # Partition aushängen umount /media/container --force # und das dm-crypt-Gerät entfernen losetup -d /dev/loop0 fi;
Wenn alles funktioniert hat, sollte es nun möglich sein, einfach den USB-Stick
einzustecken und schon mountet sich der Datencontainer. Zieht man ihn wieder raus,
wird der Container automatisch entfernt.
5.1
Will man sein Passwort nicht ungeschützt auf dem Stick mit sich tragen, kann man die
einzelne Datei auch mittels
verschlüsseln. 6.1
Nun zu meinen Problemen, die dazu führen, daß die ganze USB-Stick-automatisch
Mountgeschichte noch nicht funktioniert: 1. Das Skript „/etc/dev.d/schluesselloch/schluesselloch.dev“ startet sich
noch nicht selber, somit entfällt bisher alles, was in dem Skript steht.
Ich habe es natürlich vorher auch mit chmod a=rx ausführbar gemacht.
2. Der Befehl ‚cat‘ reicht den ausgelesenen Inhalt der Datei ‚schluessel‘ vom
USB-Stick nicht an losetup weiter. (Manuell probiert im Terminal) cat /media/schluessel/schluessel|losetup -e AES256 /dev/loop0
/home/dahthai/container.img verlangt trotzdem nach einem Passwort für den
container.img Kann mir jemand bei meinen 2 Problemen helfen?
Wie ist so das allgemeine Feedback für diese Zeilen?
Würde ein WIKI in dieser Richtung nötig sein? Bzw. vorhandene erweitern? Grüße,
dahthai
2004 – 2012 ubuntuusers.de • Einige Rechte vorbehalten