ubuntuusers.de

Keyfile auf USB-Stick um LUKS-Partition bei Boot zu mounten?

Status: Ungelöst | Ubuntu-Version: Kubuntu 7.10 (Gutsy Gibbon)
Antworten |

aceta

Anmeldungsdatum:
28. Oktober 2007

Beiträge: 2

N'abend zusammen.

Ich habe unter Gutsy mein /home, /tmp und ein paar Ordner aus /var auf eine Cryptosetup-LUKS-Partition verschoben, und swap ebenfalls in eine solche gepackt.
Soweit klappt alles auch ganz gut beim Booten kommt zweimal die Aufforderung das jeweilige Passwort einzugeben.

Ich hätte es allerdings ganz gerne so, dass beim Booten mein USB-Stick gemountet wird, ich einmal das Passwort eingebe um das Keyfile auf dem Stick zu entschlüsseln, mit dem dann die Partitionen gemountet werden. Danach sollte der Stick auch gleich wieder ungemountet werden.

Ich habe jetzt auf dem USB-Stick ebenfalls eine LUKS-Partition mit dem Keyfile darin erstellt, und diese als erstes in der /etc/crypttab eingetragen, in der /etc/fstab einen Mountpunkt hinzugefügt, und bei den beiden anderen Partitionseinträgen jeweils das nun gemountete Keyfile angegeben. Beim Booten frägt er mich dann auch nach dem Passwort für den USB-Stick und öffnet ihn, bringt mir dann aber eine Fehlermeldung, dass das Keyfile für die anderen Partitionen nicht gefunden werden kann. Wenn ich dann in der Konsole lande finde ich das Keyfile aber dort wo es sein sollte, ich glaube er will also erstmal alle verschlüsselten Partitionen öffnen und erst dann mounten.

Kann man das nun irgendwie ändern? Oder kann mir jemand erklären, wie ich das mit einem GPG-verschlüsselten Keyfile auf ner einfachen FAT-Partition machen kann? Alles was mir Google zu dem Thema ausgespuckt hat hat mir nicht wirklich geholfen...

Schon mal vielen Dank für jede Hilfe! ☺

Heatseeker

Anmeldungsdatum:
2. September 2007

Beiträge: 68

Wohnort: Göttingen

Moin,

also ich habe so ein ähnliches Projekt gerade laufen.
habe auch meine /home verschlüsselt, /tmp in ein tmpfs verschoben und swap per Zufallsschlüssel verschlüsselt.

Meine /home habe ich ebenfalls per luks mit einem keyfile erstellt. Dieses habe ich dann per openssl mit meinem Loginpasswort verschlüsselt und lasse das ganze erstmal per pam_mount automatisch beim login mounten. So muss ich nur einmal das loginpasswort eingeben und fertig. Soweit klappt auch alles nur, dass mein verschlüsseltes Keyfile so auf der Platte liegt, also keinen wirklichen Sicherheitsgewinn gegenüber einer direkten Verschlüsselung mit dem Loginpasswort hat.
Als nächstes ist mein Plan aber auch das Keyfile auf einen USB-Stick auszulagern welchen ich beim booten per autofs Mounten möchte.
So eine Kombination hat ein Kumpel von mir auf seinem Debian laufen. Werde mich am Wochenende mal mehr damit beschäftigen.
Vielleicht helfen dir meine Ideen etwas weiter, auch wenn ich dir jetzt nicht direkt helfen kann.

Grüße

francis-0.9b

Anmeldungsdatum:
4. November 2007

Beiträge: 3

Servus,

möcht mir auch gerade etwas ziemlich ähnliches einrichten und glaube, ich kann dir helfen. Du musst, soviel ich bis jetzt herausgefunden habe, in /etc/default/cryptdisks in der Zeile CRYPTDISKS_MOUNT="" den Mountpunkt deines USB-Sticks eintragen. Der sollte dann eingebunden werden, bevor cryptsetup loslegt.
So in etwa:

CRYPTDISKS_MOUNT="/media/keystick"

Hoffe ich konnte euch helfen.
Hab's selbst noch nicht ausprobiert... ist ja auch schon etwas spät. Aber bis morgen Nachmittag kann ich dir sagen, obs funktioniert hat.

Gute Nacht

darkside40

Anmeldungsdatum:
27. Februar 2007

Beiträge: 54

Und hat es funktioniert?

francis-0.9b

Anmeldungsdatum:
4. November 2007

Beiträge: 3

Hat so leider nicht funktioniert ☹
Die Zeile bewirkt nur, dass das Startscript vor dem Ausführen von cryptsetup den USB-Stick mounten würde... funktioniert nur nicht, da das angegebene Device ja ein Cryptsetup-LUKS-Container ist, und somit für "mount" kein Dateisystem erkennbar ist. Es würde also nur funktionieren, wenn der Schlüssel für /home /tmp und /var unverschlüsselt auf dem Stick liegen würde. Aber das ist ja nicht Sinn der Sache! Evtl würde es helfen, ein bisschen in dem Startscript rum zu pfuschen... Zu finden unter /lib/cryptsetup/cryptdisks.functions. Trau mich nur noch nicht so recht dran... bin noch ein Newbie, wenns um shell-scripte geht. Ich glaube, die zu ändernden Funktionen wären mount_fs() und umount_fs(). Wär cool, wenns jemand testen könnte, der sich mit so was auskennt 😉

Grüße

t60

Anmeldungsdatum:
10. Mai 2007

Beiträge: 23

Gibt es mittlerweile eine Lösung zu diesem Problem? Denn ein USB Stick als Art Zündschlüssel wäre schon nett.

RSM

Anmeldungsdatum:
20. März 2005

Beiträge: 179

Wohnort: Dresden

Hallo,

USB_Stick als "Zündschlüssel" für deine Crypto-Laufwerke sollte per pam_usb gehen. Hier findest du etwas mehr infos: http://pamusb.org/

Viele Grüße

RSM

t60

Anmeldungsdatum:
10. Mai 2007

Beiträge: 23

Hm allerdings lese ich nirgends dass ich damit mein komplett verschlüsseltes System starten kann. Immer die Passphrase eingeben ist auf Dauer keine Lösung für mich.

t60

Anmeldungsdatum:
10. Mai 2007

Beiträge: 23

Naja dann muss ich mir wohl was anderes ausdenken... Schade 😢

ostcar Team-Icon

Ehemalige
Avatar von ostcar

Anmeldungsdatum:
27. Juli 2006

Beiträge: 2748

Wohnort: Leipzig

t60 schrieb:

Naja dann muss ich mir wohl was anderes ausdenken... Schade 😢

Theoretisch ist es schon möglich, mit einem USB-Stick eine verschlüsselte Partition zu entschlüsseln, die Bedingung wäre natürlich, dass sich auf dem USB-Stick der Schlüssel befindet, und selbst nicht verschlüsselt ist. Wenn es jemanden gelingen sollte an den USB-Stick zu gelangen, so würde er auch automatisch an der Passwort der verschlüsselten Platte gelangen.

Möglicherweise gibt es ein Pam-Modul, welches so etwas direkt realisiert. Anderenfalls müsstest du dir ein Skript schreiben, welches das Passwort vom USB-Stick ausließt, und damit die Partition entschlüsselt. Dieses könntest du dann mittels pam_exec starten, nachdem pamusb überprüft hat, ob der USB-Stick angeschlossen ist.

t60

Anmeldungsdatum:
10. Mai 2007

Beiträge: 23

Gehofft hatte ich auch eine zukunftsfähige "nicht-bastel" Lösung, denn eine per USB-Stick ensperrbare LUKS Partition wäre sicherlich für viele interessant. Einen alten kleinen USB Stick hat doch fast jeder (Werbegeschenk oder so).

Grüße

edi2xs

Anmeldungsdatum:
10. Mai 2008

Beiträge: 6

Hallo!

Ich habe ein ähnliches Problem wie aceta, also verschlüsselte Festplatte die beim Start automatisch mit dem Keyfile vom USB-Stick (bzw. bei mir SD-Card im internen Kartenleser vom eee) entschlüsselt werden soll.

Ich habe der SD-Karte in der /etc/fstab den Mountpunkt /media/disk gegeben, das keyfile in der /etc/crypttab angegeben und in der /etc/default/cryptdisks CRYPTDISKS_MOUNT="/media/disk" eingetragen. Soweit so gut, nach der Anleitung von http://www.andreas-janssen.de/cryptodisk.html sollte jetzt alles funktionieren. Tut es aber nicht. Beim Systemstart kommt immer die Meldung "key-file not found." Dann werde ich aufgefordert mich als Root anzumelden, weil der Festplattencheck natürlich fehlt schlägt. Als Root kann ich dann sehen das die SD-Karte nicht gemountet wurde. Wenn ich das dann manuel mit

mount -a

mache wird sie richtig erkannt und ich kann auch die Festplatte manuel mit

cryptsetup luksOpen /dev/XdX home --key-file /media/disk/...

entschlüsseln.

Wieso mountet die SD Karte nicht? Kann mir da jemand helfen?

PS: Ich habe einen EeePc 1000H und benutze Ubuntu 8.04

Red_Radish

Anmeldungsdatum:
7. September 2007

Beiträge: 770

edi2xs schrieb:

Beim Systemstart kommt immer die Meldung "key-file not found." Dann werde ich aufgefordert mich als Root anzumelden, weil der Festplattencheck natürlich fehlt schlägt. Als Root kann ich dann sehen das die SD-Karte nicht gemountet wurde.

Lass mich raten: Die Treiber für das Dateisystem der SD-Karte (fat?) sind nicht vorhanden. Editiere /etc/initramfs-tools/modules und füge sie manuell hinzu, z.B.

vfat
fat
nls_cp437
nls_iso8859_1

(Kann auf deinem System natürlich abweichen - je nach verwendetem Dateisystem und Codierung,...

anschließend:

1
sudo update-initramfs -u

und neu booten,...

edi2xs

Anmeldungsdatum:
10. Mai 2008

Beiträge: 6

Danke für die schnelle Antwort!

Die SD Karte ist auf ext2 formatiert, muss ich dann auch irgendwelche Module extra laden? Wie gesagt, manuel mounten geht ohne Probleme.

Red_Radish

Anmeldungsdatum:
7. September 2007

Beiträge: 770

edi2xs schrieb:

Danke für die schnelle Antwort!

Die SD Karte ist auf ext2 formatiert, muss ich dann auch irgendwelche Module extra laden?

Nein, daran liegt es also nicht. Hast du den PC schon ohne splash gestartet und irgendwelche Fehlermeldungen gesehen? Drücke mal beim Boot-Start 'esc', um die menu.lst für einen Bootvorgang zu editieren: http://wiki.ubuntuusers.de/menu.lst Entferne die Option "splash" und boote dann. So bekommt du unter Umständen aussagekräftigere Fehlermeldungen zu sehen. Notfalls auch noch die Option "quiet" - aber dann sieht man häufig zu viel und kommt gar nicht mit,...

Antworten |