View previous topic :: View next topic |
Author |
Message |
Ocultor n00b
Joined: 29 Dec 2003 Posts: 12
|
Posted: Tue Sep 19, 2006 5:33 pm Post subject: Problem beim öffnen von verschlüsselten Partitionen beim b |
|
|
Hi,
Ich wollte auf meinem Rechner ein paar Verzeichnisse verschlüsseln (var, tmp, home).
Das ganze soll mit Cryptsetup-luks funktionieren. Funktioniert auch soweit wenn ich es manuell mache wenn das System gestartet ist.
Beim Booten aber klappt es nicht. Ich werde aufgefordert 3x das Passwort einzugeben und dann kommt die Fehlermeldung: "No key available with this passphrase"
Meine /etc/conf.d/cryptfs sieht folgendermassen aus:
mount=home
source='/dev/hda5'
type=luks
mount=tmp
source='/dev/hda6'
type=luks
mount=var
source='/dev/hda7'
type=luks
Ich habe absolut keine Ahnung woran das liegen könnte vorallem weil es ja funktioniert wenn das System gestartet ist.
Ich hoffe ihr könnt mir helfen
Gruss Ocultor |
|
Back to top |
|
|
blu3bird Retired Dev
Joined: 04 Oct 2003 Posts: 614 Location: Munich, Germany
|
Posted: Tue Sep 19, 2006 5:43 pm Post subject: |
|
|
Wahrscheinlich hast du wenn die Passwordeingabe kommt noch eine englische Tastatur.
Also ersetzt mal y durch z, ; durch / usw. _________________ Black Holes are created when God divides by zero! |
|
Back to top |
|
|
Ocultor n00b
Joined: 29 Dec 2003 Posts: 12
|
Posted: Tue Sep 19, 2006 8:22 pm Post subject: |
|
|
Ich kann es gerade nicht ausprobieren, aber solte es daran liegen, wie könnte ich das ändern? |
|
Back to top |
|
|
Ocultor n00b
Joined: 29 Dec 2003 Posts: 12
|
Posted: Wed Sep 20, 2006 12:50 pm Post subject: |
|
|
OK, gerade ausprobiert und es liegt tatsächlich am Tastaturlayout.
Wenn jemand weiß wie man das ändern kann, wäre das nicht schlecht, wenn nicht ist das auch nicht dramatisch.
Gruss Ocultor |
|
Back to top |
|
|
psyqil Advocate
Joined: 26 May 2003 Posts: 2767
|
Posted: Wed Sep 20, 2006 1:36 pm Post subject: |
|
|
Schau doch mal in /etc/init.d/cryptfs, wenn Du da keymaps hinzufügst, sollte das reichen. Beispiel: Code: | depend() {
need checkroot modules keymaps
} | Sollte da before localmount drinstehen, muß das raus, da keymaps erst nachher ausgeführt wird. Da Du /usr nicht verschlüsselst, könnte das funktionieren, aber für explodierende Toaster üernehme ich keine Haftung... |
|
Back to top |
|
|
shiosai Tux's lil' helper
Joined: 12 May 2005 Posts: 143
|
Posted: Wed Feb 21, 2007 9:31 pm Post subject: |
|
|
Hallo,
ich wollte meine Partitionen nun genauso aufsetzen. Gibt es denn eine Möglichkeit, dass man das Passwort nur einmal eingeben muss? In den How-Tos kann ich dazu nichts finden, aber mir scheinen die eh teilweise etwas veraltet, jedes howto hat auch ein anderes selbst gebasteltes init-script. Vieleicht wurde seit dem auch die Unterstützung im Base-Layout stark erweitert? Iist leider alles etwas verwirrend für Anfang... Selbst was das Verschlüsseln von swp angeht gibt es Differenzen zwischen der Gentoo-Dokumentation und der cryptfs.conf. |
|
Back to top |
|
|
shiosai Tux's lil' helper
Joined: 12 May 2005 Posts: 143
|
Posted: Thu Feb 22, 2007 5:55 pm Post subject: |
|
|
hmm... also entweder:
- gibts hier nicht so viele Luks-Benutzer
- hätte ich einen neuen Thread aufmachen sollen
- verschlüsselt niemand mehrere Partitionen mit dem selben Passwort
- geben alle ihr Passwort immer mehrmals ein
Über eine Antwort wäre ich schon dankbar |
|
Back to top |
|
|
zworK Guru
Joined: 07 May 2004 Posts: 308
|
Posted: Thu Feb 22, 2007 6:12 pm Post subject: |
|
|
Bei mehreren verschlüsselten Partitionen mach doch folgendes:
- Verschlüssel die Root Partition oder Partition X mit einem Passwort.
- Lege auf diese Partition ein Keyfile ab.
- Setze dieses Keyfile als Schüssel für die übrigen Partitionen.
- Trage die Partitionen unter /etc/conf.d/cryptfs ein. Die Passwort-Partition am Anfang.
So wird erst die Partition mit Passwortabfrage entschlüsselt und die anderen über ein Keyfile, was dann automatisch geschieht. |
|
Back to top |
|
|
shiosai Tux's lil' helper
Joined: 12 May 2005 Posts: 143
|
Posted: Thu Feb 22, 2007 6:25 pm Post subject: |
|
|
Danke.. so eine ähnliche Idee hatte ich auch schon. Ich dachte nur bevor ich irgendwas eigenes rumfrickel, gibts da vieleicht schon eine bestehende Lösung (baselayout?). In meinen Ohren hört sich das Problem recht "common" an. Die restlichen Keys während des Betriebs immer parat zu haben hört sich aber auch etwas nach einem Risiko an - auch wenn jemand, der Zugriff auf die Keys bekommen könnte wohl auch ohne solche wahrscheinlich schon genug anstellen könnte um auf Dauer Zufriff auf die Partitionen zu kommen...
konsequenterweise könnte man die keys auch gleich auf einen USB-Stick packen. Aber wenn man diese dann zusätzlich per pgp verschlüsselt, hat man vieleicht dann wieder das Problem, dass Passwort öfters eingeben zu müssen.. hmm
EDIT: Man könnte die Key-Partition ja eigentlich auch gleich wieder unmounten, das sollte doch eigentlich gehen... |
|
Back to top |
|
|
zworK Guru
Joined: 07 May 2004 Posts: 308
|
Posted: Thu Feb 22, 2007 7:12 pm Post subject: |
|
|
Also wenn eine unbefugte Person Zugang zu den keyfiles bekommt (die sich auf einem verschlüsseltem Medium befinden), liegen ihm eh schon alle anderen Daten offen.
Die ganzen verschlüsselten Partitionen sind dann ja alle seit dem Bootvorgang geöffnet. In diesem Szenario bringt die Verschlüsselung nur Sicherheit, wenn der Rechner aus ist.
Eine einfache "Config-Datei anpassen und fertig"-Lösung ist mir dafür auch nicht bekannt.
USB-Stick wäre eine Variante. Dort könnte man auch einen Luks-Container ablegen, mit den keyfiles drin. Oder halt eine eigene Partition für die Schlüssel.
Ein unmount mit anschließendem luksClose könnte vielleicht so funktionieren: /etc/conf.d/cryptfs: | post_mount='umount /mnt/keys; cryptsetup luksClose crypt-keys' |
Als Option für den letzten Eintrag.
Ums "frickeln" wirst du wohl nach meinem bisherigen Kenntnisstand mit der Materie nicht drumrum kommen. Aber vielleicht hat ja jemand anderes noch einen guten Einfall oder Link. |
|
Back to top |
|
|
dmaus n00b
Joined: 15 Mar 2006 Posts: 69
|
Posted: Thu Feb 22, 2007 11:00 pm Post subject: |
|
|
Nur eine kurze Rückmeldung: Ich habe fast ein Proof of concept für das anvisierte Szenario hinbekommen:
* wichtige Partitionen (/tmp, swap) werden beim Booten mit Zufallsschlüsseln verschlüsselt
* die Nutzerdaten liegen in mit Keyfiles verschlüsselten cryptsetup-luks-Partitionen vor
* die Keyfiles liegen auf einem mit Kennwort geschütztem cryptsetup-luks container
Das Problem, an dem ich (für heute) gescheitert bin: Die dm-crypt mappgings werden beim Booten vor dem mounten des USB sticks ausgeführt, weshalb alles daran scheiterte, dass der Container mit den Keyfiles nicht geöffnet werden konnte, weil der USB-Stick nicht gemountet war.
Was mal jemand nachschauen könnte:
1. ob es nicht schon ein Howto für genau dieses Szenario gibt
2. wie man sauber das Einbinden des USB-Sticks vor dem dm-crypt mapping hinbekommt. "Sauber" meint dabei: Ohne an den Init-Scripts Veränderungen vorzunehmen. |
|
Back to top |
|
|
shiosai Tux's lil' helper
Joined: 12 May 2005 Posts: 143
|
Posted: Fri Feb 23, 2007 12:51 am Post subject: |
|
|
Hi,
schade, dass es nicht geklappt hat... als ich gerade die Einträge in die cryptfs-Datei geschrieben habe, habe ich mich auch gefragt, wieso er von sich aus zwischendrin die keypartition mounten sollte - jetzt bestätigst du leider, dasss es wirklich nicht so funktioniert. Nach HowTo hab ich auch schon einiges gesucht... aber irgendwie noch nichts gefunden. Entweder diese Seitenlangen Anleitung wie man das komplette System möglichst umständlich verschlüsselt oder die Leute die die Passphrasen für jede Partition einzeln eingegeben haben.
Vieleicht wäre ein neuer Thread doch angebrachter.. so ausagekräftig ist der Titel hier doch nicht |
|
Back to top |
|
|
dmaus n00b
Joined: 15 Mar 2006 Posts: 69
|
Posted: Fri Feb 23, 2007 10:07 am Post subject: |
|
|
Hab' grad keine Zeit, das auszuprobieren aber: Das Mounten des USB-Sticks kann man doch durch die "pre_mount" Variable in /etc/conf.d/cryptfs veranlassen.
Heut' abend probier' ich es mal aus -- wenn alles schön klappt, dann kommt das definitiv in das wiki (de.gentoo-wiki.com)
Edit: Korrektur. So einfach geht das nicht. Die Einbinudng von cryptsetup-luks funktioniert nämlich so:
* aus dem init-script checkfs heraus wird /lib/rcscripts/addons/dm-crypt-start.sh aufgerufen
* dm-crypt-start.sh legt die mappings an -- die parameter pre_mount und post_mount werden nicht ausgewertet
* später wird dm-crypt-start.sh ein zweites Mal aufgerufen, diesmal aus dem init-script localmount
* jetzt werden die zuvor angelegten mappings gemountet, die parameter pre_mount und post_mount ausgeführt
D.h, das Problem besteht vor wie nach darin, dass ein cryptsetup-luks Container mit Keyfiles auf dem USB-Stick nicht verwendet werden kann, weil der USB-Stick zum Zeitpunkt, an dem die mappings angelegt werden nicht gemounted ist.
Wenn ich das recht überblicke ist das Problem eher grundsätzlicher Natur: Was wir verlangen ist, dass eine cryptsetup-luks Partition/Container geöffnet ("luksOpen") und gemounted wird, bevor alle anderen cryptsetup-luks-Partitionen/Container eingebunden werden.
Es wird also nicht ohne ein eigenes Init-Script gehen, dass vor checkfs ausgeführt wird und:
- den Datenträger mit dem Container einbindet (mount)
und/oder
- den Container/die Partition mit dem Keyfiles öffnet ("luksOpen")
Hic rhodus - hic salta! |
|
Back to top |
|
|
Ocultor n00b
Joined: 29 Dec 2003 Posts: 12
|
Posted: Fri Feb 23, 2007 3:15 pm Post subject: |
|
|
Hi,
Wenn mich nicht mehr alles täuscht gibt es eine Version von dm-crypt-start.sh mit der man USB sticks auf dem die Keys liegen mounten kann. Jedenfalls hab ich in den englischen Foren sowas gelesen in der Zeit, in der ich dieses Thread erstellt habe.
Wemnn ich euch und den Forenbeitrag richtig interpretiere könnte das weiterhelfen (https://bugs.gentoo.org/show_bug.cgi?id=145346)
Da wir aber gerade dabei sind und hier einige sind die tmp und swap mit zufälligem Schlüssel verschlüsseln:
Funktioniert bei mir nicht!
Meine cryptfs:
Code: | swap=swap
source='/dev/sda5'
#mount=tmp
#source='/dev/sdb3'
#type=luks
#options='-d /dev/urandom'
#pre_mount='mke2fs /dev/mapper/tmp'
#post_mount='chown root:root /tmp; chmod 1777 /tmp' |
fstab:
Code: | /dev/mapper/swap none swap sw 0 0
#/dev/mapper/tmp /tmp ext2 defaults 0 0 |
Bei der fstab gibts eine Fehlermeldung die ich hier noch nach dem nächsten neustart einfüge.
Bei tmp bleibt der Rechner stehen beim erstellen Partition mit luks
Vielleicht weiß hier grad jemand was los sein könnte?
Danke
Gruss Heiko[/code] |
|
Back to top |
|
|
dmaus n00b
Joined: 15 Mar 2006 Posts: 69
|
Posted: Fri Feb 23, 2007 3:32 pm Post subject: |
|
|
Quote: | Da wir aber gerade dabei sind und hier einige sind die tmp und swap mit zufälligem Schlüssel verschlüsseln:
Funktioniert bei mir nicht! |
Bei mir sieht das so aus:
/etc/conf.d/cryptfs
Code: | ### Swap
swap=system-swap
options='-c aes-cbc-essiv:sha256'
source='/dev/hda2'
### Temporaere Dateien
mount=system-tmp
source='/dev/hda5'
options='-d /dev/urandom -c aes-cbc-essiv:sha256'
pre_mount='/sbin/mkfs.xfs ${dev}'
post_mount='chown root:root ${mount_point}; chmod 1777 ${mount_point}' |
/etc/fstab
Code: | /dev/mapper/system-swap swap swap sw 0 0
/dev/mapper/system-tmp /tmp xfs noatime,nodev,nodiratime,noexec,nosuid,logbufs=8 0 0 |
Dein Problem bei /tmp liegt hier:
Code: | #type=luks
#options='-d /dev/urandom' |
LUKS kann keine Schlüssel über dev/{u}random lesen. Im übrigen ist die Verwendung bei Partitionen, die mit Zufallsschlüsseln erzeugt werden nicht nötig. Das kryptografisch wichtige steckt im Cipher und im Hash -- und nicht im LUKS.
Edit: Yo, das neue dm-start.sh ist wenn ich nicht ganz falsch liegen in sys-fs/cryptsetup-luks.1.0.4 enthalten. Ist halt noch nicht stable. |
|
Back to top |
|
|
shiosai Tux's lil' helper
Joined: 12 May 2005 Posts: 143
|
Posted: Fri Feb 23, 2007 7:53 pm Post subject: |
|
|
Also bleibt als einfachste Lösung, das öffnen/mounten der restlichen verschlüsselten Partitionen + das unmounten der key-partition über ein script in local.start zu machen... oder hat jemand vieleicht ne bessere Lösung. Auf 1.04 wollte ich eigentlich auch erst zurückgreifen, wenn es stable ist. |
|
Back to top |
|
|
dmaus n00b
Joined: 15 Mar 2006 Posts: 69
|
Posted: Sat Feb 24, 2007 9:08 pm Post subject: |
|
|
Quote: | Also bleibt als einfachste Lösung, das öffnen/mounten der restlichen verschlüsselten Partitionen + das unmounten der key-partition über ein script in local.start zu machen... oder hat jemand vieleicht ne bessere Lösung. |
Nicht unbedingt: Meine Angabe zum Ablauf der ganze Kiste war nicht korrekt. Das Kommando "pre_mount" führt dm-crypt.sh aus, wenn es durch /etc/init.d/checkfs aufgerufen wird und nachdem es ein mapping angelegt hat.
Aaalos könnte es doch so gehen:
- man schreibt das mount /mnt/usbstick in das pre_mount des ersten Eintrages in /etc/conf.d/cryptfs
=> dm-crypt-start.sh legt öffnet den ersten Eintrag ("luksOpen") und führt pre_mount aus: Der USB-Stick wird gemountet
- jetzt kann ein Eintrag in cryptfs folgen, in dem /mnt/usbstick/keyfiles.container an ein loop-Device gebunden und geöffnet ("luksOpen") wird
- als pre_mount für diesen Eintrag steht ein mount /dev/loop/0 /mnt/keyfiles
- schließlich die Einträge für die Partitionen, die die keyfiles benutzen.
Gleich mal ausprobieren!
Edit: Genau so geht es. Ich habe erfolgreich die cryptsetup-luks Partition /dev/data/test mit einem Keyfile geöffnet, dass sich in einem cryptsetup-luks-Container auf der Partition /dev/data/test-usb befindet.
/etc/conf.d/cryptfs
Code: | ##### /etc/conf.d/cryptfs
### Swap
swap=system-swap
options='-d /dev/urandom -c aes-cbc-essiv:sha256'
source='/dev/hda2'
pre_mount='/bin/mount -t xfs /dev/data/test-usb /mnt/usb'
### Temporaere Dateien
mount=system-tmp
source='/dev/hda5'
options='-d /dev/urandom -c aes-cbc-essiv:sha256'
pre_mount='/sbin/mkfs.xfs ${dev}'
post_mount='chown root:root ${mount_point}; chmod 1777 ${mount_point}'
### Home
mount=crypted-home
source='/dev/data/home'
options=''
type=luks
post_mount=''
### Test-Keyfiles-Container
mount=keyfiles
source='/dev/loop/0'
options=''
loop_file='/mnt/usb/keyfiles.dat'
type=luks
pre_mount='/bin/mount -t xfs /dev/mapper/keyfiles /mnt/keyfiles'
### Test-Keyfile-Part
mount=x-test
source='/dev/data/test'
options='-d /mnt/keyfiles/keyfile'
post_mount='/bin/umount /mnt/keyfiles; /sbin/cryptsetup luksClose keyfiles; losetup -d /dev/loop/0'
type=luks
##### /etc/conf.d/cryptfs |
Werde mal die Tage einen Beitrag für das Wiki vorbereiten. |
|
Back to top |
|
|
dmaus n00b
Joined: 15 Mar 2006 Posts: 69
|
Posted: Mon Feb 26, 2007 11:55 am Post subject: |
|
|
Nachtrag: Das mounten der Partition/des Sticks im pre_mount des Swaps zu machen führt dazu, dass auf dem verschlüsselten Swap keine swap-signatur angelegt wird, da das von uns gesetzte pre_mount das "default"-pre_mount für swap überschreibt. Also muss die Zeile pre_mount lauten:
Code: |
pre_mount='mkswap /dev/mapper/system-swap; /bin/mount -t xfs /dev/data/test-usb /mnt/usb
|
Evtl. lässt sich /dev/mapper/system-swap auch durch ${dev} ersetzen -- muss ick mal dm-script-start.sh anschauen. |
|
Back to top |
|
|
|