Dropbox-Verzeichnis verschlüsseln mit encfs
Für das einfache Synchronisieren von Dateien verwende ich seit einiger Zeit gerne Dropbox. Es ist schnell eingerichtet und läuft auf allen Oberflächen gleich. Obwohl in meiner Dropbox keine sensiblen Daten liegen, bleibt jedoch immer ein etwas schaler Beigeschmack wenn ich dort einfach meine - überwiegend - Textdateien ablege. Damit diese wenigstens nicht von jedem dahergelaufenen Sysadmin oder sonst wem gelesen werden können sollten sie also verschlüsselt werden. Eine Möglichkeit hierzu bietet encfs, das sich zumindest bei Arch, Debian und Ubuntu in den Standardrepositorien befindet.
Mit EncFs kann man einfach und bequem den kompletten Inhalt eines Ordners auf Dateiebene verschlüsseln. Dazu wird mit folgendem Befehl ein verstecktes Verzeichnis (im folgenden “Verschlüsselungsverzeichnis”) \~/Dropbox/.encfs im Dropboxordner erstellt sowie ein Verzeichnis \~/encfs (im folgenden “Arbeitsverzeichnis”) im Homeordner des Benutzers erstellt und ein Passwort vergeben:
$ encfs ~/Dropbox/.encfs ~/encfs
Anschließend kann mit folgenden Befehlen das Verzeichnis gemounted bzw. wieder unmounted werden:
$ encfs ~/Dropbox/.encfs ~/encfs
$ fusermount -u ~/encfs
Schaut man sich die zwei Verzeichnisse (angereichert mit zwei Testdateien) einmal an ergibt sich folgendes Bild:
ls -la \~/encfs ergibt dabei für das Arbeitsverzeichnis:
insgesamt 16
drwx------ 2 user user 4096 11. Dez 19:19 .
drwx------ 25 user user 4096 11. Dez 19:23 ..
-rw-r--r-- 1 user user 25 11. Dez 19:19 testdatei2.txt
-rw-r--r-- 1 user user 17 10. Dez 19:42 test.txt
ls -la \~/Dropbox/.encfs ergibt dabei für das Verschlüsselungsverzeichnis:
insgesamt 20
drwx------ 2 user user 4096 11. Dez 19:24 .
drwx------ 7 user user 4096 11. Dez 19:09 ..
-rw-r--r-- 1 user user 33 10. Dez 19:42 DHF-zL8RLcUNw0Jo3G4T,Ndy
-rw-r--r-- 1 user user 1091 11. Dez 19:24 .encfs6.xml
-rw-r--r-- 1 user user 41 11. Dez 19:19 ,XFCVJVAcNWwxvyghRPKfICa
Was auffällt ist, dass sich im verschlüsselten Verzeichnis neben den eigentlichen, verschlüsselten Dateien auch eine unverschlüsselte xml-Datei .encfs6.mxl befindet. In dieser Datei befinden sich die Metadaten für encfs mit Angaben zur Verschlüsselungsart sowie einem Passworthash. Diese Datei dort zu belassen ist auf jeden Fall riskant, gibt sie einem potentiellen Angreifer doch wertvolle Hinweise. Leider bietet encfs keine Option um beim Mount den Pfad zur Metadatendatei als Argument zu übergeben. Man kann sich aber behelfen durch setzen der Umgebungsvariable \$ENCFS6_CONFIG. Dazu kopiert man die .encfs6.xml in das Homeverzeichnis (oder jeden anderen beliebigen Ort) und trägt in der Datei \~/.bashrc ein:
export ENCFS6_CONFIG='~/.encfs6.xml'
und schon funktioniert das mounten wieder wie gewohnt. Ein wenig Vorsicht ist allerdings angebracht. Ist die Datei weg z.B. durch einen Festplattencrash oder Diebstahl des Notebooks kommt man auch an die Daten so einfach nicht mehr dran.
Fazit
Mit encfs hat man eine praktische und komfortable Möglichkeit Dateien in einem Verzeichnis zu verschlüsseln. In Kombination mit einem Clouddienst bekommt man so wenigstens ein wenig Sicherheit, dass die privaten Daten zumindest mit herkömmlichen Mitteln nicht ganz so einfach einsehbar sind. Vollkommene Sicherheit bietet leider keine Verschlüsselungssoftware, daher bin ich auch weiterhin der Meinung, dass wirklich private Daten auf fremden Servern nichts zu suchen haben.