Manchmal möchten Sie vielleicht Ihre Festplatte verschlüsseln, damit jemand, der Ihre Festplatte an seinen Computer anschließt, Benutzeranmeldeinformationen eingeben muss, um das Laufwerk zu mounten. Unter Linux ist es möglich, einzelne Blockgeräte zu verschlüsseln. In diesem Artikel erfahren Sie, wie Sie Blockgeräte in Linux mit LUKS verschlüsseln. LUKS ist die Linux-Verschlüsselungsschicht, die verwendet werden kann, um die gesamte Root-Partition, ein logisches Volume oder eine bestimmte Partition zu verschlüsseln.
Dieses Tutorial behandelt die folgenden Linux-Distributionen
- Debian
- Ubuntu
- RHEL
- CentOS
- Rocky-Linux
- Almalinux
Installieren Sie das cryptsetup-luks-Paket
Das Dienstprogramm Cryptsetup wird mit dem Paket cryptsetup-luks geliefert, das zum Einrichten der Blockgeräteverschlüsselung in Linux-Systemen verwendet wird. Die Installation kann mit dem folgenden Befehl durchgeführt werden.
Ubuntu/Debian
$ apt-get install cryptsetup
RHEL/CentOS/Rocky Linux/Almalinux
$ dnf install cryptsetup-luks
Vorbereiten einer LUKS-Partition
Bereiten Sie nach der Installation des Dienstprogramms eine Partition für die Verschlüsselung vor. Führen Sie den folgenden Befehl aus, um alle verfügbaren Partitionen und Blockgeräte aufzulisten.
$ fdisk -l
$ blkid
Verwenden Sie nun den Befehl cryptsetup luksFormat, um die Verschlüsselung in der Partition einzurichten. In diesem Beispiel wird die Partition sdb zur Verschlüsselung verwendet. Sie können basierend auf Ihrer Umgebung Ihre eigene Annahme treffen.
$ cryptsetup -y -v luksFormat /dev/sdb
Der oben ausgeführte Befehl entfernt alle Daten auf der Partition
Jetzt müssen wir im obigen Schritt ein logisches Device-Mapper-Gerät erstellen, das auf der LUKS-verschlüsselten Partition gemountet ist. In diesem Beispiel verschlüsselt ist der Name, der für den Mapping-Namen der geöffneten LUKS-Partition bereitgestellt wird.
Der folgende Befehl erstellt ein Volume und legt Passphrase oder Anfangsschlüssel fest. Denken Sie daran, dass die Passphrase nicht wiederhergestellt werden kann.
$ cryptsetup luksOpen /dev/sdb encrypted
Die Zuordnungsdetails der Partition finden Sie mit dem folgenden Befehl.
$ ls -l /dev/mapper/encrypted
Verwenden Sie den folgenden Befehl, um den Status der Zuordnung anzuzeigen. Ersetzen Sie Ihren Zuordnungsnamen durch verschlüsselt .
$ cryptsetup -v status encrypted
cryptsetup kann zusammen mit dem Befehl luksDump verwendet werden, um zu überprüfen, ob das Gerät erfolgreich für die Verschlüsselung formatiert wurde. In diesem Beispiel wird die sdb-Partition für die Bestätigung verwendet.
$ cryptsetup luksDump /dev/sdb
LUKS-Partition formatieren
Das Schreiben von Nullen in die LUKS-verschlüsselte Partition weist der Blockgröße Nullen zu. Verwenden Sie den folgenden Befehl, um Nullen für das verschlüsselte Blockgerät zu setzen.
$ dd if=/dev/zero of=/dev/mapper/encrypted
Die Ausführung des dd-Befehls kann einige Zeit in Anspruch nehmen. Verwenden Sie den Befehl pv, um den Fortschritt zu überprüfen.
$ pv -tpreb /dev/zero | dd of=/dev/mapper/encrypted bs=128M
Hinweis:Ersetzen Sie verschlüsselt mit Ihrem Gerätezuordnungsnamen.
Formatieren Sie nun die neue Partition mit Ihrem gewünschten Dateisystem. In diesem Beispiel wird das ext4-Dateisystem verwendet.
$ mkfs.ext4 /dev/mapper/encrypted
Ersetzen Sie verschlüsselt mit Ihrem Device-Mapper-Namen.
Mounten Sie das neue Dateisystem. In diesem Beispiel wird das neue Dateisystem unter /encrypted
gemountet$ mkdir /encrypted $ mount /dev/mapper/encrypted /encrypted
Ersetzen Sie den Device-Mapper-Namen durch verschlüsselt mit Ihrem eigenen Mapper-Namen.
$ df -h $ cd /encrypted $ ls -l
Also haben wir mit LUKS erfolgreich eine verschlüsselte Partition unter Linux erstellt.