Samstag, 17. August 2024

Home-Verschlüsselung von einem Live-System aus einbinden um Daten zu retten

Linux Mint 22 bietet immer noch die Möglichkeit der Home-Verschlüsselung, mittels ecryptfs, bei der Installation an. Dabei wird nicht das ganze System verschlüsselt, sondern nur das Heimatverzeichnis, das sogenannte Home, des Benutzers. Im Home befinden sich normalerweise alle relevanten Daten eines Linux-Nutzers, also Dokumente, Bilder, Videos, und vieles mehr. Diese Verschlüsselung wird gern bei portablen Geräten, wie z.B. Notebooks, eingesetzt. Ich selbst nutze diese Methode für Laptop und Co. entsprechend auf meinen Computern. Jedoch sollte man bei einer Verschlüsselung immer bedenken, was kann ich im Fehlerfall tun, um an meine Daten heranzukommen. Genau hier gibt es einige Fallen, die auf den unbedarften Nutzer lauern. Deswegen habe ich mich heute fast ausschließlich damit beschäftigt, wie man an seine Dateien von außen herankommt. Und so funktioniert es aktuell:

Hier ist noch eine ältere Anleitung in meinem Blog, doch diese scheint nicht mehr zu funktionieren. Wenn man sich mit dem "neuen" Benutzer anmeldet, so landet man in einer Dauerschleife des Anmeldebildschirms.

Die aktuelle, von mir erfolgreich getestete, Methode sieht wie folgt aus. Dabei muß man einige Dinge im Vorfeld beachten.

  1. Man muß den Benutzernamen und das Passwort des Systems kennen, auf welches man von außen zugreifen möchte. In der Regel ist man ja selbst der Benutzer und kennt diese Dinge deshalb.
  2. Die Passphrase des verschlüsselten Home sollte möglichst vorher ermittelt worden sein und entsprechend niedergeschrieben.
  3. Man benötigt ein Linux Live-System auf USB Stick, im Idealfalle handelt es sich um das gleiche System und Architektur, welches auch auf dem zu rettenden System installiert ist. Am besten den USB-Stick, den man für die Installation damals verwendete, gut aufheben.
  4. Ein zwingender Umgang mit dem Terminal ist hier Voraussetzung.

Gut, sind diese Dinge geklärt gehts jetzt los.

Den betroffenen Rechner von dem Live-System starten. Wie das funktioniert, erkläre ich hier nicht nochmal. Es gibt genügend Anleitungen dazu im Netz.

Ist das System geladen, so startet man ein Terminal (in der Leiste auf das entsprechende Symbol klicken) und dieses Fenster am besten gleich maximieren, damit man alles gut sieht. Linux Mint begrüßt einen im Terminal mit dem Prompt: mint@mint:~$ 

Der folgende Befehl gibt Aufschluss über die vorhandenen Laufwerke. Hier muß man sich das richtige merken, also das, wo das verschlüsselte Home liegt, welches man aufsperren möchte. 

sudo blkid

Ist man sich nicht sicher, so kann man auch über das Programm GParted die richtige Partition finden, da hier auch die Größenangabe ersichtlich wird. In meinem Fall ist es sda2 wo mein verschlüsseltes Home liegt.

Jetzt bindet man die Partition ins System ein. Das geschieht entweder über den Dateimanager bei anklicken der Partition, oder aber besser über diesen Befehl im Terminal, da hier der Einhängeort viel kürzer ausfällt.

sudo mount /dev/sda2 /mnt/

Über den Dateimanager nun überprüfen, ob alles eingehängt wurde. Dazu links auf Geräte / Dateisystem klicken und dort den Ordner mnt öffnen. Hier sieht man nun das die Platte bzw. Partition eingehängt wurde. Alle Verzeichnisse sollten abgebildet sein. Jetzt geht es daran die Passphrase einmal auszulesen. 

Im Terminal wechselt man in den folgenden Pfad. 

cd /mnt/home/.ecryptfs/BENUTZERNAME/.ecryptfs/

Ein ls -a zeigt 5 Dateien an, wobei uns wrapped-passphrase interessiert. Um den Schlüssel aus der Datei zu lesen benutzt man den nachfolgenden Befehl.

ecryptfs-unwrap-passphrase wrapped-passphrase

Man wird aufgefordert, das Passwort des Benutzers einzugeben. Hier ist nicht der Live-System Benutzer mint gefragt, sondern der des verschlüsselten Home. Also gibt man blind das Anmeldepasswort des entsprechenden Benutzers an. Und schon erscheint die gewünschte Passphrase. Diese mit der Maus komplett markieren und Strg + Shift + C drücken, um die Buchstaben-Zahlensuppe in die Zwischenablage zu kopieren. Dies macht die nächsten Schritte einfacher.

Jetzt muß die Passphrase dem Kernel-Schlüsselbund bekannt gemacht bzw. hinzugefügt werden. Das geht so.

sudo ecryptfs-add-passphrase --fnek

Man soll jetzt die ausgelesene Passphrase eingeben. Einfach Strg + Shift +V drücken und mit Enter bestätigen. Es erscheinen zwei Zeilen mit Autorisierungstoken, die dem Keyring hinzugefügt wurden. Interessant ist hier die zweite Zeile, da sie eine "Signierung" in den eckigen Klammern anzeigt. Das werden wir noch benötigen.

Nun geht es darum das verschlüsselte .Private Verzeichnis in einen gewünschten Ordner zu "entschlüsseln". Das geht über den mount Befehl.

sudo mount -t ecryptfs -o ro /mnt/home/.ecryptfs/BENUTZERNAME/.Private/ /home/mint/Dokumente/

Die erste Frage nach dem Schlüsseltyp beantwortet man mit 1 für passphrase. Wieder wird nun nach der Passphrase gefragt. Ebenfalls mit Strg + Shift + V einfügen und Enter drücken. Bei den nachfolgenden Fragen muß man überall die Default-Einstellung verwenden, außer "Enable filename encryption" muss mit "y" beantwortet werden und bei FNEK Signatur muss die oben erwähnte "Signierung" aus den eckigen Klammern der zweiten Zeile eingegeben werden. Jetzt erfolgt die Frage ob man mit dem "mount" fortsetzen möchte, was man mit "yes" beantwortet. Die allerletzte Frage, ob die sig in die sig-cache.txt soll verneint man mit "no" und schon wird das verschlüsselte Home-Verzeichnis entschlüsselt eingebunden. 

Dateimanager öffnen und links unter Geräte steht nun Dokumente als eingehängter Datenträger. Ein Klick führt zu /mint/Dokumente und darin werden alle Ordner und Dateien mit Lesezugriff angezeigt. Ab sofort hat man Zugriff und kann die Daten auf einen externen Datenträger unverschlüsselt sichern. Damit sollte die Rettung erfolgreich beendet sein.  Ist man fertig, so sollte der Ordner noch vor dem Herunterfahren ausgehängt werden. Das passiert im Terminal mittels Befehl.

sudo umount Dokumente

Ich rate jedem, der die Home-Verschlüsselung mittels ecryptfs einsetzt, diese Anleitung auszuprobieren, um im Ernstfall richtig reagieren zu können. Schade das scheinbar Ecryptfs nicht weiter gepflegt wird. Und so auch die Techniken nicht weiter entwickelt werden. Ich weiß nicht, ob der Bug mit dem Ab/Anmelden-Verschlüsselung vom Benutzer behoben ist. Zumindest gab es wohl einen Workaround über einen entsprechenden Systemd-Dienst. Doch noch schlimmer finde ich, das Linux Mint diese Art von Verschlüsselung weiterhin in der Installation anbietet, obwohl dort für den Fehlerfall keine Dokumentation zur Verfügung steht.  

PS: Keine Gewähr auf Vollständigkeit oder Richtigkeit. In den Befehlen ist der BENUTZERNAME entsprechend zu ersetzen. Diese Anleitung gilt für Linux Mint 22 im Jahre 2024. 

Keine Kommentare:

Kommentar veröffentlichen

Vielen Dank für Ihren Kommentar. Die Veröffentlichung erfolgt umgehend nach meiner Prüfung. Ich bitte um etwas Geduld. MfG Mintnix