cryptsetup + LUKS + KeyFile

Alles rund um sicherheitsrelevante Fragen und Probleme.
Antworten
Benutzeravatar
LeoLinux
Beiträge: 408
Registriert: 24.11.2005 17:58:47
Wohnort: Frankfurt Am Main

cryptsetup + LUKS + KeyFile

Beitrag von LeoLinux » 07.02.2008 02:40:29

Hi,

ich habe mit Hilfe de Debianinstallers heute mal riskiert einige meiner Partitionen zu verschlüsseln - was auch gut geklappt haben zu scheint.

Folgende Konfiguration liegt vor:
  • /boot --> unverschlüsselt
    swap --> verschlüsselt --> zufälliger Key
    / --> unverschlüsselt
    /usr --> verschlüsset
    /var --> verschlüsselt
    /tmp --> verschlüsselt --> zufälliger Key
    /vServer --> verschlüsselt

... Soweit sogut .. das System läuft es bootet ... alles soweit gut konfiguriert....

Nun habe ich das Problem, dass ich nicht 3x 25 Stellige Keys bei jedem Systemstart von Hand eingeben möchte ... deshalb habe ich mir ein Keyfile erstellt

ich bin hergegangen und habe erstmal folgendes in die /etc/crypttab geschrieben / geändert

von:

Code: Alles auswählen

hda5_crypted    /dev/hda5     none    luks
auf

Code: Alles auswählen

hda5_crypted    /dev/hda5      /root/hda5.key    luks

wobei ich selbstverständlich in /root/hda5.key den Schlüssel zum Entschlüsseln der hda5 Partition abgelegt habe:

Code: Alles auswählen

cat /root/hda5.key
123456789abcd123456789abcd
Wenn ich das System jetzt boote bringt er mir einen Fehler:

Code: Alles auswählen

starting hda5_crypted  INSECURE MODE FOR hda5 ... bla blub ....read the /usr/share/doc/cryptsetup/README.Debian for more information ... 
und mounted die 5 Partition der Platte dann logischerweise nicht.

Mache ich das ganze von Hand ...:

Code: Alles auswählen

cryptsetup luksOpen -d /root/hda5.key /dev/hda5 hda5_crypted
^^ bringt er mir auch nen Fehler als ob ich nen falschen Key verwende ... irgendwas mit Abfrage nicht möglich oder so ... nichts aus dem man näheres schließen könnte.

Meine Vermutung liegt jetzt natürlich nahe ob ich den Key vielleicht md5 verschlüsselt in dem Keyfile ablegen muss ... wer weiß ... beim Apachen darf man der htacces auch keine klartextpasswörter mitgeben ... ?! Ich bin ratlos ... ;-)


Vielen Dank

MfG,


Leander

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Re: cryptsetup + LUKS + KeyFile

Beitrag von Danielx » 07.02.2008 03:39:41

LeoLinux hat geschrieben:

Code: Alles auswählen

starting hda5_crypted  INSECURE MODE FOR hda5 ... bla blub ....read the /usr/share/doc/cryptsetup/README.Debian for more information ... 
Na, dann lese doch mal die angegebene Datei!
Besonders den Abschnitt "Insecure mode/owner for keys"

Gruß,
Daniel

Benutzeravatar
LeoLinux
Beiträge: 408
Registriert: 24.11.2005 17:58:47
Wohnort: Frankfurt Am Main

Beitrag von LeoLinux » 07.02.2008 12:24:41

Ok ;-)

.... INSECURE MODE FOR wäre damit behoben, dennoch erscheint bei mir Command faild .... wenn er versucht die Partition mit Hilfe des Keyfiles zu entschlüsseln.

Benutzeravatar
LeoLinux
Beiträge: 408
Registriert: 24.11.2005 17:58:47
Wohnort: Frankfurt Am Main

Beitrag von LeoLinux » 07.02.2008 13:04:29

Beim Booten komt folgendes:
[...]

Code: Alles auswählen

Enter LUKS passphrase:
key slot 0 unlocked.
Command successful.
 hda9_crypt(starting)Command failed.
done.
Starting remaining crypto disks... hda5_crypt(running) hda7_crypt(running) hda8_crypt(running) hda9_crypt(starting)Command failed.
done.
Checking file systems...fsck 1.40-WIP (14-Nov-2006)
[...]




und wenn er hochgefahren ist und ich das ganze nochmals von Hand versuche:

Code: Alles auswählen

xen-daddy:~# cryptsetup luksOpen -d /root/hda9.key /dev/hda9 hda9_crypted
Aufruf fehlgeschlagen.
xen-daddy:~#
ABER, wenn ich:

Code: Alles auswählen

xen-daddy:~# cryptsetup luksOpen /dev/hda9 hda9_crypted
Enter LUKS passphrase:
key slot 0 unlocked.
Command successful.
xen-daddy:~#
^^ den Schlüssel von Hand eingeben, dann funktionierts... der Schlüssel ist aber auch EXAKT so in das KeyFile eingetragen .. ich verstehe das nicht .... ;-//



MfG,

Leander

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Beitrag von Danielx » 07.02.2008 13:28:50

Hast du denn dein jeweiliges Key-File (das sind beliebige Daten, nicht dein Passwort) auch hinzugefügt:

Code: Alles auswählen

cryptsetup luksAddKey <device> [<new key file>]
add a new key file/passphrase. An existing passphrase or key
file (via --key-file) must be supplied.
edit:
LeoLinux hat geschrieben:der Schlüssel ist aber auch EXAKT so in das KeyFile eingetragen
In das Key-File gehören beliebige Daten, nicht das Passwort!

Gruß,
Daniel

Benutzeravatar
LeoLinux
Beiträge: 408
Registriert: 24.11.2005 17:58:47
Wohnort: Frankfurt Am Main

Beitrag von LeoLinux » 07.02.2008 13:43:09

ich möchte aber mein bisheriges Passwort in das KeyFile legen, das ich sonst so von Hand eingeben müsste.

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Beitrag von Danielx » 07.02.2008 14:13:56

LeoLinux hat geschrieben:ich möchte aber mein bisheriges Passwort in das KeyFile legen, das ich sonst so von Hand eingeben müsste.
Warum?
Das ist LUKS völlig egal, welche Daten in der Datei liegen.
Das Key-File ist doch neben dem Passwort nur eine zusätzliche Möglichkeit die Partition zu entschlüsseln.
Du musst aber in jedem Fall das Key-File mit "luksAddKey" hinzufügen, sonst kannst du diese nicht mit dem Key-File entschlüsseln.

Noch ein Hinweis:
Mit den Passwörtern bzw. Key-Files wird nur der eigentliche Schlüssel verschlüsselt, mit dem die Partition verschlüsselt wurde.
Es sind maximal 8 Passwörter/Key-Files (pro Partition) möglich.
Passwörter bzw. Key-Files können auch gelöscht werden, doch wenn du das letzte Passwort/Key-File löscht, dann kommst du nie wieder an deine Daten.

Gruß,
Daniel

Benutzeravatar
LeoLinux
Beiträge: 408
Registriert: 24.11.2005 17:58:47
Wohnort: Frankfurt Am Main

Beitrag von LeoLinux » 07.02.2008 16:44:40

Dankeschön für die Information.

Jetzt habe ich nur noch ein Problem ... ich habe ja bereits einen Keyslot belegt ... mit meinem Schlüssel den ich mir auch merken kann.

Wie belege ich nun den 2. Slot mit dem Keyfile?

Ich habe folgendes probiert:

Code: Alles auswählen

xen-daddy:~# umount /dev/mapper/hda10_crypt
xen-daddy:~# cryptsetup luksClose hda10_crypt

xen-daddy:~# cryptsetup luksDump /dev/hda10
LUKS header information for /dev/hda10

Version:        1
Cipher name:    aes
Cipher mode:    cbc-essiv:sha256
Hash spec:      sha1
Payload offset: 2056
MK bits:        256
MK digest:      45 22 45 e8 22 13 c8 9e 34 ee 7b d4 f8 3d 56 98 ad 93 18 34
MK salt:        4f 44 ae 80 ef 35 45 a3 1f ee ae 53 28 5e ad a8
                45 0a fc ae 34 ae 40 1b ae 90 ae e4 ff ae b3 ae
MK iterations:  10
UUID:           eda45358-e54e-42de-a5be-3506eeafab52

Key Slot 0: ENABLED
        Iterations:             178189
        Salt:                   ff 11 8f dd c1 5b ae 65 ee bb 23 1b bd 42 8f af
                                13 7d db 11 ef ff fe 1d fe d1 fe ea ad e0 ac 88
        Key material offset:    8
        AF stripes:             4000
Key Slot 1: DISABLED
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED


xen-daddy:~# cat /dev/urandom > /media/floppy/keyfile


xen-daddy:~# cryptsetup luksAddKey -d /media/floppy/keyfile /dev/hda10
No key available with this passphrase.
Aufruf fehlgeschlagen.
xen-daddy:~# cryptsetup luksDump /dev/hda10


MfG,


Leander

Benutzeravatar
LeoLinux
Beiträge: 408
Registriert: 24.11.2005 17:58:47
Wohnort: Frankfurt Am Main

Beitrag von LeoLinux » 07.02.2008 16:52:16

.... habs raus ;-) .... die -d Option gilt nur, wenn man das Device komplett neu anlegt.

der richtige Befehl muss lauten:

Code: Alles auswählen

cryptsetp luksAddKey /dev/hda10 /media/floppy/keyfile

fertig



Dankeschön nochmal!


MfG,

Leander

Benutzeravatar
LeoLinux
Beiträge: 408
Registriert: 24.11.2005 17:58:47
Wohnort: Frankfurt Am Main

Beitrag von LeoLinux » 07.02.2008 16:54:40

.. blos noch eine kleine Frage ... kann ich diese Keys auch online ... sprich während die Partition "luksOpened" ist und während sie gemounted ist hinzufügen oder nicht?!


Danke

Danielx
Beiträge: 6419
Registriert: 14.08.2003 17:52:23

Beitrag von Danielx » 07.02.2008 17:51:10

LeoLinux hat geschrieben:kann ich diese Keys auch online ... sprich während die Partition "luksOpened" ist und während sie gemounted ist hinzufügen oder nicht?!
Ja, das geht!

Gruß,
Daniel

Benutzeravatar
LeoLinux
Beiträge: 408
Registriert: 24.11.2005 17:58:47
Wohnort: Frankfurt Am Main

Beitrag von LeoLinux » 07.02.2008 17:59:43

Danke

Gruß,

Leander

drz
Beiträge: 39
Registriert: 21.04.2006 12:50:54
Kontaktdaten:

Beitrag von drz » 16.02.2008 02:23:53

Hallo Leute

Bei mir ist auf Etch / , /home und die swap verschlüsselt. Interessanterweise habe ich den gleichen Fehler wie LeoLinux gemacht, nur dass es bei mir funktioniert hat. Allerdings hatte ich vorher den Key nicht mit luksAddKey hinzugefügt.
Habe nach der Lektüre dieses Threads allerdings sofort das Ärgernis behoben, dass mein Passwort im Klartext in /etc liegt.

Nun habe ich es umgestellt und ... damn, never change a running system... habe das Problem, dass das mounten jetzt nicht mehr automatisch funktioniert.
Meine Fehlermeldung ist (unter Etch) stets

Code: Alles auswählen

# mount /home
mount: special device /dev/mapper/hda7_crypt does not exist.
Interessanterweise funktioniert es manuell mit:

Code: Alles auswählen

# cryptsetup luksOpen -d /etc/cryptkeys/keys.key /dev/hda7 hda7_crypt
# mount /home
aber eben nicht mit einfahc nur durch mount /home bzw. beim booten, wie vorher.

Ich habe lediglich den Key in meinem Keyfile geändert und mit

Code: Alles auswählen

# cryptsetup luksAddKey /dev/hda7 /etc/cryptkeys/keys.key 
hinzugefügt.

Die fstab und crypttab habe ich nachdem es ja mit dem anderen Key im Keyfile funktioniert hat unangetastet gelassen. Das heisst daran kann es nicht liegen.
Der vollständigkeit halber:

Code: Alles auswählen

# cat /etc/fstab
...
/dev/mapper/hda7_crypt /home ext3 defaults 0 2

# cat /etc/crypttab
...
hda7_crypt /dev/hda7 /etc/cryptkeys/keys.key luks
Auf meinem unstable-Rechner funktionierts so ohne Probleme...

Also wer eine Idee hat, bitte melden.
Falls Infos benötigt werden, nur zu ich poste alles... (außer dem Key ;) )

greetz
drz

drz
Beiträge: 39
Registriert: 21.04.2006 12:50:54
Kontaktdaten:

Beitrag von drz » 16.02.2008 14:30:07

OK, ist gelöst.

Ich hatte testweise nur die /home Partition angefasst. Die swap hatte ich nicht korrekt konfiguriert, so dass das mounten der swap das mounten der /home wegen des Fehlers bei der swap verhindert hat.

Ich wusste, dass es ein dämlicher Fehler ist... ;)

greetz
drz

Antworten