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

Entsperren Sie verschlüsselte Laufwerke unter Linux automatisch

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.


Linux
  1. Bereiten Sie Datenträger auf Linux-Cloud-Servern vor

  2. Wiederherstellung von Windows Spanned Disks (LDM) mit Linux?

  3. Befehl unter Linux automatisch wiederholen

  4. Wie verschiebt man eine Partition in GNU/Linux?

  5. Verwenden einer einzigen Passphrase zum Entsperren mehrerer verschlüsselter Festplatten beim Booten

Linux-Partitionsverwaltung

So mounten Sie eine mit Bitlocker verschlüsselte Windows-Partition unter Linux

So listen Sie Festplatten unter Linux auf

So verschlüsseln Sie eine Partition unter Linux

Eine Partition unter Linux erstellen – Eine Schritt-für-Schritt-Anleitung

Verstehen des parted Linux-Dienstprogramms