Website-Suche

So verschlüsseln Sie Laufwerke mit LUKS in Fedora Linux


In diesem Artikel erklären wir kurz die Blockverschlüsselung, das Linux Unified Key Setup (LUKS) und beschreiben die Anweisungen zum Erstellen eines verschlüsselten Blockgeräts in Fedora Linux.

Geräteverschlüsselung blockieren

Mit der Blockgeräteverschlüsselung werden die Daten auf einem Blockgerät durch Verschlüsselung gesichert. Um Daten zu entschlüsseln, muss ein Benutzer für den Zugriff eine Passphrase oder einen Schlüssel angeben. Dies bietet zusätzliche Sicherheitsmechanismen, da der Inhalt des Geräts auch dann geschützt ist, wenn es physisch vom System getrennt wurde.

Einführung in LUKS

LUKS (Linux Unified Key Setup) ist der Standard für die Blockgeräteverschlüsselung unter Linux, der durch die Einrichtung eines On-Disk-Formats für die Daten und einer Passphrase-/Schlüsselverwaltungsrichtlinie funktioniert . Es speichert alle notwendigen Setup-Informationen im Partitionsheader (auch bekannt als LUKS-Header) und ermöglicht Ihnen so den nahtlosen Transport oder die Migration von Daten.

LUKS nutzt das Kernel-Device-Mapper-Subsystem mit dem dm-crypt-Modul, um eine Low-Level-Zuordnung bereitzustellen, die die Verschlüsselung und Entschlüsselung der Gerätedaten übernimmt. Mit dem Programm cryptsetup können Sie Aufgaben auf Benutzerebene ausführen, z. B. das Erstellen und Zugreifen auf verschlüsselte Geräte.

Vorbereiten eines Blockgeräts

Die folgenden Anweisungen zeigen die Schritte zum Erstellen und Konfigurieren verschlüsselter Blockgeräte nach der Installation.

Installieren Sie das Paket cryptsetup.

dnf install cryptsetup-luks

Füllen Sie das Gerät anschließend mit zufälligen Daten, bevor Sie es verschlüsseln, da dies die Stärke der Verschlüsselung mithilfe der folgenden Befehle erheblich erhöht.

dd if=/dev/urandom of=/dev/sdb1	           [slow with high quality random data ]
OR
badblocks -c 10240 -s -w -t random -v /dev/sdb1  [fast with high quality random data]

Warnung: Die oben genannten Befehle löschen alle vorhandenen Daten auf dem Gerät.

Formatieren eines verschlüsselten Geräts

Verwenden Sie als Nächstes das Befehlszeilentool cryptsetup, um das Gerät als dm-crypt/LUKS-verschlüsseltes Gerät zu formatieren.

cryptsetup luksFormat /dev/sdb1

Nachdem Sie den Befehl ausgeführt haben, werden Sie aufgefordert, YES (in Großbuchstaben) einzugeben, um zweimal eine Passphrase für das zu formatierende Gerät anzugeben, wie im folgenden Screenshot gezeigt.

Um zu überprüfen, ob der Vorgang erfolgreich war, führen Sie den folgenden Befehl aus.

cryptsetup isLuks /dev/sdb1 && echo Success

Sie können eine Zusammenfassung der Verschlüsselungsinformationen für das Gerät anzeigen.

cryptsetup luksDump /dev/sdb1

Erstellen einer Zuordnung, um den Zugriff auf einen entschlüsselten Inhalt zu ermöglichen

In diesem Abschnitt konfigurieren wir den Zugriff auf die entschlüsselten Inhalte des verschlüsselten Geräts. Wir erstellen eine Zuordnung mit dem Kernel Device-Mapper. Es wird empfohlen, einen aussagekräftigen Namen für diese Zuordnung zu erstellen, etwa luk-uuid (wobei <uuid> durch die LUKS-UUID des Geräts ersetzt wird ( Universell eindeutiger Bezeichner).

Um die UUID Ihres verschlüsselten Geräts abzurufen, führen Sie den folgenden Befehl aus.

cryptsetup luksUUID /dev/sdb1

Nachdem Sie die UUID erhalten haben, können Sie den Zuordnungsnamen wie gezeigt erstellen (Sie werden aufgefordert, die zuvor erstellte Passphrase einzugeben).

cryptsetup luksOpen /dev/sdb1 luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c

Wenn der Befehl erfolgreich ist, wird ein Geräteknoten namens /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c angezeigt, der das entschlüsselte Gerät darstellt.

Das gerade erstellte Blockgerät kann wie jedes andere unverschlüsselte Blockgerät gelesen und beschrieben werden. Sie können einige Informationen über das zugeordnete Gerät anzeigen, indem Sie den folgenden Befehl ausführen.

dmsetup info /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c

Erstellen von Dateisystemen auf einem zugeordneten Gerät

Jetzt schauen wir uns an, wie man auf dem zugeordneten Gerät ein Dateisystem erstellt, das es Ihnen ermöglicht, den zugeordneten Geräteknoten wie jedes andere Blockgerät zu verwenden.

Führen Sie den folgenden Befehl aus, um ein ext4-Dateisystem auf dem zugeordneten Gerät zu erstellen.

mkfs.ext4 /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c

Um das obige Dateisystem zu mounten, erstellen Sie einen Mount-Punkt dafür, z. B. /mnt/encrypted-device, und mounten Sie es dann wie folgt.

mkdir -p /mnt/encrypted-device
mount /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c /mnt/encrypted-device/

Fügen Sie Zuordnungsinformationen zu /etc/crypttab und /etc/fstab hinzu

Als nächstes müssen wir das System so konfigurieren, dass es automatisch eine Zuordnung für das Gerät einrichtet und es beim Booten bereitstellt.

Sie sollten die Zuordnungsinformationen in der Datei /etc/crypttab im folgenden Format hinzufügen.

luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c  UUID=59f2b688-526d-45c7-8f0a-1ac4555d1d7c   none

im obigen Format:

  • luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c – ist der Mapping-Name
  • UUID=59f2b688-526d-45c7-8f0a-1ac4555d1d7c – ist der Gerätename

Speichern Sie die Datei und schließen Sie sie.

Fügen Sie als Nächstes den folgenden Eintrag zu /etc/fstab hinzu, um das zugeordnete Gerät beim Systemstart automatisch bereitzustellen.

/dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c  /mnt/encrypted-device  ext4 0 0

Speichern Sie die Datei und schließen Sie sie.

Führen Sie dann den folgenden Befehl aus, um die aus diesen Dateien generierten Einheiten systemd zu aktualisieren.

systemctl daemon-reload

LUKS-Header sichern

Abschließend befassen wir uns mit der Sicherung der LUKS-Header. Dies ist ein entscheidender Schritt, um den Verlust aller Daten im verschlüsselten Blockgerät zu vermeiden, falls die Sektoren, die die LUKS-Header enthalten, durch einen Benutzerfehler oder einen Hardwarefehler beschädigt werden. Diese Aktion ermöglicht eine Datenwiederherstellung.

Zum Sichern der LUKS-Header.

mkdir /root/backups  
cryptsetup luksHeaderBackup --header-backup-file luks-headers /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c 

Und um die LUKS-Header wiederherzustellen.

cryptsetup luksHeaderRestore --header-backup-file /root/backups/luks-headers /dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c 

Das ist alles! In diesem Artikel haben wir erklärt, wie man Blockgeräte mit LUKS in der Fedora Linux-Distribution verschlüsselt. Haben Sie Fragen oder Kommentare zu diesem Thema oder Leitfaden, nutzen Sie das untenstehende Feedback-Formular, um uns zu erreichen.