Neuigkeiten:

Privates MODX und LINUX BLOG, User Registrierung ist deaktiviert! Fragen oder Tipps? Bitte per Matrix: @jolichter:tchncs.de

Hauptmenü

ecryptfs - home unter Debian verschlüsseln

Begonnen von Wasi, 2011-10-16 | 23:30:28

« vorheriges - nächstes »

Wasi

Mit ecryptfs unter Debian das /home Verzeichnis verschlüsseln

Mit Ubuntu kann man /home mit ecryptfs während der Installation verschlüsseln. Bei Debian ist das aber Dank script auch einfach möglich.

Unter Debian wird bei der Installation auch eine Verschlüsselung angeboten. Allerdings werden die Dateien dabei containerbasiert mit dm-crypt verschlüsselt. Ecryptfs wird bei der Installation leider nicht angeboten.

Ecryptfs Merkmale

  • jeder User kann die Dateien in sein /home mit seinem eigenen Passwort verschlüsseln
  • Dateien werden automatisch entschlüsselt, sobald sich der User eingeloggt hat
  • Backups durchführen ohne die Dateien zu entschlüsseln

Bei Debian erfolgt die Verschlüsselung der Verzeichnisse nachträglich, ist also im laufendem Debian System möglich. Dabei darf der User nicht angemeldet sein!

Vorgehensweise

Zuerst ecryptfs und rsync installieren:
sudo apt-get install ecryptfs-utils rsync

Wenn das <ecryptfs> Modul nicht im Kernel integriert ist (wie bei mir), muß das Kernel-Modul für ecryptfs nachträglich eingebunden werden:
sudo modprobe ecryptfs
(Geladene Module anzeigen: lsmod | Information anzeigen: modinfo ecryptfs | Modul entladen: sudo modprobe -r ecryptfs

Per script automatisch die Dateien eines Users verschlüsseln und in ein ecryptfs Verzeichnis legen:
sudo ecryptfs-migrate-home -u USERNAME

Je nach Datenmenge kann dieses evt. Stunden dauern...

Am Ende erscheint dann folgende Meldung (z.B mit dem User: USERNAME):

Done configuring.
INFO:  Encrypted home has been set up, encrypting files now...this may take a while.

========================================================================
Some Important Notes!

1. The file encryption appears to have completed successfully, however,
    USERNAME MUST LOGIN IMMEDIATELY, _BEFORE_THE_NEXT_REBOOT_,
    TO COMPLETE THE MIGRATION!!!

2. If USERNAME can log in and read and write their files,
    then the migration is complete,
    and you should remove /home/USERNAME.aXemFaiA.
    Otherwise, restore /home/USERNAME.aXemFaiA back to /home/USERNAME.

3. USERNAME should also run 'ecryptfs-unwrap-passphrase' and record
    their randomly generated mount passphrase as soon as possible.

4. To ensure the integrity of all encrypted data on this system, you
    should also encrypted swap space with 'ecryptfs-setup-swap'.
========================================================================


Die ersten 3 Punkte sind SEHR WICHTIG!
1. Sofort mit dem neuen User einloggen!
2. Den Ordner /home/USERNAME.aXemFaiA mit sudo löschen!
3. Per
su
ecryptfs-unwrap-passphrase .ecryptfs/wrapped-passphrase

den Passwortschlüssel abfragen und an einem sicheren Ort speichern!
4. Brauche ich nicht, da ich keine swap-Partition mehr benutze
    (ist bei 16GB-Ram nicht notwendig ; -)




WICHTIG! Dieses script macht ein Backup (Punkt 2) falls etwas schief läuft. Dennoch würde ich vorher die Dateien auf einer externen Festplatte sichern!

Das Home-Verzeichnis kann auch mit einem Live-System entschlüsselt werden
Ein Live-System starten und /home einhängen, dann im Terminal eingeben:
sudo apt-get install ecryptfs-utils
(wenn ecryptfs nicht im Live-System installiert ist)
sudo ecryptfs-recover-private
Der Befehl durchsucht alle eingebundenen Partitionen nach Ordnern, die mit ecryptfs verschlüsselt wurden.
Bestätigt man die Wiederherstellung, muss man das Login Passwort von BENUTZERNAME eingeben.
Nach Eingabe des Passwortes wird das Verzeichnis von BENUTZERNAME automatisch entschlüsselt und eingebunden. Der Ort wird im Terminal angegeben, in der Regel wird dabei ein Ordner unter /tmp erstellt. Nun kann man mit jedem Dateibrowser auf die Dateien zugreifen.

christofarn

Riesigen Dank für diese wunderbare Anleitung! Läuft bei mir tiptopp so.
Nur etwas war bei mir anders, und zwar überraschend: Einerseits erhielt ich eine Fehlermeldung nach dem Befehl "sudo ecryptfs-migrate-home -u USERNAME" mit dem Hinweis, das Modul ecryptfs sei eventuell nicht geladen. Nachdem ich es mit sudo modprobe ecryptfs geladen hatte, ging es. - Andererseits funktionierte die Sache nachher perfekt, ohne dass ich das Modul in die Datei /etc/modules eingetragen hatte (mit echo "ecryptfs" >> /etc/modules). Komisch, oder nicht?

Als ich dann aber dachte, ich würde das Modul sicherheitshalber doch eintragen und also den Befehl echo "ecryptfs" >> /etc/modules absetzte, konnte das System nicht mehr starten. Ich musste mit einem abgesicherten Kernel starten und dann mit nano /etc/modules die Datei editieren und die Zeile "ecryptfs" wieder entfernen. Jetzt läufts wieder wie am Schnürchen. :-)

Wasi

#2
Hallo und Danke für deine Info!

Richtig, seit der Kernel Version 2.6.19 wird ecryptfs von Linux unterstützt.
Ein modprobe ecryptfs langt also vollkommen. Habe den Text oben angepasst.    :cool:

christofarn

Wow, das geht superschnell, danke für die Antwort! :smilie:

Wasi

#4
Eine verschlüsselte SWAP die ihr mit dem Befehl "ecryptfs-setup-swap" erstellt habt, kann man wie folgt wieder rückgängig machen.

Angenommen eure SWAP Partition ist sda1:

- sudo swapoff -a
- sudo cryptsetup remove /dev/mapper/cryptswap1
- sudo remove /etc/crypttab
- sudo /sbin/mkswap /dev/sda1
- sudo swapon /dev/sda1
- sudo gkgedit /etc/fstab
   *Ersetzt /dev/mapper/cryptswap1 mit /dev/sda1*
- sudo swapon /dev/sda1

Mit sudo swapon -s kann man den Stand der SWAP Datei überprüfen.