Verzeichnis verschlüsseln mit EncFS

Di, 4. Oktober 2022, Ralf Hersel

Es gibt viele Möglichkeiten, Daten zu verschlüsseln. Man kann eine ganze Partition verschlüsseln, man kann einzelne Dateien verschlüsseln, man kann mehrere Dateien in ein Passwort-geschütztes Archiv legen, usw. Manchmal möchte man jedoch nur ein einzelnes Verzeichnis verschlüsseln, in das schützenswerte Dateien gelegt werden sollen.

Das kann man mit dem "Encrypted Filesystem" EncFS erreichen. Die Bedienung ist sehr einfach und kann mit einem Shell-Skript, bzw. einer Funktion in der Shell-Konfiguration noch einfacher gestaltet werden. EncFS verwendet zwei Verzeichnisse zum transparenten Verschlüsseln der Daten. In einem der Verzeichnisse werden die zu verschlüsselnden Daten abgelegt. Die hier gespeicherten Daten werden jedoch nicht direkt auf die Festplatte geschrieben, sondern von EncFS zunächst verschlüsselt und dann im zweiten sogenannten Quellverzeichnis in verschlüsselter Form gespeichert. Die unverschlüsselte Ansicht im ersten Verzeichnis ist nur sichtbar, solange der zweite mittels EncFS in den ersten eingebunden ist. Dabei entspricht jede verschlüsselte Datei im zweiten Verzeichnis einer unverschlüsselten Datei im Ersten. Ist der Inhalt des verschlüsselten Verzeichnisses nicht eingebunden, ist das unverschlüsselte Verzeichnis leer.

Und so geht es:

Als Erstes installiert man EncFS mit den üblichen Methoden, z. B. sudo apt install encfs. Die Software sollte in den Repositories der meisten Distributionen enthalten sein.

Dann ruft man EncFS mit zwei gleichnamigen Verzeichnissen auf; eines ist hidden, das zweite nicht. Nennen wir es tresor. Das verstecke Verzeichnis .tresor wird die verschlüsselten Dateien enthalten, während in tresor die unverschlüsselten stehen.

encfs ~/.tresor ~/tresor

Das Verzeichnis "/home/ralf/.tresor/" existiert nicht. Soll es erstellt werden? (y,N) y
Das Verzeichnis "/home/ralf/tresor/" existiert nicht. Soll es erstellt werden? (y,N) y
Neuer verschlüsselter Datenträger wird erstellt.
Bitte wählen Sie eine der folgenden Optionen:
 "x" für den Expertenmodus,
 "p" für den vorkonfigurierten Paranoia-Modus

Hier kann man den Paranoia-Modus wählen, welcher dazu führt, dass auch die Dateinamen (nicht nur die Inhalte) verschlüsselt werden. Nachdem man ein Passwort zweimal eingegeben hat, ist die Einrichtung des verschlüsselten Verzeichnisses fertig.

Nun könnt ihr Dateien in das Verzeichnis tresor hinein kopieren. Als Nächstes hängen wir dieses wieder aus:

encfs -u ~/tresor 

Das -u steht für unmount. Der Pfad muss absolut sein; ein encfs -u tresor funktioniert nicht. Das Verzeichnis tresor gibt es jetzt immer noch, es ist aber leer. Um den Tresor wieder zu öffnen, gebt ihr dasselbe Kommando wie beim erstmaligen Anlegen ein:

encfs ~/.tresor ~/tresor

Jetzt werdet ihr nur nach dem Passwort gefragt, dann stehen die entschlüsselten Dateien wieder in tresor. Die verschlüsselten Dateien in .tresor sehen so aus:

-rw-r--r--  1 ralf ralf 307187  3. Okt 18:17 5woPzNvUxM,NqA6hNNgAiWU4
-rw-r--r--  1 ralf ralf  43729 25. Sep 18:54 bOslvwdgCEPggh39TjrDqYy2
-rw-r--r--  1 ralf ralf   1311  3. Okt 19:14 .encfs6.xml

Wie ihr seht, sind auch die Dateinamen verschlüsselt. Die XML-Datei enthält keine verräterischen Informationen.

Zwar sind die beiden Befehle relativ einfach einzutippen; der Komfort lässt sich aber verbessern. Dazu erstellt ihr eine Funktion in eurer Shell-Konfigurationsdatei (.bashrc, .zhsrc, je nachdem).

function tresor() {
    mount | grep tresor >/dev/null
    if [ $? -ne 0 ]; then
              echo "mounting tresor"
              encfs ~/.tresor ~/tresor
              cd ~/tresor
    else
              echo "unmounting tresor"
              encfs -u ~/tresor
              cd
    fi
    }

Die Funktion prüft zuerst, ob der Tresor offen ist (gemounted) oder nicht. Falls er geschlossen ist, wird er geöffnet und in das Verzeichnis tresor gesprungen. Falls er offen ist, wird er geschlossen (unmount) und ins Home-Verzeichnis gesprungen, weil es in tresor nichts mehr zu sehen gibt.

Damit wird die Bedienung von EncFS ganz einfach: Man tippt tresor im Terminal ein.

Nachtrag

Ein aufmerksamer Leser (Fryboyter) hat im Kommentar unter dem Artikel darauf hingewiesen, dass EncFS seit einigen Jahren nicht mehr gepflegt wird und ausserdem mit Sicherheitsproblemen zu kämpfen hat. Deshalb gibt es einen weiteren Artikel zu diesem Thema.

Quelle: https://vgough.github.io/encfs/

Tags

Verzeichnis, verschlüsseln, Sicherheit, encfs