PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Optional mountbare Verschlüsselte Homepartition



schoppenhauer
31.03.07, 12:51
Hallo allerseits.

Ich habe mit LUKS sowohl /tmp, als auch swap, als auch mein Homeverzeichnis verschlüsseln lassen, /tmp und swap zufällig, mein Homeverzeichnis - natürlich - mit einem nicht-zufälligen schlüssel ;) .

Dabei habe ich nicht /home, sondern /home/schoppenhauer verschlüsseln lassen, mit dem Hintergedanken, es sollen noch andere User den PC benutzen können, die nicht das Passwort kennen. Pustekuchen... Wenn ich das Passwort bei der Passphrase-Abfrage nicht angebe, dann mag der Rechner nicht... Der Bootvorgang bricht ab, ich komm nur als Root rein, und weder /tmp noch swap scheinen gemountet zu werden.

Nunja... Also wenn ich das richtige Passwort eingebe, passt alles.

Hat jemand eine Ahnung, wie ich machen kann, dass wenn das Passwort nicht eingegeben wird, die Platte einfach nicht gemountet wird? Oder noch besser wäre es sogar, wenn man irgendwie eine Art Auswahlmenü hätte oder so. Oder wenn ich erst, wenn ich mich auch wirklich einloggen will, mein Passwort angeben muss (was aber schwer sein wird, vA mit gdm, aber wenn es möglich ist...).

poOoch
31.03.07, 14:13
http://forums.gentoo.org/viewtopic-t-274651-highlight-cryptsetup+pam.html
Hier gibts ein Howto um das mittel pam zu realisieren

schoppenhauer
31.03.07, 23:18
Hm. Danke.

Das ist schon mal ein Anfang, aber nicht direkt das, was ich will. Ich will schon, dass mein Login-Passwort und mein Encryption-Passwort getrennt sind. Man stelle sich vor, ich logge mich per SSH ein, und irgendwer kommt an den Key und darüber an mein Passwort. Nungut, wenn jemand mein User-Passwort kennt, kann er wohl so oder so per SSH auf meinen User-Account zugreifen, aber ich bin trotzdem immer der Auffassung, doppelt hält besser.

Am Liebsten wäre mir wirklich, wenn man einfach bei der Nachfrage nach der LUKS Passphrase mit dreimal Enter (=drei falsche Eingaben) nur hätte, dass halt die Partition nicht gemountet wird. Ok, das dürfte insofern schwierig werden, da der Mountvorgang erst nach dem Cryptodisc-Vorgang stattfindet, aber ggf. kann ich durch ein separates Initscript oder sowas das erreichen. Sowas müsste sich selbst schreiben lassen, aber... hat vielleicht trotzdem jemand Erfahrung damit? Ggf. gibts ja was "vorgefertigtes".

Anomander
31.03.07, 23:30
Man kann doch, wenn ich mich recht entsinne das "home-Verzeichnis" des Nutzers auch woanders hinsetzen, als nach /home, oder.

Kannst du da nicht einfach /home für "normale" Nutzer unverschlüsselt mounten und für dem "gesicherten" Nutzer ein Homeverzeichnis in "/schoppenhauer" einrichten.
Da könntest du dann eine extra Partition hinmounten, die auch verschlüsselt ist.

Weiß natürlich nicht, ob die dann nicht auch beim hochfahren eingebunden werden muss... is nur so ein Gedanke...

schoppenhauer
31.03.07, 23:37
Man kann doch, wenn ich mich recht entsinne das "home-Verzeichnis" des Nutzers auch woanders hinsetzen, als nach /home, oder.Ja, genau das mache ich (geht das aus meinem Post nicht klar hervor?).


Kannst du da nicht einfach /home für "normale" Nutzer unverschlüsselt mounten und für dem "gesicherten" Nutzer ein Homeverzeichnis in "/schoppenhauer" einrichten.Naja, das könnte ich. Momentan habe ich /home für normale Benutzer und /home/schoppenhauer für mich, und /home/schoppenhauer ist der Mountpoint einer verschlüsselten partition.


Weiß natürlich nicht, ob die dann nicht auch beim hochfahren eingebunden werden muss... is nur so ein Gedanke...Jup. Den Gleichen Gedanken hatte ich. Genau da liegt aber das Problem... Denn genau das ist es ja, was so nicht geht.

Anomander
31.03.07, 23:44
Hmmm... irgendwie hatte ich halt den Gedanken, dass es einen Unterschied macht, wenn du die Partition nicht als Unterverzeichnis von /home mountest...

Aber eigentlich hast du Recht, dass sollte wirklich keinen Unterschied machen...

schoppenhauer
02.04.07, 11:39
Nungut. Ich habs jetzt mit nem Initscript gelöst. Nicht gerade die feine englische Art, aber funktioniert soweit ganz gut.
Das Initscript benutzt "dialog" um mich zu fragen, ob ich die Partition mounten will. Wenn ich dies bejahe, dann werd ich nach dem Passwort gefragt, ansonsten nicht.
Im Grunde genau das, was ich wollte. Ich hoffe nur, dass ich es richtig mache. Was ich bei "Required-Stop" hinschreiben muss, weiß ich z.B. nicht. Hat da jemand einen Tipp? Also das Script sieht wie Folgt aus:


$ cat /etc/init.d/homecryptdisk
#! /bin/sh
### BEGIN INIT INFO
# Provides: homedir
# Required-Start: mountall.sh
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Setup Homedirectory
### END INIT INFO

# Author: Quak <quak@quak.quak>

PATH=/sbin:/usr/sbin:/bin:/usr/bin

do_start()
{
dialog --clear --yesno "Cryptodisk fuer /home/schoppenhauer laden?" 0 0
case "$?" in
0) #yes
echo "Lade Cryptodisk /dev/hda9 fuer /dev/mapper/home_schoppenhauer"
cryptsetup luksOpen /dev/hda9 home_schoppenhauer
echo "Mounte Cryptodisk /dev/mapper/home_schoppenhauer nach
/home/schoppenhauer"
mount -t ext3 /dev/mapper/home_schoppenhauer /home/schoppenhauer
;;
1) #no
echo "Lade Cryptodisk /dev/hda9 nicht"
;;
esac;
};

do_stop()
{
umount /home/schoppenhauer
cryptsetup luksClose /dev/mapper/home_schoppenhauer
};

do_restart()
{
do_stop
do_start
}

case "$1" in
start)
do_start
;;
stop)
do_stop
;;
restart|force-reload)
do_restart
;;
*)
echo "Either 'start' or 'stop' should be given as an argument"
;;

esac

:

Ich kenn mich mit dem Initscript-Zeugs nicht so aus. Also es scheint zumindest beim Starten zu funktionieren. Aber ggf. mach ich ja trotzdem was falsch. Hat wer eine Ahnung?