L U K S A n w e n d u n g s b e i s p i e l e Zuletzt geändert 2024-07-13
Diese Seite soll praxisorientierte Beispiele darlegen, wie ich Verschlüsselungsaufgaben mit Hilfe des Tools LUKS gelöst habe.
I n h a l t s v e r z e i c h n i s
Neu Formatierung einer USB-Platte
Verschlüsselung einer Platte mit LUKS
Nützliche Links
Anbei einige schnell zusammengestellte Websites, von denen ich mich inspirieren ließ.
Befehl mkfs (make file system) ⇒ linuxhandbook.com: mkfs-command
Befehl mkfs ⇒ linuxcommandlibrary.com: mkfs.ext4
Szenario 1 der neu Formatierung
Die zu formatierende USB Platte identifizieren: cmd df -h In diesem Beispiel zeigt die USB-Platte folgende Merkmale: /dev/sdc1 916G 77M 870G 1% /media/akh/MacDatenxB
Nun der eigentliche Schritt: Die USB-Platte formatieren: cmd sudo mkfs -t ext4 -L MacDatenxB -v /dev/sdc1
Verschiedene Dateisysteme (file systems fs) stehen in Linux-Systemen zur Verfügung: Der fs-Typ ext4 ist derzeit (April 2022) das aktuelle und empfohlene (authentische) Linux Dateisystem - mit dem ich arbeiten will.
Beachte: Für diejenigen, die die USB-Festplatte zusätzlich an einem Microsoft Windows System anhängen wollen, sind folgende Dateisysteme zu empfehlen:
Die Zugriffsrechte anpassen: Der Zugriff auf die neu formatierte USB-Platte wird solange verwehrt, bis die Berechtigungen stimmen, z.B. über folgendes Kommando cmd sudo chown $USER:$USER /media/$USER/$Mountpoint ⇒ Im Beispielfall wortwörtlich sudo chown akh:akh /media/akh/MaxDatenxB.
Szenario 2 der neu Formatierung
Wenn - in unserem Beispiel - der USB-Stick als Geräte (device) sdc identifiziert wurde, erfolgt die Neuformatierung via folgendes Kommando cmd sfdisk --force --append /dev/sdc In diesem Beispiel wird die neue Partition /dev/sdc1 erstellt.
Wahrscheinlich müssen - wie in Szenario 1, Schritt 5 - die Zugriffsberechtigungen angepasst werden.
Weitere Schritte
Bestimme die Bezeichnung der USB-Platte z.B. mit Hilfe der KDE Partitionsverwaltung
Beachte: Nach jeder Anpassung von Partitionsmerkmalen müssen u.U. die Zugriffsrechte erneut bestätigt werden z.B. über cmd sudo chown $USER:$USER /media/$USER/$Mountpoint. ( Beachte: cmd sudo chown mit anderen Parametern, als eben eingegeben, wird möglicherweise scheitern.)
Verschlüsselung mit LUKS
Im Fallbeispiel unten werden folgende Optionen gelten:
Tutorial "Partition verschlüsseln mit LUKS" ⇒ linuxfordevices.com/tutorials: encrypting-partitions-with-luks
Überblick der Anwendungsmöglichkeiten von LUKS ⇒ wiki.ubuntuusers.de: LUKS
USB-drive mit cryptsetup verschlüsseln ⇒ linuxhint.com: encrypt-data-usb-linux/
Anwendung von LUKS zur Verschlüsselung von Partitionen ⇒ wiki.ubuntuusers.de: LUKS/Partitionen_verschlüsseln
Überblick von in Linux verfügbarer Software zur Datenverschlüsselung in unterschiedlichen Kontexten ⇒ wiki.ubuntuusers.de: Daten_verschlüsseln mit LUKS
LUKS-Container erzeugen: Szenario 1
Ausgangspunkt:
Gerät aushängen: cmd sudo umount /media/$USER/$Mountpoint ⇒ Im Fallbeispiel sudo umount /media/akh/MacDatenxB ⇒ Der Befehl lsblk -e 7 zeigt nun, dass Partition /dev/sdb1 nichts zugeordnet ist.
Vorhandene Daten vor der neu Formatierung zu löschen. Dafür sind mehrere Verfahren möglich z.B.
Gerät überschreiben (bzw. den Anfang) mit Zufallsbytes überschreiben: cmd sudo dd if=/dev/urandom bs=1M count=8 of=/dev/$Gerätename ⇒ Im Fallbeispiel sudo dd if=/dev/urandom bs=1M count=8 of=/dev/sdb
cmd sudo wipefs -a $Partitionsname ⇒ Im Fallbeispiel sudo wipefs -a /dev/sdb1
(Verschlüsselter) LUKS Container erzeugen: cmd sudo cryptsetup luksFormat --verbose -c aes-xts-plain64 -s 512 -h sha512 -y $Partitionsname ⇒ Im Fallbeispiel sudo cryptsetup luksFormat --verbose -c aes-xts-plain64 -s 512 -h sha512 -y /dev/sdb1
Die Gerätedatei hat einen Namen der Form /dev/sd{x}, wobei {x} ein Buchstabe a, b , c usw. ist. Die Partitionen auf diesem Gerate werden wiederum der Reihe nach numeriert z.B. ist sdb1 die erste Partition - oft die einzige. Gegebenenfalls wird die nächste Partition sdb2 bezeichnet und so weiter, bis alle Partitionen aufgelistet sind.
Erläuterung der Befehlsparameter von cryptsetup luksFormat:
Nachdem der LUKS-Container erzeugt wurde, kann der User ihn "öffnen" (und ihm ein Mapping-Label zuordnen): cmd sudo cryptsetup luksOpen $Partitionsname $Map_Point z.B. cmd sudo cryptsetup luksOpen /dev/sdb1 CryptDatenxB (Der Gerät-Partition /dev/sdb1 wird der LUKS-Container mit Bezeichnung CryptDatenxB zugeordnet. Eine Prüfung der Zuordnung erfolgt z.B. über cmd lsblk -e 7).
Formatierung des LUKS-Partition mit dem Linux ext4 Dateisystem: cmd sudo mkfs -t ext4 -v /dev/mapper/$Map_Point z.B. sudo mkfs -t ext4 -v /dev/mapper/CryptDatenxB (vgl. auch Kapitel Formatierung einer USB-Platte)
LUKS-Container erzeugen: Szenario 2
Nachstehend sind Befehle, die vom KDE-Partitionierungstool in batch-mode aufgerufen wurden, um Gerätedatei/Partition /dev/sdb1 zu formatieren - siehe auch Protokoll der LUKS-Partitionierung
Partition verschlüsseln: cmd sudo cryptsetup -s 512 --batch-mode --force-password --type luks1 luksFormat /dev/sdb1
Die neu erstellte LUKS-Partition wird im Verzeichnis /dev/mapper sichtbar. In diesem Fallbeispiel unter die Bezeichnung luks-d64e6a59-66cc-440d-8254-4f0b50d23bb8
Zuweisung des LUKS Containers/Gerätes einem Namen: cmd sudo cryptsetup open /dev/sdb1 luks-d64e6a59-66cc-440d-8254-4f0b50d23bb8
Formatierung der "LUKS-Container" mit dem Linux Dateisystem ext4 cmd sudo mkfs.ext4 -qF /dev/mapper/luks-d64e6a59-66cc-440d-8254-4f0b50d23bb8
Der LUKS-container wird neu gelabelt („MacDatenxB“): cmd sudo e2label /dev/mapper/luks-d64e6a59-66cc-440d-8254-4f0b50d23bb8 MacDatenxB
LUKS-Container prüfen reparieren
Anlass: Meine Platte namens Daten_akh_02 ist mit LUKS verschlüsselt. Sie scheint zu funktionieren, bis auf die Tatsache, dass der Papierkorb (trash) nicht geleert werden kann. Die Fehlermeldung deutet darauf hin, dass das Filesystem korrupt ist.
Strategie: Zur Prüfung und Reparatur der Platte Daten_akh_02 wird auf das Kommando fsck zurückgegriffen.
Vorgehensweise: Der Linux-Befehl fsck wird unter folgenden Voraussetzungen verwendet:
Anbei die Liste der Befehle: