Die Verschlüsselungsfunktion auf Btrfs-Dateisystemebene ist immer noch nicht verfügbar. Sie können jedoch ein Verschlüsselungstool von Drittanbietern wie z dm-crypt um die gesamten Speichergeräte Ihres Btrfs-Dateisystems zu verschlüsseln.
In diesem Artikel zeige ich Ihnen, wie Sie die zu einem Btrfs-Dateisystem hinzugefügten Speichergeräte mit dm-crypt verschlüsseln. Also lasst uns anfangen.
Abkürzungen
- LUKS - Linux Unified Key-Setup
- HDD - Festplatte
- SSD - Solid-State-Laufwerk
Voraussetzungen
Um diesem Artikel zu folgen:
- Sie müssen entweder Fedora 33 Workstation oder Ubuntu 20 ausführen.04 LTS Linux-Distribution auf Ihrem Computer.
- Sie müssen eine freie HDD/SSD auf Ihrem Computer haben.
Wie Sie sehen können, habe ich eine HDD sdb auf meinem Ubuntu 20.04 LTS-Maschine. Ich werde es verschlüsseln und mit dem Btrfs-Dateisystem formatieren.
$ sudo lsblk -e7
Installieren der erforderlichen Pakete auf Ubuntu 20.04 LTS
Um Speichergeräte zu verschlüsseln und mit dem Btrfs-Dateisystem zu formatieren, benötigen Sie die btrfs-progs und cryptsetup Pakete, die auf Ihrem Ubuntu 20 installiert sind.04 LTS-Maschine. Glücklicherweise sind diese Pakete im offiziellen Paket-Repository von Ubuntu 20 verfügbar.04 LTS.
Aktualisieren Sie zunächst den Cache des APT-Paket-Repositorys mit dem folgenden Befehl:
$ sudo apt-Update
Installieren btrfs-progs und cryptsetup, führen Sie den folgenden Befehl aus:
Um die Installation zu bestätigen, drücken Sie Ja und drücke dann <Eingeben>.
Das btrfs-progs und cryptsetup Pakete und ihre Abhängigkeiten werden installiert.
Das btrfs-progs und cryptsetup Pakete sollten an dieser Stelle installiert werden.
Erforderliche Pakete auf Fedora 33 installieren
Um Speichergeräte zu verschlüsseln und mit dem Btrfs-Dateisystem zu formatieren, benötigen Sie die btrfs-progs und cryptsetup Pakete, die auf Ihrem Fedora 33 Workstation-Rechner installiert sind. Glücklicherweise sind diese Pakete im offiziellen Paket-Repository von Fedora 33 Workstation verfügbar.
Aktualisieren Sie zunächst den DNF-Paket-Repository-Cache mit dem folgenden Befehl:
$ sudo dnf makecache
Installieren btrfs-progs und cryptsetup, führen Sie den folgenden Befehl aus:
Fedora 33 Workstation verwendet standardmäßig das Btrfs-Dateisystem. Es ist also wahrscheinlicher, dass Sie diese Pakete bereits installiert haben, wie Sie im Screenshot unten sehen können. Wenn sie aus irgendeinem Grund nicht installiert sind, werden sie installiert.
Generieren eines Verschlüsselungsschlüssels
Bevor Sie Ihre Speichergeräte mit verschlüsseln können cryptsetup, Sie müssen einen 64 Byte langen Zufallsschlüssel generieren.
Sie können Ihren Verschlüsselungsschlüssel generieren und im /etc/cryptkey Datei mit folgendem Befehl:
$ sudo dd if=/dev/urandom of=/etc/cryptkey bs=64 count=1
Ein neuer Verschlüsselungsschlüssel sollte generiert und im /etc/cryptkey Datei.
Die Verschlüsselungsschlüsseldatei /etc/cryptkey kann standardmäßig von jedem gelesen werden, wie Sie im Screenshot unten sehen können. Dies ist ein Sicherheitsrisiko. Wir wollen nur die Wurzel Benutzer, um in der Lage zu sein, die . zu lesen/schreiben /etc/cryptkey-Datei.
Um nur dem Root-Benutzer das Lesen/Schreiben auf dem /etc/cryptkey-Datei, Ändern Sie die Dateiberechtigungen wie folgt:
Wie Sie sehen, sind nur die Wurzel Benutzer hat Lese-/Schreibberechtigung (rw) für die /etc/cryptkey Datei. So kann niemand anderes sehen, was in der /etc/cryptkey Datei.
Verschlüsseln der Speichergeräte mit dm-crypt
Nachdem Sie nun einen Verschlüsselungsschlüssel generiert haben, können Sie Ihr Speichergerät verschlüsseln. sagen wir, sdb, mit der Festplattenverschlüsselungstechnologie LUKS v2 (Version 2) wie folgt:
$ sudo cryptsetup -v --type luks2 luksFormat /dev/sdb /etc/cryptkey
cryptsetup fordert Sie auf, den Verschlüsselungsvorgang zu bestätigen.
HINWEIS: Alle Daten Ihrer HDD/SSD sollten entfernt werden. Stellen Sie also sicher, dass Sie alle Ihre wichtigen Daten verschieben, bevor Sie versuchen, Ihre HDD/SSD zu verschlüsseln.
Um die Festplattenverschlüsselung zu bestätigen, geben Sie ein JA (in Großbuchstaben) und drücken Sie
An diesem Punkt ist das Speichergerät /dev/sdb sollte mit dem Verschlüsselungsschlüssel verschlüsselt werden /etc/cryptkey.
Öffnen verschlüsselter Speichergeräte
Sobald Sie ein Speichergerät mit . verschlüsselt haben cryptsetup, du musst es mit öffnen cryptsetup Werkzeug, um es verwenden zu können.
Sie können das verschlüsselte Speichergerät öffnen sdb und ordnen Sie es Ihrem Computer zu als Daten Speichergerät wie folgt:
$ sudo cryptsetup open --key-file=/etc/cryptkey --type luks2 /dev/sdb data
Jetzt ist das entschlüsselte Speichergerät im Pfad verfügbar /dev/mapper/data. Sie müssen Ihr gewünschtes Dateisystem im /dev/mapper/Datengerät und montieren Sie die /dev/mapper/Datengerät Anstatt von /dev/sdb von nun an.
Erstellen eines Btrfs-Dateisystems auf verschlüsselten Geräten:
So erstellen Sie ein Btrfs-Dateisystem auf dem entschlüsselten Speichergerät /dev/mapper/data Führen Sie mit den Etikettendaten den folgenden Befehl aus:
$ sudo mkfs.btrfs -L Daten /dev/mapper/data
Ein Btrfs-Dateisystem sollte auf dem . erstellt werden /dev/mapper/Datenspeichergerät, die vom Speichergerät entschlüsselt wird /dev/sdb (verschlüsselt mit LUKS 2).
Mounten des verschlüsselten Btrfs-Dateisystems
Sie können auch das zuvor erstellte Btrfs-Dateisystem mounten.
Angenommen, Sie möchten das zuvor erstellte Btrfs-Dateisystem mounten /Daten Verzeichnis.
Erstellen Sie also die /Daten Verzeichnis wie folgt:
$ sudo mkdir -v /data
So mounten Sie das Btrfs-Dateisystem, das auf dem erstellt wurde /dev/mapper/Datenspeichergerät in dem /Daten Verzeichnis, führen Sie den folgenden Befehl aus:
Wie Sie sehen, wird das Btrfs-Dateisystem auf dem verschlüsselten Speichergerät erstelltsystem sdb ist montiert im /Daten Verzeichnis.
Automatisches Mounten des verschlüsselten Btrfs-Dateisystems beim Booten
Sie können das verschlüsselte Btrfs-Dateisystem auch beim Booten mounten.
Um das verschlüsselte Btrfs-Dateisystem beim Booten einzuhängen, müssen Sie:
- das Speichergerät entschlüsseln /dev/sdb beim Booten mit dem /etc/cryptkey Verschlüsselungsschlüsseldatei
- Mounten Sie das entschlüsselte Speichergerät /dev/mapper/data zum /Daten Verzeichnis
Suchen Sie zuerst die UUID des sdb verschlüsseltes Speichergerät mit dem folgenden Befehl:
$ sudo blkid /dev/sdb
Wie Sie sehen, ist die UUID des of sdb verschlüsseltes Speichergerät ist 1c66b0de-b2a3-4d28-81c5-81950434f972. Bei dir wird es anders sein. Stellen Sie also sicher, dass Sie es von nun an mit Ihrem ändern.
Zum automatischen Entschlüsseln der sdb Speichergerät beim Booten, müssen Sie einen Eintrag dafür auf dem /etc/crypttab Datei.
Öffne das /etc/crypttab Datei mit dem Nano Texteditor wie folgt:
$ sudo nano /etc/crypttab
Fügen Sie die folgende Zeile am Ende des hinzu /etc/crypttab Datei, wenn Sie eine Festplatte verwenden.
Fügen Sie die folgende Zeile am Ende des hinzu /etc/crypttab Datei, wenn Sie eine SSD verwenden.
data UUID=1c66b0de-b2a3-4d28-81c5-81950434f972 /etc/cryptkey luks,noearly,discardWenn Sie fertig sind, drücken Sie <Strg> + X, gefolgt von Ja, und <Eingeben> um die zu retten /etc/crypttab Datei.
Suchen Sie nun die UUID des entschlüsselten /dev/mapper/data Speichergerät mit folgendem Befehl:
Wie Sie sehen, ist die UUID des of /dev/mapper/data entschlüsseltes Speichergerät ist dafd9d61-bdc9-446a-8b0c-aa209bfab98d. Bei dir wird es anders sein. Stellen Sie also sicher, dass Sie es von nun an mit Ihrem ändern.
So mounten Sie das entschlüsselte Speichergerät automatisch /dev/mapper/data im /data-Verzeichnis beim Booten, müssen Sie einen Eintrag dafür auf der /etc/fstab Datei.
Öffne das /etc/fstab-Datei mit dem nano Texteditor wie folgt:
$ sudo nano /etc/fstab
Fügen Sie nun die folgende Zeile am Ende des /etc/fstab Datei:
Wenn Sie fertig sind, drücken Sie <Strg> + X, gefolgt von Ja, und <Eingeben> um die zu retten /etc/fstab Datei.
Starten Sie abschließend Ihren Computer neu, damit die Änderungen wirksam werden.
Das verschlüsselte Speichergerät sdb wird entschlüsselt in a Daten Speichergerät und die Daten Speichergerät ist in der /Daten Verzeichnis.
Wie Sie sehen, ist das Btrfs-Dateisystem, das auf dem entschlüsselten /dev/mapper/data Speichergerät ist im mounted montiert /Daten Verzeichnis.
Fazit
In diesem Artikel habe ich Ihnen gezeigt, wie Sie ein Speichergerät mit der Verschlüsselungstechnologie LUKS 2 mit cryptsetup verschlüsseln. Außerdem erfahren Sie, wie Sie das verschlüsselte Speichergerät entschlüsseln und mit dem Btrfs-Dateisystem formatieren. Außerdem erfahren Sie, wie Sie das verschlüsselte Speichergerät automatisch entschlüsseln und beim Booten mounten. Dieser Artikel soll Ihnen den Einstieg in die Btrfs-Dateisystemverschlüsselung erleichtern.