Aus Sicherheitssicht ist es wichtig, Ihre sensiblen Daten zu verschlüsseln, um sie vor neugierigen Blicken und Hackern zu schützen. Linux Unified Key Setup (LUKS) ist ein großartiges Tool und ein gängiger Standard für die Linux-Festplattenverschlüsselung. Da alle relevanten Einrichtungsinformationen im Partitionsheader gespeichert werden, wird die Datenmigration einfach.
Um verschlüsselte Laufwerke oder Partitionen mit LUKS zu konfigurieren, müssen Sie das Dienstprogramm cryptsetup verwenden. Leider besteht einer der Nachteile beim Verschlüsseln Ihrer Festplatten darin, dass Sie das Passwort jedes Mal manuell eingeben müssen, wenn das System neu gestartet oder die Festplatte neu gemountet wird.
Weitere Linux-Ressourcen
- Spickzettel für Linux-Befehle
- Spickzettel für fortgeschrittene Linux-Befehle
- Kostenloser Online-Kurs:RHEL Technical Overview
- Spickzettel für Linux-Netzwerke
- SELinux-Spickzettel
- Spickzettel für allgemeine Linux-Befehle
- Was sind Linux-Container?
- Unsere neuesten Linux-Artikel
Network-Bound Disk Encryption (NBDE) kann verschlüsselte Laufwerke jedoch ohne Benutzereingriff automatisch und sicher entsperren. Es ist in mehreren Linux-Distributionen verfügbar, beginnend mit Red Hat Enterprise Linux 7.4, CentOS 7.4 und Fedora 24 sowie jeweils in späteren Versionen.
NBDE wird mit den folgenden Technologien implementiert:
- Gabelkopfrahmen: Ein austauschbares Framework-Tool, das LUKS-Volumes automatisch entschlüsselt und entsperrt
- Tang-Server: Ein Dienst zum Binden kryptografischer Schlüssel an die Netzwerkpräsenz
Tang stellt dem Clevis-Client die Verschlüsselungsschlüssel bereit. Laut den Entwicklern von Tang bietet dies eine sichere, zustandslose und anonyme Alternative zu Schlüsselhinterlegungsdiensten.
Da NBDE die Client-Server-Architektur verwendet, müssen Sie sowohl den Client als auch den Server konfigurieren. Sie können eine virtuelle Maschine in Ihrem lokalen Netzwerk für Ihren Tang-Server verwenden.
Serverinstallation
Installieren Sie Tang mit sudo:
sudo yum install tang -y
Aktivieren Sie den Tang-Server:
sudo systemctl enable tangd.socket --now
Der Tang-Server arbeitet auf Port 80 und muss zu firewalld hinzugefügt werden. Fügen Sie die entsprechende Firewallregel hinzu:
sudo firewall-cmd --add-port=tcp/80 --perm
sudo firewall-cmd --reload
Der Server sollte nun installiert sein.
Client-Installation
Nehmen Sie für dieses Beispiel an, dass Sie eine neue 1-GB-Festplatte mit dem Namen /dev/vdc
hinzugefügt haben zu Ihrem System.
Erstellen Sie die primäre Partition mit fdisk oder parted:
sudo fdisk /dev/vdc
Führen Sie die folgenden Schritte aus, um den Client zu installieren.
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x4a6812d4.
Command (m for help):
Geben Sie n ein um die neue Partition zu erstellen:
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Drücken Sie die Eingabetaste Taste zur Auswahl der primären Partition:
Using default response p
Partition number (1-4, default 1):
Drücken Sie die Eingabetaste Taste, um die Standard-Partitionsnummer auszuwählen:
First sector (2048-2097151, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151):
Drücken Sie die Eingabetaste Taste zur Auswahl des letzten Sektors:
Using default value 2097151
Partition 1 of type Linux and of size 1023 MiB is set
Command (m for help): wq
Geben Sie wq ein um die Änderungen zu speichern und fdisk zu beenden:
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Führen Sie partprobe
aus um das System über die Änderungen der Partitionstabelle zu informieren:
sudo partprobe
Installieren Sie das cryptsetup-Paket mit sudo:
sudo yum install cryptsetup -y
Verwenden Sie das cryptsetup luksFormat
Befehl zum Verschlüsseln der Festplatte. Sie müssen JA eingeben Wenn Sie dazu aufgefordert werden, wählen Sie außerdem eine Passphrase aus und geben Sie sie ein, um die Festplatte zu verschlüsseln:
sudo cryptsetup luksFormat /dev/vdc1
WARNING!
========
This will overwrite data on /dev/vdc1 irrevocably.
Are you sure? (Type uppercase yes):
Enter passphrase for /dev/vdc1:
Verify passphrase:
Verwenden Sie das cryptsetup luksOpen
Befehl, um die verschlüsselte Partition einem logischen Gerät zuzuordnen. Verwenden Sie beispielsweise encryptedvdc1
als Name. Sie müssen auch die Passphrase erneut eingeben:
sudo cryptsetup luksOpen /dev/vdc1 encryptedvdc1
Enter passphrase for /dev/vdc1:
Die verschlüsselte Partition ist jetzt unter /dev/mapper/encryptedvdc1
verfügbar .
Erstellen Sie ein XFS-Dateisystem auf der verschlüsselten Partition:
sudo mkfs.xfs /dev/mapper/encryptedvdc1
Erstellen Sie ein Verzeichnis zum Mounten der verschlüsselten Partition:
sudo mkdir /encrypted
Verwenden Sie das cryptsetup luksClose
Befehl zum Sperren der Partition:
cryptsetup luksClose encryptedvdc1
Installieren Sie die Clevis-Pakete mit sudo:
sudo yum install clevis clevis-luks clevis-dracut -y
Ändern Sie /etc/crypttab, um das verschlüsselte Volume beim Booten zu öffnen:
sudo vim /etc/crypttab
Fügen Sie die folgende Zeile hinzu:
encryptedvdc1 /dev/vdc1 none _netdev
Ändern Sie /etc/fstab so, dass das verschlüsselte Volume während eines Neustarts oder beim Booten automatisch gemountet wird:
sudo vim /etc/fstab
Fügen Sie die folgende Zeile hinzu:
/dev/mapper/encryptedvdc1 /encrypted xfs _netdev 1 2
Nehmen Sie für dieses Beispiel an, dass die IP-Adresse des Tang-Servers 192.168.1.20
ist . Sie können auch den Hostnamen oder die Domäne verwenden, wenn Sie dies bevorzugen.
Führen Sie den folgenden clevis
aus Befehl:
sudo clevis bind luks -d /dev/vdc1 tang '{"url":"http://192.168.1.20"}'
The advertisement contains the following signing keys:
rwA2BAITfYLuyNiIeYUMBzkhk7M
Do you wish to trust these keys? [ynYN] Y
Enter existing LUKS password:
Geben Sie Y ein um die Schlüssel für den Tang-Server zu akzeptieren und das vorhandene LUKS-Passwort für die Ersteinrichtung anzugeben.
Aktivieren Sie clevis-luks-askpass.path über systemctl, um zu verhindern, dass Sie für Nicht-Root-Partitionen zur Eingabe der Passphrase aufgefordert werden.
sudo systemctl enable clevis-luks-askpass.path
Der Client ist installiert. Wenn Sie jetzt den Server neu starten, sollte die verschlüsselte Festplatte automatisch entschlüsselt und gemountet werden, indem die Schlüssel vom Tang-Server abgerufen werden.
Wenn der Tang-Server aus irgendeinem Grund nicht verfügbar ist, müssen Sie die Passphrase manuell eingeben, um die Partition zu entschlüsseln und zu mounten.