Mit LUKS verschlüsselten Ordner erstellen
In diesem Artikel erfahrt Ihr, wie Ihr einen geheimen verschlüsselten Ordner mit LUKS auf Eurer Linux Distro erstellen könnt. Dieser geheime Bereich und dessen Inhalt ist nicht direkt sichtbar und erscheint standardmässig als leer. Dies ist sinnvoll wenn Ihr keine LUKS Festplattenverschlüsselung bei der Installation Eures Betriebssystem eingerichtet habt, denoch aber wichtige Daten sicher aufbewahren wollt.
Viele Benutzer nehmen an, dass Ihr Betriebssystem mit dem Benutzerpasswort verschlüsselt ist. Dies ist aber nicht der Fall! Das Passwort bei der Passwortabfrage beim starten des Rechners schützt nur vor unbefugten Zugriff beim laufenden System. Hat jemand Euren Rechner oder Laptop geklaut, kann er die Festplatte ausbauen und irgendwo anders einbauen, und hat vollen Zugriff auf all Eure Dateien auf den System.
Um wirklich wichtige und sensible Dateien zu schützen, ohne das die Homepartition neu formatieren zu müssen, bietet es sich an einen verschlüsselten Container mit LUKS zu erstellen.
Was ist LUKS
LUKS steht für Linux Unified Key Setup und ist ein Standard für die Festplattenverschlüsselung unter Linux. Hier eine kurze Zusammenfassung:
- Standard für Festplattenverschlüsselung: LUKS ist ein Spezifikationsstandard, der festlegt, wie Festplattenverschlüsselung in der Linux-Umgebung durchgeführt werden sollte. Er definiert, wie Verschlüsselungsinformationen auf der Festplatte gespeichert werden, sodass verschiedene Programme und Dienstprogramme diesen Standard erkennen und verwenden können.
- Kompatibilität und Portabilität: Da LUKS ein Standard ist, kann ein LUKS-verschlüsseltes Laufwerk auf jedem Linux-System geöffnet werden, das LUKS unterstützt.
- Verschlüsselungs-Wrapper: LUKS fungiert als "Wrapper" um andere Verschlüsselungssysteme. Die eigentliche Verschlüsselung wird durch andere Mechanismen wie dm-crypt durchgeführt, aber LUKS bietet eine einheitliche und nutzerfreundliche Möglichkeit, diese Verschlüsselungen zu verwalten.
- Unterstützung mehrerer Schlüssel: Ein einzelnes LUKS-Laufwerk kann mit mehreren Passwörtern oder Schlüsseldateien geöffnet werden. Dies ist nützlich, wenn Ihr mehreren Personen Zugriff auf ein verschlüsseltes Laufwerk gewähren möchtet, ohne ihnen das gleiche Passwort zu geben.
- Sicherheitsmerkmale: LUKS verwendet moderne und sichere kryptografische Techniken, um Daten zu schützen. Dies schließt die Verwendung von Salt ein, um gegen Wörterbuchangriffe widerstandsfähig zu sein, und Key Slot Iteration, um gegen brute-force-Angriffe widerstandsfähig zu sein.
Vorausetzung um Mit LUKS verschlüsselten Ordner erstellen zu können
Etwas freien Speicherplatz auf der Systemplatte damit wir einen verschlüsselten Container erstellen können. Dazu etwas Konsolenkenntnisse. Die Einrichtung ist aber relativ simpel.
Einrichtung von LUKS und verschlüsselten Ordner
Öffnet als erstes mal Euer Terminal
Jetzt Erstellen wir eine Datei, die den verschlüsselten Container darstellen wird: Zum Beispiel, um einen 500MB-Container zu erstellen, können wir folgenden Befehl verwenden:
dd if=/dev/zero of=~/encrypted_container bs=1M count=500
Wollt ihr einen grösseren Container, passt den Wert 500 einfach ensprechend an. Stellt sicher dass Ihr genügen Speicherplatz habt.
Wir verschlüsseln als nächstes den Container ein, wobei encrypted_container der name des Containers ist.
sudo cryptsetup luksFormat ~/encrypted_container
Zuerst fragt Euch das System ob Ihr den Container verschlüsselt einrichten wollt, und dass damit alle beinhalteten Dateien verloren gehen. Da der Container noch leer ist, bestätigt natürlich mit YES. Ihr werdet aufgefordert, ein Passwort einzugeben. Dies ist das Passwort, das Ihr jedes Mal verwenden müsst, wenn Ihr auf den verschlüsselten Ordner zugreifen möchtet. Bitte wählt ein ausreichend starkes Passwort.
Bevor wir auf den Container zugreifen können, müssen wir ihn öffnen. Dies "mountet" den Container als ein Blockgerät in /dev/mapper/
.
sudo cryptsetup luksOpen ~/encrypted_container my_encrypted_container
Nun, da der Container als Blockgerät verfügbar ist, müssen wir ihn formatieren. Hier verwenden wir ext4
als Dateisystem, aber Ihr könnt ein anderes Dateisystem wählen, wenn Ihr möchtet.
sudo mkfs.ext4 /dev/mapper/my_encrypted_container
Erstellen wir als nächstes einen Mountpunkt, z.B. ~/private_ordner
, und mountet dann den Container darauf. Natürlich könnt Ihr den privaten Ordner nennen wie Ihr wollt. Ändert privater_ordner
entsprechend ab.
mkdir ~/privater_ordner
Jetzt mounten wir den Privaten Ordner mit dem verschlüsselten Container:
sudo mount /dev/mapper/my_encrypted_container ~/privater_ordner
Jetzt können wir Dateien als root User in ~/privater_ordner
speichern und sie werden im LUKS-verschlüsselten Container verschlüsselt. Möchtet Ihr als normaler Systembenutzer via Dateiexplorer Zugriff auf den Ordner haben, müssen wir die Berechtigungen kurz anpassen:
sudo chown -R mario:mario ~/privater_ordner/
Passt natürlich mario mit Eurem Benutzernamen an!
Zugriff auf den verschlüsselten Ordner und Container sperren
Wollt Ihr den Zugriff auf den Container direkt wieder entfernen müsst Ihr das entweder manuell tun oder den Rechner neu starten. Fahrt Ihr den Rechner nach bearbeiten sofort herunter geschieht dies automatisch. Ansonsten entfernt Ihr den Zugriff wieder mit:
sudo umount ~/privater_ordner
sudo cryptsetup luksClose my_encrypted_container
Erneuter Zugriff auf den Container
Fahrt Ihr den Rechner wieder hoch ist der private Ordner leer. Es sind keine Dateien sichtbar. Damit wir wieder Zugriff auf den Container haben müssen wir den Container wieder Öffnen und einbinden. Dafür benutzen wir die zwei Befehle aus den oberen Schritten wieder um den Container zu öffnen und einzubinden:
sudo cryptsetup luksOpen ~/encrypted_container my_encrypted_container
sudo mount /dev/mapper/my_encrypted_container ~/privater_ordner
Erleichterung der Freigabe
Damit wir nicht jedesmal diese 2 Befehle eingeben müssen, können wir uns auch einfach einen einfachen Bashscript erstellen. Diesen können wir dann einfach ausführen damit der Container automatisch aktiviert und eingebunden wird. Erstellt Euch eine neue Textdatei ausserhalb des Containers:
#!/bin/bash
# LUKS-Container öffnen
sudo cryptsetup luksOpen ~/encrypted_container my_encrypted_container
# Den Container einbinden
sudo mount /dev/mapper/my_encrypted_container ~/private_folder
Speichert die Datei mit einem Namen Eurer Wahl und ändert txt zu sh ab. Die Datei muss also privater_ordner.sh heissen. Geht nun ins Terminal und begebt Euch zum Speicherort dieser Datei. Macht die Datei ausführbar mit:
sudo chmod +x /pfad/zur/datei/privater_ordner.sh
Wollt Ihr den geheimen Ordner öffnen, rechtsklickt Ihr die Datei und wählt Ihr in der Konsole ausführen aus. Gebt Euer sudo Passwort ein und anschliessend das Container Passwort. Danach ist der Container aktiviert und eingehängt. Zum schliessen könnt Ihr auch wieder einen Script erstellen. Verwendet die umount und luksClose Befehle in Eurem Script:
#!/bin/bash
sudo umount ~/privater_ordner
sudo cryptsetup luksClose my_encrypted_container
Nun sind wir auch schon fertig mit unserem Tutorial. Es gibt noch weitere Methoden die Verschlüsselung zu tätigen, aber ich denke der Einfachkeithalber haben wir hier eine schnelle und anfängerfreundliche Variante die sehr nützlich ist um verschlüsselte Bereich auf unserem Rechner zu erstellen. Es wird auch noch ein Tutorial geben in dem wir den kompletten Home Orner mit LUKS verschlüsseln werden. Das ist dann etwas komplizierter und wir müssen dafür mit gParted arbeiten.
Bitte stellt sicher dass Ihr Eure Daten in diesem Ordner auch regelmässig sichert. Eine Verschlüsselung schützt Euch vor fremden Zugriffen, nicht aber von einem Ausfall der Festplatte.
Hat Euch der Artikel Mit LUKS verschlüsselten Ordner erstellen gefallen oder habt Ihr Fragen? Schreibt sie in die Kommentare!