Home » Linux » Linux Home Ordner nachträglich mit LUKS verschlüsseln

Linux Home Ordner nachträglich mit LUKS verschlüsseln

In diesem Artikel erfahrt ihr, wie ihr euren Linux Home Ordner nachträglich mit LUKS verschlüsseln könnt. Das Verschlüsseln eines bereits bestehenden Home-Ordners unter Linux mit LUKS kann eine komplexe Aufgabe sein, die sorgfältig durchgeführt werden muss, um Datenverlust zu vermeiden. Wir erstellen zusammen eine neue verschlüsselte Partition und kopieren unsere Daten in das neue Verzeichnis. Danach binden wir die neue Partition automatisch beim Systemstart ein damit dies sofort verfügbar ist. Dies ist sinnvoll, wenn der Homeordner bei der Installation von Linux nicht verschlüsselt worden ist. Das Tutorial eignet sich auf für mehrere Benutzer auf dem System, die dann ihr eigenen verschlüsselten Home Ordner haben. Falls ihr nur einzelne geheime Ordner erstellen wollt, dann schaut mal hier vorbei.

Das Tutorial kommt ohne Live-Sticks und ohne neu Partitionierungen der Systemplatten aus, und ist somit eine anfängergfreundliche und denoch sichere Variante.

Vorbereitungen um den Linux Home Ordner mit LUKS verschlüsseln zu können

Wir spielen das aufsetzen des neuen Home Ordners anhand 2 Benutzern durch: Benutzer Wario und Benutzer Dario. Habt ihr nur einen Benutzer, dann lasst die Befehle für Dario einfach weg. Habt ihr mehrere Benutzer, dann fügt die Befehle hinzu mit einem weiteren Benutzer.

Backup erstellen: Vor allem anderen, erstellen wir zuerst ein Backup aller wichtigen Daten eures Home-Ordner. Das Risiko von Datenverlust ist real. Ihr könnt zum Beispiel Linux Timeshift verwenden, oder tut das von Hand mit einem USB Stick oder einem externen Laufwerk.

Einstellungen eines externen Laufwerks für das Backup

Da ihr keinen Zugriff auf den Homeordner anderer Benutzer habt, erstellt ihr ein Backup über die Befehlszeile auf einen Stick oder ein externes Laufwerk. Am besten verwendet ihr ein Laufwerk das mit ext4 vorher formatiert worden ist. Damit bleiben alle Berechtigungen und Gruppeneinstellungen eurer Ordner erhalten. kopiert euch den Inhalt des Homesordners mit dem Befehl:

sudo rsync -aAXv /home/wario /media/mario/home_backup
sudo rsync -aAXv /home/dario /media/mario/home_backup

Ersetzt mario mit eurem aktuellen Benutzer auf dem ihr arbeitet.

Cryptsetup und Authentifizerungsmodul installieren: installiert euch das pam_mount Authentifzierungsmodul mit:

sudo apt-get install cryptsetup
sudo apt update
sudo apt install libpam-mount

Temporären Benutzer erstellen: Erstellt euch einen temporären Benutzer damit wir mit diesem Arbeiten können, während wir die Home Ordner der Systembenutzer verschieben:

sudo adduser tempuser
sudo usermod -aG sudo tempuser

Verschlüsselten Home Ordner erstellen

Wechselt auf der Befehlszeile in den temporären Ordner mit:

su - tempuser

Erstellt ein neues Backup auf dem System mit welchem wir direkt arbeiten können:

sudo mkdir /home/wario_backup
sudo mkdir /home/dario_backup

und kopiert die Benutzerdaten erneut mit:

sudo rsync -aAXv /home/wario /home/wario_backup
sudo rsync -aAXv /home/dario /home/dario_backup

Erstellt eine LUKS-verschlüsselte Datei für Wario:

sudo dd if=/dev/zero of=/home/wario.luks bs=1M count=10240

** Bestätigt das löschen des Laufwerks mit YES**

sudo cryptsetup luksFormat /home/wario.luks

**Wählt das selbe Passwort wie das Passwort des Benutzers für das automatische Einbinden während des Starts!**

sudo cryptsetup open /home/wario.luks crypt_home_wario
sudo mkfs.ext4 /dev/mapper/crypt_home_wario

Ändert die Grösse der fett markierten Zahl mit einem Wert eurer Wahl. 10240 entsprechen ca. 10GB Speicher!

Das erstellen des verschlüsselten Verzeichnisses kann eine Weile dauern, wartet ab bis ihr wieder auf der Befehlszeile seid:

Mountet das neue Dateisystem in ein temporäres Verzeichnis:

sudo mkdir /mnt/wario
sudo mount /dev/mapper/crypt_home_wario /mnt/wario

Kopiert die Daten aus dem temporären Backup in das gemountete Verzeichnis mit:

sudo rsync -aAXv /home/wario_backup/ /mnt/wario

Ändert die Berechtigungen nochmals sicherheitshalber korrekt mit:

sudo chown -R dario:wario /mnt/wario

Umount das verschlüsselte Volume:

sudo umount /mnt/wario
sudo cryptsetup close crypt_home_wario

Wiederhollt die Schritte für Dario:

sudo dd if=/dev/zero of=/home/dario.luks bs=1M count=10240
sudo cryptsetup luksFormat /home/dario.luks
sudo cryptsetup open /home/dario.luks crypt_home_dario
sudo mkfs.ext4 /dev/mapper/crypt_home_dario
sudo mkdir /mnt/dario
sudo mount /dev/mapper/crypt_home_dario /mnt/dario
sudo rsync -aAXv /home/dario_backup/ /mnt/dario/
sudo chown -R dario:dario /mnt/dario
sudo umount /mnt/dario
sudo cryptsetup close crypt_home_dario

Neue Home Partition automatisch einbinden

Eine gängige Praxis, um die Bequemlichkeit zu erhöhen und dennoch ein gewisses Sicherheitsniveau zu behalten, ist die Verwendung von PAM (Pluggable Authentication Modules). Es gibt ein PAM-Modul namens pam_mount, das automatisch Home-Verzeichnisse beim Benutzerlogin mounten kann, sofern das Login-Passwort und das LUKS-Passwort identisch sind. Dies ermöglicht eine nahtlose Benutzererfahrung, da die Benutzer nicht zweimal ein Passwort eingeben müssen.

Es ist jedoch zu beachten, dass die Verwendung desselben Passworts für mehrere Dienste oder Zwecke (z. B. Anmeldung und Disk-Verschlüsselung) potenzielle Sicherheitsrisiken birgt. Wenn dieses Passwort in irgendeiner Weise kompromittiert wird, ist sowohl der Zugriff auf den Computer als auch der Zugriff auf die verschlüsselten Daten gefährdet. Es ist immer ein Balanceakt zwischen Sicherheit und Bequemlichkeit.

Konfigurieren von pam_mount

Bearbeitet die Datei /etc/security/pam_mount.conf.xml mit einem Texteditor eurer Wahl, z.B.:

sudo nano /etc/security/pam_mount.conf.xml

Fügt direkt nach <pam_mount> die Konfigurationszeilen für eure LUKS-verschlüsseltes Laufwerke hinzu:

<volume user="wario" path="/home/wario.luks" mountpoint="/home/wario" options="defaults" />
<volume user="dario" path="/home/dario.luks" mountpoint="/home/dario" options="defaults" />

Jetzt sind wir soweit fertig und loggen uns aus dem temporären Benutzer aus mit exit und entfernen den Benutzer mit:

sudo deluser tempuser
sudo rm -rf /home/tempuser

Neustart und Überprüfung

Starte das System neu:

sudo reboot

Meldet euch mit den Benutzern an, und überprüft, ob die Home-Ordner korrekt gemountet wurden sind und der Inhalt eurer Daten vorhanden ist.

Falls alles in Ordnung ist, könnt ihr die backup Ordner löschen:

sudo rm -rf /home/wario_backup 
sudo rm -rf /home/dario_backup

Hinweis für Mehrbenutzersysteme

Für ein Mehrbenutzersystem müsst ihr sicherstellen, dass jeder Benutzer seine eigene verschlüsselte LUKS-Datei hat und diese in der pam_mount.conf.xml korrekt konfiguriert ist. Die Schritte müssen für jeden Benutzer wiederholt werden.

Fazit

Mit dieser Anleitung könnt ihr die Home-Ordner von mehreren Benutzern auf eurem System mit LUKS verschlüsseln und pam_mount verwenden, um die Volumes automatisch beim Login zu mounten. Diese Methode erhöht die Sicherheit, da der Schlüssel für die Entschlüsselung aus dem Benutzerpasswort abgeleitet wird.

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert