GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verschlüsseln Sie eine Partition unter Linux

In einem unserer vorherigen Artikel haben wir gelernt, wie Sie Ihr gesamtes Root-Dateisystem verschlüsseln können unter Linux leicht.

In einigen Fällen möchten Sie jedoch möglicherweise eine einfache Partition verschlüsseln das einige Ihrer wichtigen Dateien speichern kann.

Wie Sie bereits wissen, ist die Verschlüsselung Ihrer Laufwerke von entscheidender Bedeutung . Wenn Ihr Laptop gestohlen würde, würden Sie wahrscheinlich alle Ihre persönlichen Daten verlieren.

Es gibt jedoch einige Möglichkeiten, wie Sie mit diesem Problem umgehen können:indem Sie Ihre Festplattenpartitionen verschlüsseln .

In diesem Tutorial lernen Sie alle notwendigen Schritte kennen, um eine ganze Festplattenpartition zu verschlüsseln , sichern Sie es mit einer Passphrase oder mit einer Schlüsseldatei.

Als Beispiel wird der Artikel auf einem RHEL 8-Betriebssystem dargestellt, aber es sollte keine Unterschiede geben, wenn Sie ein anderes verwenden.

Voraussetzungen

Um die meisten der in diesem Artikel bereitgestellten Befehle auszuführen, benötigen Sie Administratorrechte.

Um zu prüfen, ob dies der Fall ist, können Sie die „Gruppen“ ausführen “-Befehl und vergewissern Sie sich, dass Sie zur „sudo ”-Gruppe für Debian-basierte Distributionen oder “wheel ” für RedHat-basierte.

$ groups

Wenn Sie solche Rechte nicht haben, können Sie einen unserer Artikel zum Thema „Sudo-Rechte für Ubuntu- oder CentOS-Distributionen erhalten“ lesen.

Partition mit cryptsetup verschlüsseln

Wie in den vorherigen Artikeln angegeben, beinhaltet das Verschlüsseln einer Partition das Formatieren der gesamten Festplatte .

Wenn Sie also vorhaben, eine Festplatte mit vorhandenen Daten zu verschlüsseln, sollten Sie jetzt darauf achten, dass Ihre Daten dabei gelöscht werden. Um nichts zu verlieren, sollten Sie eine Sicherungskopie Ihrer Daten erstellen auf einer externen Festplatte oder in einer Online-Cloud.

Neue Partition auf Festplatte erstellen

Um eine Partition zu verschlüsseln, erstellen wir zuerst eine neue Partition mit dem Dienstprogramm „fdisk“ . Für das Beispiel erstellen wir eine neue Partition mit dem Namen „sdb1“ auf der Festplatte „sdb“.

$ sudo fdisk /dev/sdb

Im Dienstprogramm fdisk können Sie mit dem Schlüsselwort „n“ eine neue Partition erstellen und geben Sie an, dass Sie beispielsweise eine Partition mit einer Größe von 5 GB wünschen.

Wenn Sie sich nicht sicher sind, wie Sie „fdisk“ verwenden oder Partitionen erstellen , haben wir einen eigenen Artikel zu diesem Thema.

Am Ende des Vorgangs müssen Sie das Schlüsselwort „w“ verwenden um die Änderungen auf die Festplatte zu schreiben.

Großartig, jetzt, da Ihre Partition erstellt wurde, werden wir sie als LUKS-Partition formatieren .

Festplattenpartition als LUKS formatieren

Um die Partition zu verschlüsseln, verwenden wir einen Befehl, der sich auf das LUKS-Projekt bezieht .

Das LUKS-Projekt, kurz für Linux Unified Key System , ist eine Spezifikation, die verwendet wird, um alle Speichergeräte mit speziellen kryptografischen Protokollen zu verschlüsseln. Wie beschrieben, ist LUKS nur eine Spezifikation, Sie benötigen ein Programm, das es implementiert.

In diesem Fall verwenden wir das Dienstprogramm „cryptsetup“ . Wie im Handbuchabschnitt erklärt, zielt cryptsetup darauf ab, verschlüsselte Bereiche für dm-crypt zu erstellen.

Stellen Sie zunächst sicher, dass Sie die „cryptsetup ”-Befehl mit dem “what”-Befehl.

$ which cryptsetup

Wenn das cryptsetup auf Ihrem Server nicht gefunden werden kann, stellen Sie sicher, dass Sie es mit einem der folgenden Befehle installieren

$ sudo apt-get install cryptsetup                     (for Debian distributions)

$ sudo yum install cryptsetup                         (for RHEL/CentOS distributions)

Um Ihre LUKS-Partition zu erstellen, müssen Sie „cryptsetup“ gefolgt von „luksFormat“ und dem Namen der zu formatierenden Partition ausführen.

$ sudo cryptsetup luksFormat /dev/sdb1

Zunächst einmal werden Sie daran erinnert, dass das Verschlüsseln Ihrer Festplatte sie dabei tatsächlich formatiert.

Nach Eingabe von „JA ” in Großbuchstaben, müssen Sie eine Passphrase auswählen, um Ihr Gerät zu sichern.

LUKS unterstützt zwei Möglichkeiten, Ihre Medien zu schützen:die Verwendung von einer Passphrase (das, das wir derzeit verwenden) und Schlüssel verwenden . Jetzt können Sie ein sicheres Passwort wählen und Ihre Partition sollte automatisch formatiert werden.

Nachdem Ihre Partition erstellt wurde, können Sie sie mit der Datei „lsblk “-Befehl:Die Partition sollte als „crypto_luks“ gekennzeichnet sein “.

$ lsblk -f

Fantastisch! Nachdem das Volume formatiert ist, können wir es öffnen und ein einfaches ext4-Dateisystem darauf erstellen.

Ext4-Dateisystem auf Partition erstellen

Standardmäßig ist Ihr verschlüsseltes Volume geschlossen, was bedeutet, dass Sie nicht auf die darauf verfügbaren Daten zugreifen können.

Um Ihr Volume zu „öffnen“, also zu „entsperren“, müssen Sie erneut den Befehl „cryptsetup“ gefolgt von „luksOpen“ und dem Namen des Volumes verwenden.

Geben Sie am Ende des Befehls einen Namen für Ihr offenes Volume an, in diesem Fall wählen wir „cryptpart “.

$ sudo cryptsetup luksOpen /dev/sdb1 cryptpart

Wie Sie sich vorstellen können, werden Sie aufgefordert, die Passphrase einzugeben, die Sie im vorherigen Abschnitt ausgewählt haben.

Wenn Sie den Befehl „lsblk“ erneut ausführen, haben Sie wahrscheinlich bemerkt, dass ein Volume unter dem verschlüsselten Volume „sdb1“ mit dem Namen „cryptpart“ erstellt wurde “. Der "Geräte-Mapper" , eines der Frameworks des Linux-Kernels, hat das für Sie erledigt.

Jetzt, da Ihr Volume entsperrt ist, ist es an der Zeit, dass Sie ein neues ext4-Dateisystem darauf erstellen .

Um ein neues Dateisystem auf Ihrer Partition zu erstellen, verwenden Sie den Befehl „mkfs“, gefolgt vom Dateisystemformat, in diesem Fall „ext4“.

$ sudo mkfs.ext4 /dev/mapper/cryptpart

Super, das Dateisystem wurde erstellt.

Sie können es jetzt mounten und neue Dateien hinzufügen. Auf diesem Volume erstellte Dateien werden automatisch verschlüsselt .

$ mkdir -p /home/devconnected/files 

$ sudo mount /dev/mapper/cryptpart /home/devconnected/files

$ sudo chown devconnected:devconnected /home/devconnected/files

Großartig, jetzt, da Ihre Daten auf einer verschlüsselten Partition sicher sind, sehen wir uns an, wie Sie die Verschlüsselungspartition beim Booten mounten können.

Crypttab- und Fstab-Dateien ändern

Viele Systemadministratoren kennen die Existenz der fstab-Datei, die von Ihrem Init-Prozess verwendet wird, um Laufwerke zu mounten.

Wenn es jedoch um verschlüsselte Partitionen geht, kommt eine andere Datei ins Spiel: /etc/crypttab .

Ähnlich wie die fstab-Datei wird crypttab beim Booten von Ihrem Init-Prozess gelesen. Angesichts der darin enthaltenen Informationen wird es Sie auffordern, die Partition zu entsperren, oder es wird eine Schlüsseldatei gelesen, um dies automatisch zu tun.

Hinweis :Die /etc/crypttab existiert möglicherweise nicht auf Ihrem System. Wenn dies nicht der Fall ist, müssen Sie es möglicherweise erstellen.

Die Spalten des crypttab sind oben beschrieben:

  • Gerätename :Sie können Ihrem entschlüsselten Gerät einen beliebigen Namen geben. Außerdem wird es automatisch vom Device Mapper unter dem Pfad „/dev/mapper“ erstellt. Im vorherigen Abschnitt haben wir „cryptpart“ ausgewählt ” für diese Spalte;
  • Verschlüsselte Geräte-UUID :Um herauszufinden, welche Partition die verschlüsselten Daten enthält, muss Ihr System seine UUID haben, d. h. seine eindeutige Kennung;
  • Authentifizierungsmethode :Wie bereits erläutert, können Sie „keine“ auswählen ” für die Passphrase oder Sie können einen Pfad zum Schlüssel angeben. Die Schlüsselmethode wird im letzten Kapitel dieses Artikels erläutert;
  • Mount-Optionen :In dieser Spalte können Sie die Anzahl der Versuche für eine Passphrase, die Chiffre, die Verschlüsselungsmethode und viele andere Parameter angeben. Die vollständige Liste der Optionen ist auf der Handbuchseite „crypttab“ verfügbar.
$ sudo nano /etc/crypttab

# Content of the crypttab file
cryptpart    UUID=<partition_uuid>    none    luks

Wenn Sie Zweifel an der UUID Ihrer verschlüsselten Partition haben, können Sie die „blkid “-Befehl mit einer einfachen „grep“-Pipe.

$ sudo blkid | grep -i luks

Da nun die Datei „/etc/crypttab “-Datei geändert wird, müssen Sie die Datei „fstab ”-Datei, um den Einhängepunkt anzugeben.

$ sudo blkid | grep -i ext4

$ sudo nano /etc/fstab

In den fstab-Spalten müssen Sie Folgendes angeben:

  • Die entschlüsselte Geräte-UUID :Um es zu finden, können Sie den Befehl „blkid“ verwenden, aber stellen Sie sicher, dass Sie das Gerät geöffnet haben, bevor Sie fortfahren. Wenn das Gerät geschlossen ist, können Sie Ihre UUID nicht finden;
  • Der Einhängepunkt :wo das entschlüsselte Gerät gemountet wird. Wenn der Pfad nicht existiert, wird er automatisch erstellt;
  • Der Dateisystemtyp :In diesem Fall haben wir uns für „ext4“ entschieden, aber es kann auf Ihrem System anders sein;
  • Dump-and-Pass-Optionen :Wir möchten nicht, dass das Dateisystem beim Booten überprüft wird, also können wir es auf den Standardwerten belassen.

Wenn Sie fertig sind, speichern Sie Ihre Datei und Sie sollten loslegen können.

Nach den gerade ausgeführten Schritten ist Ihr Gerät bereit und sollte beim Booten automatisch gemountet werden.

Überprüfen Sie das Mounten verschlüsselter Geräte beim Booten

Um zu überprüfen, ob das Gerät korrekt gemountet ist, können wir unseren Server neu starten und warten, bis das initramfs-Modul das verschlüsselte Gerät öffnet.

$ sudo reboot

Dies ist der Bildschirm, den Sie zumindest auf RHEL8 sehen sollten, wenn Sie Ihren Server starten. Wenn Sie die Passphrase angeben, sollte Ihr Computer in der Lage sein, sie zu entsperren und für Sie zu mounten.

Sobald Sie sich auf Ihrem Server angemeldet haben, können Sie mit „lsblk“ noch einmal überprüfen, ob die verschlüsselte Partition korrekt gemountet wurde.

$ lsblk -f | grep sdb1 -A 2 

Herzlichen Glückwunsch, Sie haben erfolgreich eine Partition unter Linux mit LUKS verschlüsselt!

Schlüssel für verschlüsselte Partition erstellen

Wie zuvor erklärt, handhabt LUKS zwei Authentifizierungsmethoden, nämlich Passphrasen und Schlüsseldateien.

Im vorherigen Abschnitt haben wir Passphrasen verwendet, aber es kann für Sie sehr praktisch sein, auch einen Authentifizierungsschlüssel zu haben

Erstellen Sie zunächst eine Schlüsseldatei und speichern Sie sie an einem sicheren Ort (in Verzeichnissen, zu denen normale Benutzer nicht navigieren können, wie „/boot “ oder „/root “).

$ echo "supersecretpass" > volume-key

$ sudo mv volume-key /boot/

Wie Sie sehen können, wurde die Datei standardmäßig mit den Anmeldeinformationen des Benutzers erstellt und hat zu viele Berechtigungen.

Mit den Befehlen „chown“ und „chmod“ können wir „root“ als Eigentümer der Datei festlegen und ihre Berechtigungen auf schreibgeschützt ändern.

$ sudo chown root:root /boot/volume-key

$ sudo chmod 0400 /boot/volume-key

Jetzt, da die Datei schreibgeschützt ist, können wir sie als Schlüssel in einem der Slots unseres LUKS-Volumes hinzufügen.

Schlüssel zum LUKS-Volume hinzufügen

Um Ihrem LUKS-Volume einen Schlüssel hinzuzufügen, müssen Sie den Befehl „cryptsetup“ gefolgt von „luksAddKey“, dem Namen des verschlüsselten Volumes und dem Pfad zum Schlüssel ausführen.

$ sudo cryptsetup luksAddKey <encrypted_device> <path_to_key>

$ sudo cryptsetup luksAddKey /dev/sdb1 /boot/volume-key

Um diesen Vorgang auszuführen, werden Sie nach Ihrer Passphrase gefragt. Wenn bereitgestellt, wird der Schlüssel automatisch zu Ihren Schlüsselplätzen hinzugefügt.

Um zu überprüfen, ob der Schlüssel korrekt hinzugefügt wurde, können Sie Ihre Schlüsselsteckplätze mit der Datei „luksDump ”-Befehl.

$ sudo cryptsetup luksDump /dev/sdb1

Nachdem der Schlüssel hinzugefügt wurde, müssen Sie nur „/etc/crypttab“ ändern damit Ihr System es beim Booten findet.

$ sudo nano /etc/crypttab

# Content of the crypttab file
cryptpart    UUID=<partition_uuid>    /boot/volume-key    luks

Beim Neustart wird Ihre verschlüsselte Partition automatisch gemountet!

Schlussfolgerung

In diesem Artikel haben Sie erfahren, wie Sie ganz einfach Ihre Partition unter Linux verschlüsseln können unter Verwendung des LUKS-Projekts und seiner Implementierung namens cryptsetup.

Sie können sehen, dass Sie eine „Schlüsseldatei verwenden können “, damit Ihre Partition automatisch entsperrt wird.

Wenn Sie an einer vollständigen Systemverschlüsselung interessiert sind, haben wir kürzlich einen Artikel zu diesem Thema geschrieben.

Auch, wenn Sie mehr über Linux-Systemverwaltung lesen möchten , schauen Sie sich unbedingt unseren speziellen Bereich auf der Website an.


Linux
  1. So partitionieren Sie eine Festplatte unter Linux

  2. So verschlüsseln Sie eine Partition mit DM-Crypt LUKS unter Linux

  3. So verschlüsseln Sie ein einzelnes Linux-Dateisystem

  4. So klonen Sie eine Linux-Festplattenpartition über das Netzwerk mit dd

  5. Wie mounte ich ein Disk-Image mit mehreren Partitionen unter Linux?

So listen Sie Festplattenpartitionen unter Linux auf

So verschlüsseln Sie das Root-Dateisystem unter Linux

So verschlüsseln Sie Dateien unter Linux

So erstellen Sie Festplattenpartitionen unter Linux

So verschlüsseln Sie Blockgeräte mit LUKS unter Linux

So zeigen Sie Linux-Festplattenpartitionen an (Partitionstabelle)