LUKS: Linux-Festplatten-Datenverschlüsselung mit NTFS-Unterstützung in Linux

LUKS steht für Linux Unified Key Setup, das eine weit verbreitete Methode der Festplattenverschlüsselung ist, die vom Linux-Kernel verwendet wird und mit dem Paket cryptsetup implementiert wird.

Der Befehl cryptsetup verschlüsselt ein Volumen auf der Festplatte dynamisch mit einem symmetrischen Verschlüsselungsschlüssel, der aus der bereitgestellten Passphrase abgeleitet wird. Diese Passphrase wird jedes Mal eingegeben, wenn ein Volumen, eine Partition oder auch eine ganze Festplatte (sogar ein USB-Stick) im Dateisystembaum eingehängt wird, und es wird der aes-cbc-essiv:sha256-Algorithmus verwendet.

Linux Hard Disk Encryption Using LUKS

Weil LUKS gesamte Blockgeräte (Festplatten, USB-Sticks, Flashdisks, Partitionen, Volumengruppen usw.) auf Linux-Systemen verschlüsseln kann, wird es dringend zur Sicherung von Wechseldatenträgern, Laptop-Festplatten oder Linux-Austauschdateien empfohlen und nicht für die Verschlüsselung von Dateiebene.

NTFS (New Technology File System) ist ein proprietäres Dateisystem, das von Microsoft entwickelt wurde.

Ubuntu 14.04 bietet volle Unterstützung für LUKS-Verschlüsselung und auch native NTFS-Unterstützung für Windows mit Hilfe des Pakets ntfs-3g.

Um meinen Punkt in diesem Tutorial zu beweisen, habe ich eine neue Festplatte (4.) in die Ubuntu 14.04-Umgebung hinzugefügt (die Systemreferenz für die neu hinzugefügte Festplatte lautet /dev/sdd), die in zwei Partitionen aufgeteilt wird.

  1. Eine Partition (/dev/sdd1 – primär) wird für die LUKS-Verschlüsselung verwendet.
  2. Die zweite Partition (/dev/sdd5 – erweitert) wird im NTFS-Format formatiert, um auf Daten von Linux- und Windows-Systemen zugreifen zu können.

Außerdem werden die Partitionen nach einem Neustart automatisch in Ubuntu 14.04 eingehängt.

Schritt 1: Erstellen von Festplattenpartitionen

1. Nachdem Ihre Festplatte physisch zu Ihrer Maschine hinzugefügt wurde, verwenden Sie den Befehl ls, um alle /dev/Geräte aufzulisten (die vierte Festplatte ist /dev/sdd).

# ls /dev/sd*
List Partitions in Linux

2. Überprüfen Sie als Nächstes Ihre neu hinzugefügte HDD mit dem Befehl fdisk.

$ sudo fdisk –l /dev/sdd
Check Linux Hard Disk

Weil noch kein Dateisystem geschrieben wurde, enthält die Festplatte noch keine gültige Partitionstabelle.

3. Die nächsten Schritte unterteilen die Festplatte in zwei Partitionen mit dem Festplatten-Dienstprogramm cfdisk.

$ sudo cfdisk /dev/sdd

4. Der nächste Bildschirm öffnet den interaktiven Modus von cfdisk. Wählen Sie den Abschnitt Nicht belegt Ihrer Festplatte aus und navigieren Sie zur Option Neu, indem Sie die Pfeiltasten links/rechts verwenden.

cfdisk Interactive Mode

5. Wählen Sie Ihren Partitionstyp als Primär und drücken Sie Enter.

Select Your Partition Type

6. Geben Sie die gewünschte Partitionsgröße in MB ein.

Write Down Partition Size

7. Erstellen Sie diese Partition am Anfang des nicht belegten Festplattenspeichers.

Create a Partition

8. Navigieren Sie als Nächstes zur Option Typ der Partition und drücken Sie Enter.

Partition Type

9. Die nächste Aufforderung zeigt eine Liste aller Arten von Dateisystemen und ihren Nummerncode (Hex-Nummer) an. Diese Partition wird ein verschlüsseltes Linux LUKS sein, wählen Sie den Code 83 und drücken Sie erneut Enter, um die Partition zu erstellen.

Enter File System Type

10. Die erste Partition wird erstellt und der cfdisk Dienstprogrammprompt kehrt zum Anfang zurück. Um die zweite Partition als NTFS zu erstellen, wählen Sie den verbleibenden Freien Speicherplatz aus, navigieren Sie zur Neu Option und drücken Sie die Eingabetaste.

Create New Partition

11. Diesmal wird die Partition eine Erweiterte Logische sein. Gehen Sie also zur Logisch Option und drücken Sie erneut die Eingabetaste.

Select Logical Partition Type

12. Geben Sie erneut die Größe Ihrer Partition ein. Um den verbleibenden freien Speicherplatz als neue Partition zu verwenden, lassen Sie den Standardwert für die Größe und drücken Sie einfach Enter.

Enter Size of Partition

13. Wählen Sie erneut Ihren Partitionstyp-Code aus. Für das NTFS Dateisystem wählen Sie den 86 Volumencode.

Select Partition Type

14. Nach Überprüfung und Bestätigung der Partitionen wählen Sie Write, antworten Sie auf die nächste interaktive Aufforderungsfrage mit ja und dann Quit um das cfdisk Dienstprogramm zu verlassen.

Write Partition Table to Disk
Confirm Changes
Quit to leave cfdisk utility

Herzlichen Glückwunsch! Ihre Partitionen wurden erfolgreich erstellt und sind nun bereit formatiert und verwendet zu werden.

15. Überprüfen Sie erneut die Festplatten Partitionstabelle, indem Sie erneut den fdisk Befehl ausführen, der detaillierte Informationen zur Partitionstabelle anzeigt.

$ sudo fdisk –l /dev/sdd
Confirm Parition Table

Schritt 2: Dateisystem-Partition erstellen

NTFS Dateisystem

16. Führen Sie den Befehl mkfs aus, um ein NTFS Dateisystem auf der zweiten Partition zu erstellen.

$ sudo mkfs.ntfs /dev/sdd5
Create NTFS Filesystem

17. Um die Partition verfügbar zu machen, muss sie auf dem Dateisystem an einen Einhängepunkt gemountet werden. Mounten Sie die zweite Partition auf die vierte Festplatte am Einhängepunkt /opt mit dem mount Befehl.

$ sudo mount /dev/sdd5 /opt

18. Überprüfen Sie als nächstes, ob die Partition verfügbar ist und im /etc/mtab Datei mit dem cat-Befehl aufgeführt ist.

$ cat /etc/mtab
Check Partition Availability

19. Verwenden Sie den folgenden Befehl, um die Partition zu demontieren.

$ sudo umount /opt
EXT4 LUKS

20. Stellen Sie sicher, dass das cryptsetup Paket auf Ihrem System installiert ist.

$ sudo apt-get install cryptsetup		[On Debian Based Systems]

# yum install cryptsetup				[On RedHat Based Systems]

21. Jetzt ist es an der Zeit, die erste Partition auf der vierten Festplatte mit dem Dateisystem ext4 zu formatieren, indem Sie den folgenden Befehl eingeben.

$ sudo luksformat  -t ext4  /dev/sdd1

Antworten Sie in Großbuchstaben mit JA auf die Frage „Sind Sie sicher?“ und geben Sie drei Mal Ihr gewünschtes Passwort ein.

Format Partition

Hinweis: Abhängig von der Größe Ihrer Partition und der Geschwindigkeit Ihrer HDD kann die Erstellung des Dateisystems einige Zeit dauern.

22. Sie können auch den Status des Partition-Geräts überprüfen.

$ sudo cryptsetup luksDump  /dev/sdd1
Verify Partition Status

23. LUKS unterstützt maximal 8 hinzugefügte Passwörter. Verwenden Sie den folgenden Befehl, um ein Passwort hinzuzufügen.

$ sudo cryptsetup luksAddKey /dev/sdd1
Add a Password

Um ein Passwort zu entfernen, verwenden Sie.

$ sudo cryptsetup luksRemoveKey /dev/sdd1
Remove a Password

24. Damit diese verschlüsselte Partition aktiviert wird, muss sie einen Namenseintrag (initialisiert sein) im /dev/mapper Verzeichnis mit Hilfe des cryptsetup Pakets haben.

Dies erfordert die folgende Befehlsyntax:

$ sudo cryptsetup luksOpen  /dev/LUKS_partiton  device_name

Wobei „device_name“ ein beliebiger beschreibender Name sein kann, den Sie möchten! (Ich habe meinen verschlüsselten_volume genannt). Der tatsächliche Befehl sieht wie folgt aus.

$ sudo cryptsetup luksOpen  /dev/sdd1 crypted_volume
Active Encrypted Partition

25. Überprüfen Sie dann, ob Ihr Gerät im Verzeichnis /dev/mapper aufgeführt ist, Symbolischer Link und Gerätestatus.

$ ls /dev/mapper
$ ls –all /dev/mapper/encrypt_volume
Verify Encrypted Partition
$ sudo cryptsetup –v status encrypt_volume
Encrypted Partition Status

26. Um das Partitionierungsgerät breit verfügbar zu machen, mounten Sie es unter einem Einhängepunkt auf Ihrem System mit dem Befehl mount.

$ sudo mount  /dev/mapper/crypted_volume  /mnt
Mount Encrypted Partition

Wie man sehen kann, ist die Partition gemountet und für das Schreiben von Daten zugänglich.

27. Um es nicht verfügbar zu machen, unmounten Sie es einfach von Ihrem System und schließen Sie das Gerät.

$ sudo umount  /mnt
$ sudo cryptsetup luksClose crypted_volume
Umount Encrypted Partition

Schritt 3: Partition automatisch mounten

Wenn Sie eine feste Festplatte verwenden und beide Partitionen nach einem Neustart automatisch im System gemountet werden müssen, müssen Sie diese beiden Schritte befolgen.

28. Bearbeiten Sie zunächst die Datei /etc/crypttab und fügen Sie die folgenden Daten hinzu.

$ sudo nano /etc/crypttab
  1. Zielname: Ein beschreibender Name für Ihr Gerät (siehe obigen Punkt 22 zu EXT4 LUKS).
  2. Quelllaufwerk: Die für LUKS formatierte Festplattenpartition (siehe obigen Punkt 21 zu EXT4 LUKS).
  3. Schlüsseldatei: Keine auswählen
  4. Optionen: Geben Sie luks an

Die abschließende Zeile sollte wie folgt aussehen.

encrypt_volume               /dev/sdd1          none       luks
Mount Partition Automatically

29. Bearbeiten Sie dann /etc/fstab und geben Sie Ihren Gerätenamen, Einhängepunkt, Dateisystemtyp und andere Optionen an.

$ sudo nano /etc/fstab

Verwenden Sie auf der letzten Zeile die folgende Syntax.

/dev/mapper/device_name (or UUID)	/mount_point     filesystem_type     options    dump   pass

Und fügen Sie Ihren spezifischen Inhalt hinzu.

/dev/mapper/encrypt_volume      /mnt    ext4    defaults,errors=remount-ro     0     0
Add Partition Entry in Fstab

30. Verwenden Sie den folgenden Befehl, um die Geräte-UUID zu erhalten.

$ sudo blkid
Get Device UUID

31. Um auch den zuvor erstellten NTFS-Partitionstyp hinzuzufügen, verwenden Sie dieselbe Syntax wie oben in einer neuen Zeile in der Datei fstab ( Hier wird die Linux-Datei-Anhängeumleitung verwendet ).

$ sudo su -
# echo "/dev/sdd5	/opt	ntfs		defaults		0              0"  >> /etc/fstab
Add NTFS Partition in fstab

32. Um die Änderungen zu überprüfen, starten Sie Ihren Rechner neu, drücken Sie nach der Meldung “Starting configure network device” die Eingabetaste und geben Sie Ihr Geräte-Passwort ein.

Reboot Machine
Verify Partition is Mounted Automatically

Wie Sie sehen können, wurden beide Festplattenpartitionen automatisch im Ubuntu-Dateisystembaum eingebunden. Als Tipp verwenden Sie automatisch verschlüsselte Volumes aus der fstab-Datei nicht auf physisch entfernten Servern, wenn Sie keinen Zugriff auf die Neustartsequenz haben, um Ihr verschlüsseltes Volumenpasswort einzugeben.

Dieselben Einstellungen können auf alle Arten von Wechselmedien wie USB-Sticks, Flash-Speicher, externe Festplatten usw. angewendet werden, um wichtige, geheime oder sensible Daten vor Abhören oder Diebstahl zu schützen.

Source:
https://www.tecmint.com/linux-hard-disk-encryption-using-luks/