Mounten Sie die LUKS-verschlüsselte Festplatte beim Booten

24

Ich besitze Xubuntu 14.04 auf einem SSD-Gerät (das HOME wurde während der Installation korrekt verschlüsselt). Außerdem besitze ich eine Festplatte mit einer verschlüsselten Partition mit zusätzlichen Daten, die ich in / mnt / hdd einhängen möchte . Um diese zu machen, folgte ich den nächsten Schritten:

(Vorher hatte ich die Festplatte mit LUKS verschlüsselt, nachdem ich diesen Beitrag gelesen hatte. Http://www.marclewis.com/2011/04/02/luks-encrypted-disks-under-ubuntu-1010/ )

Überprüfen Sie die UUID

sudo blkid 
/dev/sda1: UUID="b3024cc1-93d1-439f-80ce-1b1ceeafda1e" TYPE="crypto_LUKS"

Erstellen Sie eine Schlüsseldatei mit der richtigen Passphrase und speichern Sie sie in meinem HOME (das auch verschlüsselt ist).

sudo dd if=/dev/urandom of=/home/[USERNAME]/.keyfiles/key_luks bs=1024 count=4
sudo chmod 0400 .keyfiles/key_luks

Fügen Sie den Schlüssel hinzu

sudo cryptsetup luksAddKey /dev/sda1 /home/zeugor/.keyfiles/key_luks

Neuer Eintrag in / etc / crypttab

hddencrypted UUID=b3024cc1-93d1-439f-80ce-1b1ceeafda1e /home/[USERNAME]/.keyfiles/key_luks luks

Aktualisieren Sie die ursprüngliche Ramdisk

sudo update-initramfs -u -k all

Zum Testen habe ich dann den Befehl follow verwendet, um cryptdisks zu starten:

sudo cryptdisks_start hddencrypted 
 * Starting crypto disk...                                                       
 * hddencrypted (starting)..
 * hddencrypted (started)... 

So überprüfen Sie, ob hddencrypted zugeordnet wurde:

ls /dev/mapper/
control  hddencrypted

Erstellen Sie einen Einhängepunkt

mkdir /mnt/hdd

Neuer Eintrag in / etc / fstab

/dev/mapper/hddencrypted /mnt/hdd ext4 defaults 0 2

Validiere fstab ohne Neustart:

sudo mount -a

Hängen Sie die verschlüsselte Partition beim Booten ein

Jetzt habe ich es in / mnt / hdd gemountet, wie ich es vorgeschlagen habe. Aber ich würde das gerne automatisch nach dem Neustart machen. Bevor ich mich einloggen kann, erhalte ich folgende Fehlermeldung:

the disk drive for /mnt/hdd is not ready yet or not permit

All dies lässt mich denken, dass / etc / crypttab nicht auf die Schlüsseldatei zugreifen kann, die sich in meinem HOME befindet (andere verschlüsselte Partition). Ich kenne die Reihenfolge nicht, in der das System die Einheiten unverschlüsselt und montiert. Mein HOME sollte vor meiner Festplatte unverschlüsselt sein, damit die Schlüsseldatei gelesen werden kann.

Ich würde mich über einen Einblick darüber freuen, warum dies geschieht.

UPDATE: Wenn ich die Schlüsseldatei in / boot finde (nicht verschlüsselt), anstatt in meinem / home / [USERNAME] (verschlüsselt), wird die / dev / sda1 und die Aktualisierung des Eintrags in / etc / crypttab beim Booten perfekt eingehängt.

Zeugor
quelle
Wie wird /home/$USERverschlüsselt? Eine vollständige Festplattenverschlüsselung wie LUKS oder basierend auf ecryptfs?
David Foerster

Antworten:

9

Eine Schlüsseldatei im Verzeichnis / boot kann von jedem anderen Betriebssystem gelesen werden, das auf Ihrem Computer gestartet wurde und das in der Lage ist, das Dateisystem in das Verzeichnis / boot einzuhängen. Daher ist die Verschlüsselung nicht wirklich effektiv. Dieses Argument gilt für alle Speicherorte von Schlüsseldateien in unverschlüsselten Dateisystemen.

Um Schlüsseldateien auf unverschlüsselten Dateisystemen zu vermeiden, kann ein Kennwort zur Entschlüsselung verwendet werden. Erstellen Sie ein sicheres Kennwort für das Gerät. Ändern Sie dann die Zeile in / etc / crypttab in

hddencrypted UUID=b3024cc1-93d1-439f-80ce-1b1ceeafda1e none luks

und den Eintrag in / etc / fstab unverändert lassen. Ubuntu 14.04 / 16.04 / 18.04 fragt Sie beim Start nach dem Passwort.

Dominik Grether
quelle
Das Kombinieren der Antwort von @ solt87 und dieser Antwort würde diese Antwort vervollständigen.
6

Funktioniert es, wenn Sie "Defaults" in fstab durch ersetzen?

rw,suid,dev,exec,auto,user,async,relatime

(Laut der Mount- Manpage ist es mit Ausnahme von "user" dasselbe wie "defaults".)

solt87
quelle
1

Stellen Sie sicher, dass die hddencrypted-Partition in und nach der Home-Partition aufgeführt ist . In der Manpage heißt es:/etc/fstab/etc/crypttabcrypttab (5)

Die Reihenfolge der Datensätze in crypttab ist wichtig, da die Init-Skripte nacheinander durch crypttab iterieren, um ihre Sache zu erledigen.

Sie können auch versuchen, die noearlyOption zu der zuletzt genannten Partition hinzuzufügen /etc/crypttab:

hddencrypted UUID=<...> /home/[USERNAME]/.keyfiles/key_luks luks,noearly

In einer normalen Situation könnten Sie angeben, dass die Home-Partition zuerst gemountet werden muss, indem Sie sie zu CRYPTDISKS_MOUNTin hinzufügen. /etc/default/cryptdisksDa sie jedoch selbst verschlüsselt ist, habe ich das Gefühl, dass dies keine gute Idee wäre.

Aryeh Leib Taurog
quelle
1
Dies funktioniert nicht, da Ubuntu versucht, alle Partitionen zu entschlüsseln und sie dann bereitzustellen. Daher ist die Schlüsseldatei nicht verfügbar.
Christian Wolf