it-swarm.com.de

Stoppen Sie crypttab und fragen Sie nach dem Passwort für den Tausch

Ich habe bei der Veröffentlichung ein neues 11.04-System installiert und die Festplattenverschlüsselung mit LUKS eingerichtet. Zuerst wurde ich nach einem Passwort für meine drei verschlüsselten Partitionen gefragt:

/
/home
swap

Das dreimalige Eingeben der Passphrase war frustrierend. Deshalb habe ich versucht,/home einzurichten und zu tauschen, um eine auf/gespeicherte Schlüsseldatei zu entschlüsseln. Ich habe die Schlüsseldatei erstellt und auf den beiden Partitionen aktiviert. Mein Crypttab sieht jetzt so aus:

root-root_crypt UUID=13c21bf6-4d92-42a7-877a-87cc31b1aa19 none luks
home-home_crypt UUID=ba90ce5b-9df7-4764-8a72-011bbb164db4 /root/keyfile luks
home-home_crypt UUID=ba90ce5b-9df7-4764-8a72-011bbb164db4 none luks
sda3_crypt UUID=e4677895-2114-4054-9f23-d36f6bb0e6a2 /root/keyfile luks,swap

Dies funktioniert gut für/home, das automatisch gemountet wird, ohne nach einem Passwort zu fragen. Aber cryptsetup fragt immer noch nach einem Passwort für den Swap Space. Ich habe sogar versucht, noauto zum Swap-Bereich hinzuzufügen, damit es überhaupt nicht eingerichtet wird. Sobald das System gebootet ist, kann ich es ohne die Passphrase aktivieren. Daher dachte ich, ich würde einfach ein spätes Init-Skript hinzufügen, um dies zu tun es, aber auch bei noauto fragt cryptsetup noch nach der passphrase.

Vielen Dank!

9
Brad

Hatte die gleiche Frage, hier ist, wie ich es auf Ubuntu 12.04.1 und 12.10 getan habe,

- Stellen Sie vor dem Start sicher, dass Sie ein Backup haben und Ihr System auch mit Ubuntu CD oder USB booten können. Als ob Sie einen Fehler machen, bootet Ihr System möglicherweise nicht mehr oder Sie können Daten verlieren. Ich nehme an, Sie haben ein verschlüsseltes Ubuntu-System mit LUKS, in LUKS haben Sie 3 Partitionen, SYSTEM-BOOT (nicht verschlüsselt), SYSTEM-SWAP (verschlüsselt) und SYSTEM-OS (verschlüsselt) -

sie müssen die UUIDs, SYSTEM-SWAP_crypt, SYSTEM-OS_crypt, SYSTEM-SWAP, SYSTEM-OS an die auf Ihrem System verwendete Variante anpassen. Weitere Informationen finden Sie unter dem Referenzlink unter meiner Lösung

UUIDs abrufen:

blkid

Vorbereiten>

swapoff /dev/mapper/SYSTEM-SWAP_crypt
cryptsetup luksClose SYSTEM-SWAP_crypt

Weisen Sie cryptsetup an, die Passphrase der Swap-Partition anhand des Entschlüsselungsschlüssels des Volumes zu berechnen, auf dem sich das Root-Dateisystem befindet.>

/lib/cryptsetup/scripts/decrypt_derived SYSTEM-OS_crypt | cryptsetup luksFormat /dev/mapper/SYSTEM-SWAP --key-file -
/lib/cryptsetup/scripts/decrypt_derived SYSTEM-OS_crypt | cryptsetup luksOpen /dev/mapper/SYSTEM-SWAP SYSTEM-SWAP_crypt --key-file -
mkswap /dev/mapper/SYSTEM-SWAP_crypt

Informiere das System über die Swap-Partition, bearbeite crypttab>

nano /etc/crypttab

=? Stellen Sie sicher, dass zwei Zeilen übereinstimmen

SYSTEM-OS_crypt UUID=uuid-of-luks-containing-osroot none luks
SYSTEM-SWAP_crypt UUID=uuid-of-luks-containing-swap SYSTEM-OS_crypt luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived

Informiere das System über die Swap-Partition, bearbeite fstab>

nano /etc/fstab

=? Stellen Sie sicher, dass Sie diese Zeile haben

/dev/mapper/SYSTEM-SWAP_crypt swap swap sw 0 0

Informiere das System über die Swap-Partition, bearbeite den Lebenslauf>

nano /etc/initramfs-tools/conf.d/resume

=? Stellen Sie sicher, dass Sie diese Zeile haben

RESUME=UUID=uuid-of-encrypted-swap-SYSTEM-SWAP_crypt

Update von initramfs auf der Bootpartition>

update-initramfs -u -k all

Referenz

Die Antwort inspiriert von Einrichten eines verschlüsselten Debian-Systems (archivierter Link):

Wenn Sie ein verschlüsseltes Debian-System verwenden, müssen Sie wahrscheinlich einige Sicherheitsanforderungen erfüllen. In diesem Fall müssen Sie auch eine verschlüsselte Swap-Partition verwenden.

Die Swap-Partition kann auf zwei Arten verschlüsselt werden:

  • es kann bei jedem Start mit einer zufälligen Passphrase oder neu erstellt werden
  • es kann wie die anderen verschlüsselten Volumes mit einer dauerhaften Passphrase erstellt werden

Wenn Sie Suspend-to-Disk verwenden möchten, können Sie nicht den ersten Ansatz verwenden, da dadurch der in der Swap-Partition gespeicherte Speicherbedarf überschrieben wird. Darüber hinaus können Sie keine Schlüsseldatei wie die anderen Partitionen verwenden, da das Root-Dateisystem zu dem Zeitpunkt, zu dem der Wiederaufnahmevorgang gestartet wird und die entschlüsselte Swap-Partition gelesen werden muss, nicht bereitgestellt ist (und nicht bereitgestellt werden muss).

Die Art und Weise, wie ich das gelöst habe, besteht darin, cryptsetup anzuweisen, die Passphrase der Swap-Partition aus dem Entschlüsselungsschlüssel des Volumes zu berechnen, auf dem sich das Root-Dateisystem befindet. Das cryptsetup-Paket implementiert dies mit /lib/cryptsetup/scripts/decrypt_derived. Um die Swap-Partition einzurichten, gehe ich wie folgt vor, vorausgesetzt, hda2 ist die Partition, die den verschlüsselten Swap enthält, und das Root-Dateisystem befindet sich in hda5_crypt:

swapoff /dev/mapper/hda2_crypt
cryptsetup luksClose hda2_crypt
dd if=/dev/urandom of=/dev/hda2
/lib/cryptsetup/scripts/decrypt_derived hda5_crypt \
  | cryptsetup luksFormat /dev/hda2 --key-file -
/lib/cryptsetup/scripts/decrypt_derived hda5_crypt \
  | cryptsetup luksOpen /dev/hda2 hda2_crypt --key-file -
mkswap /dev/mapper/hda2_crypt

Um das System über diese Swap-Partition zu informieren, müssen wir sie zu /etc/crypttab und /etc/fstab hinzufügen. Stellen Sie sicher, dass diese Dateien Zeilen wie die folgenden enthalten:

/etc/crypttab:
  hda2_crypt /dev/hda2 hda5_crypt luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived

/etc/fstab:
  /dev/mapper/hda2_crypt swap swap sw 0 0

Sobald Sie das System für das Suspend-to-Disk-Verfahren konfigurieren, wird die Swap-Partition sehr früh während der Startsequenz automatisch zusammen mit dem Root-Dateisystem eingerichtet. Um herauszufinden, welche Swap-Partition zu diesem Zeitpunkt verfügbar sein soll, prüft cryptsetup Folgendes: asfasfafs - eine Zeile wie RESUME=/dev/mapper/hda2_crypt in /etc/initramfs-tools/conf.d/resume - eine Geräteeinstellung in /etc/uswsusp.conf fortsetzen (siehe uswsusp.conf(5)) - Ein Eintrag in /etc/suspend.conf - ein resume=/dev/mapper/hda2_crypt in der Kernel-Befehlszeile

Sie können /usr/share/initramfs-tools/hooks/cryptroot überprüfen, wenn Sie mehr darüber erfahren möchten.

10
Prince

Dies weist wahrscheinlich darauf hin, dass auf die Swap-Partition während des Abschnitts initramfs des Startvorgangs zugegriffen wird. Zu diesem Zeitpunkt wurde das Root-Dateisystem noch nicht bereitgestellt, sodass dort gespeicherte Konfigurationsdateien nicht sichtbar sind.

Während der Auslagerungsspeicher nach dem Root-Dateisystem bereitgestellt wird, gibt es einen Grund für den initramfs -Initialisierungsprozess, auf den Auslagerungsspeicher zuzugreifen: Wenn Sie Ihren Computer in den Ruhezustand versetzen, werden der Inhalt des Arbeitsspeichers und der Systemstatus in den Auslagerungsspeicher geschrieben. Um aus dem Ruhezustand fortzufahren, muss überprüft werden, ob der Auslagerungsspeicher ein Ruhezustandbild enthält, für das die Passphrase erforderlich wäre.

Wenn es Ihnen nichts ausmacht, die Fähigkeit zu verlieren, aus dem Ruhezustand fortzufahren, können Sie dieses Verhalten deaktivieren, indem Sie /etc/initramfs-tools/conf.d/resume bearbeiten und die mit RESUME= beginnende Zeile auskommentieren. Führen Sie nach der Änderung update-initramfs -u aus, um das Image initramfs zu aktualisieren.

4