Dateien und Verzeichnisse mit EncFS verschlüsseln

Aus LinuxUser 02/2014

Dateien und Verzeichnisse mit EncFS verschlüsseln

© Ordog Dezso, 123RF

Gut gesichert

Das Verschlüsseln von Daten setzt unter Linux oft erheblichen Konfigurationsaufwand voraus. Einfacher geht es mit EncFS.

Mit Verschlüsselung verhält es sich wie mit Backups: Jeder weiß um die Nützlichkeit, aber irgendeine Ausrede gibt es dann doch, warum man es (noch) nicht eingerichtet hat. EncFS jedoch bereitet solchen Ausflüchten ein Ende: Mit nur einem Kommando richten Sie ohne Root-Rechte ein Verzeichnis ein, in dem alle Daten transparent verschlüsselt landen.

Die unter der GPL veröffentlichte Software gibt es bereits seit zehn Jahren, und sie steht in den Repositories aller gängigen Distributionen zum Download bereit. Wie der Name schon erahnen lässt, handelt es sich bei EncFS [1] um ein Dateisystem – allerdings nicht um eines im klassischen Sinne, wie etwa Ext4 oder XFS.

EncFS: Die Vorteile

Im Detail ist EncFS ein verschlüsseltes Dateisystem, das Dateien und Verzeichnisse vor unbefugtem Zugriff schützt. Dabei setzt es als virtuelles Dateisystem auf vorhandenen Dateisystemen auf. Zu guter Letzt läuft es als Userspace-Dateisystem mithilfe des FUSE-Kernel-Moduls [2] als Prozess eines Benutzers. Diese Eigenschaften bedingen eine ganze Reihe von Vorteilen gegenüber anderen Dateisystemen zur Verschlüsselung, bringen aber auch einige Nachteile mit sich.

Zu den entscheidenden Vorteilen zählt die Tatsache, dass EncFS zum Betrieb keine Root-Rechte benötigt. Dazu muss lediglich das FUSE-Kernel-Modul (“Filesystem in Userspace”) installiert und geladen sein.

Da EncFS auf anderen Dateisystemen aufsetzt, um Daten zu speichern, benutzt es das jeweils vorhandene einfach mit. Das Konfigurieren einer besonderen Partition oder eines Containers für verschlüsselte Daten entfällt, genauso wie die Verschwendung von Speicherplatz, die daraus resultieren kann. EncFS benötigt lediglich einige wenige Bytes für Meta-Daten und Verschlüsselungszwecke.

Es macht für EncFS keinerlei Unterschied, wo es die Daten speichert. So unterstützt es Ext3/4-Dateisysteme genau wie die Netzwerk-Filesysteme Samba oder NFS. Dadurch lässt sich EncFS auch problemlos im Zusammenhang mit Cloud-Diensten nutzen, wie etwa Dropbox.

Ein Backup von EncFS-gesicherten Daten klappt ohne zusätzliche Konfiguration oder spezielle Backup-Software: Da die verschlüsselten Daten nach wie vor als Dateien und Verzeichnisse auf dem System erscheinen, lassen sie sich bei der Datensicherung genauso behandeln wie ihre unverschlüsselten Gegenstücke. Andererseits erlauben auch die gesicherten Daten keinen Fremdzugriff.

EncFS: Die Nachteile

Den vielen Vorzügen von EncFS stehen aber auch einige Nachteile gegenüber. Ein Dateisystem im Userspace arbeitet in der Regel langsamer als ein Kernel-Modul, und so ist auch EncFS hier gegenüber entsprechenden Implementierungen im Nachteil.

Zudem verschlüsselt EncFS die Meta-Daten von Dateien nicht – somit kann diese jeder einsehen, der Zugriff darauf hat. Zu den entsprechenden Daten zählen beispielsweise die Anzahl der verschlüsselten Dateien und Verzeichnisse, die zugehörigen Dateirechte, die Größe der Dateien sowie die ungefähre Länge des Datei- beziehungsweise Verzeichnisnamens.

TIPP

Einen guten Überblick über die Unterschiede der gängigsten Verschlüsselungsmethoden unter Linux zeigt das Wiki von Arch Linux [11].

Verschlüsselte Ordner

Um in Ihrem Home-Verzeichnis einen Ordner Daten-Safe anzulegen, in dem Sie beliebige Dateien und Verzeichnisse abspeichern können, verwenden Sie folgenden Befehl:

$ encfs ~/.Daten-Safe ~/Daten-Safe

Alle in ~/Daten-Safe abgelegten Daten verschlüsselt die Software transparent und speichert sie im versteckten Verzeichnis .Daten-Safe ab.

EncFS startet beim Anlegen im interaktiven Modus (Abbildung 1). Je nach persönlichem Sicherheitsbedürfnis wählen Sie an dieser Stelle zwischen den Betriebsarten standard mode, paranoia mode oder expert configuration mode.

Abbildung 1: Ein Aufruf genügt, um via EncFS ein verschlüsseltes Verzeichnis zu erzeugen und einzuhängen.

Abbildung 1: Ein Aufruf genügt, um via EncFS ein verschlüsseltes Verzeichnis zu erzeugen und einzuhängen.

Der Experten-Modus erlaubt das zusätzliche Konfigurieren zahlreicher Einstellungen, wie zum Beispiel den zu verwendenden Algorithmus oder die Schlüssel- und Blocklänge. Wählen Sie die Standardkonfiguration, gibt EncFS die gewählten Einstellungen aus fragt ein Passwort für das neu angelegte Verzeichnis ab (Abbildung 2).

Abbildung 2: Wählen Sie die Standard-Einstellungen, dann zeigt der Konfigurationsdialog abschließend die verwendeten Parameter an.

Abbildung 2: Wählen Sie die Standard-Einstellungen, dann zeigt der Konfigurationsdialog abschließend die verwendeten Parameter an.

Vorsicht: Im paranoia mode beziehungsweise durch das Aktivieren bestimmter Einstellungen im expert configuration mode lassen sich Hardlinks nicht mehr nutzen. Das hat zur Folge, dass Anwendungen, die Hardlinks nutzen, nicht mehr richtig funktionieren. Zu dieser Riege zählt beispielsweise der Konsolen-Mailclient Mutt.

EncFS verschlüsselt die Daten nicht nur, sondern benennt auch Dateien und Verzeichnisse um, sodass die resultierenden, kryptischen Namen (Listing 1) keine Rückschlüsse auf den Inhalt der Dateien zulassen.

Listing 1

$ ls ~/.Daten-Safe/
iyZS5h8HEbjyUjRGJqTHxBOr  sAoE9,o8nOKSayDFyagPoEBl

Um den Daten-Safe einzuhängen, verwenden Sie das gleiche Kommando wie zum initialen Einrichten. Um ihn wieder auszuhängen, tippen Sie:

$ fusermount -u ~/Daten-Safe/

Mit dem Kommandozeilenprogramm encfsctl erledigen Sie administrative Aufgaben. Es gibt unter anderem Informationen über einen mit EncFS verschlüsselten Ordner aus oder ändert das Passwort. Eine solche Passwortänderung führt nicht etwa dazu, dass EncFS ressourcenintensiv alle Daten neu verschlüsseln muss: EncFS nutzt beim initialen Setup nicht das Passwort als Schlüssel, sondern generiert einen sogenannten Volume Key. Nur diesen verschlüsseln Sie mit der Eingabe Ihres Passworts. Alle anderen Daten verschlüsselt EncFS mit dem Volume Key, der sich auch durch ein neues Passwort nicht verändert.

Ungepflegt?

Die in den gängigen Distributionen verfügbare Version 1.7.4 von EncFS ist inzwischen schon über drei Jahre alt. Zwar gibt es derzeit keine neueren Releases, den Quellcode von EncFS jedoch entwickelt der Maintainer Valient Gough im Subversion-Repository [3] ständig weiter.

Er bestätigte uns auf Nachfrage auch, dass es in Kürze eine neue Version 1.7.5 von EncFS geben wird. Sie soll aber nur kleinere Fehlerkorrekturen enthalten und, insbesondere für Linux-Anwender, kaum spürbare Änderungen mitbringen.

Allerdings laufen inzwischen schon die Arbeiten für den nächsten großen Versionssprung: EncFS 2.0 soll viele interne Verbesserungen bringen, wie etwa die Umstellung des Build-Systems auf Cmake und die Einführung von Unit-Tests. Zukünftig wird es dann möglich sein, neben OpenSSL auch andere Security-Backends einzusetzen.

Zusätzliche Software

Rund um EncFS gibt es inzwischen eine ganze Reihe an zusätzlichen Programmen, die das Verwalten von verschlüsselten Verzeichnissen durch eine grafische Benutzeroberfläche vereinfachen oder EncFS besser in das System integrieren. Dazu gehört beispielsweise Cryptkeeper [4], ein System-Tray-Applet (Abbildung 3), das die wichtigsten Funktionen von EncFS bereitstellt.

Abbildung 3: Das System-Tray-Applet Cryptkeeper hilft Ihnen beim Verwalten von EncFS-Volumes.

Abbildung 3: Das System-Tray-Applet Cryptkeeper hilft Ihnen beim Verwalten von EncFS-Volumes.

Die simple KDE-Applikation Kencfs [5] vermag EncFS-Verzeichnisse einzubinden und auszuhängen (Abbildung 4). Allerdings scheint sie schon seit einiger Zeit nicht weiterentwickelt zu werden und fehlt entsprechend in den Repositories fast aller Distributionen. Möchten Sie das Tool dennoch verwenden, müssen Sie es also aus den Quellen selbst übersetzen.

Abbildung 4: Die grafische Oberfläche Kencfs leistet zwar prinzipiell gute Arbeit. Da sie jedoch längere Zeit nicht weiterentwickelt wurde, steht sie nur noch als Quellcode zum Selbstkompilieren bereit.

Abbildung 4: Die grafische Oberfläche Kencfs leistet zwar prinzipiell gute Arbeit. Da sie jedoch längere Zeit nicht weiterentwickelt wurde, steht sie nur noch als Quellcode zum Selbstkompilieren bereit.

Beim Gnome Encfs Manager [6] handelt es sich um ein Programm inklusive eines Tray-Applets zum Verwalten von EncFS unter Gnome (Abbildung 5). Das Werkzeug versucht darüber hinaus typische Abläufe zu automatisieren, wie etwa das Aushängen von EncFS-Verzeichnissen beim Logout.

Abbildung 5: Der Gnome Encfs Manager bietet eine umfangreiche grafische Oberfläche für Gnome-Desktops.

Abbildung 5: Der Gnome Encfs Manager bietet eine umfangreiche grafische Oberfläche für Gnome-Desktops.

Ein für das PAM-Modul (Pluggable Authentication Module) EncFS-pam [7] erlaubt es, ein EncFS-Verzeichnis beim Login automatisch einzubinden. Sie ersparen sich damit die Eingabe eines weiteren Passworts, jedoch auf Kosten der Sicherheit: Das Passwort zum Verschlüsseln eines Verzeichnisses mit EncFS muss dasselbe sein wie das System-Login-Passwort.

Eine bessere Alternative zu EncFS-pam gibt es zumindest für Gnome-Benutzer: Gnome EncFS [8] speichert EncFS-Passwörter in den Gnome-Keyring und ermöglicht damit (optional) auch das Einbinden von EncFS-Verzeichnissen beim Login.

Ausblick

EncFS gibt es nicht nur für Linux, es existieren auch Ableger für Windows und Mac OS X. Somit stellt es keinerlei Problem dar, wenn Sie Daten über die Betriebssystemgrenzen hinweg verschlüsselt austauschen möchten. Sie verschlüsseln beispielsweise Ihren Dropbox-Ordner oder ein Verzeichnis auf der externen Festplatte mithilfe von EncFS und können diese trotzdem auf allen Plattformen nutzen.

Das Projekt Encfs4win [9] erlaubt es, EncFS unter Windows zu nutzen. Die Installation der Verschlüsselungssoftware unter Mac OS X übernimmt der Paketmanager Homebrew (brew install encfs). Darüber hinaus haben Apple-Jünger auch noch die Möglichkeit, mit EncFSVault [10] das von Apple mitgelieferte FileVault zu ersetzen. 

Alternative eCryptFS

Eine EncFS sehr ähnliche Methode zum Verschlüsseln von Daten bietet eCryptFS [12]. Der wesentliche Unterschied zu EncFS stellt die Implementierung im Kernel-Space dar: Dadurch muss eCryptFS nicht auf FUSE zurückgreifen und arbeitet potenziell etwas schneller. Dadurch leidet freilich die Portabilität: Während EncFS auch für Mac OS X und Windows bereitsteht, beschränkt sich eCryptFS zurzeit im Wesentlichen auf Linux.

Das Einrichten von eCryptFS verläuft unter den meisten Distributionen ähnlich trivial wie jenes von EncFS. Stellen Sie sicher, dass das Kernel-Modul ecryptfs geladen und dass das Paket ecryptfs-utils installiert ist. Für das Einrichten eines verschlüsselten Ordners verwenden Sie das Kommandozeilenprogramm ecryptfs-setup-private. Auch das komplette Heimatverzeichnis verschlüsseln Sie bei Bedarf eCryptFS.

Zusätzliche Hilfsprogramme, die bereits existierende unverschlüsselte Verzeichnisse konvertieren, erleichtern den Einstieg in eCryptFS. Benutzer von Ubuntu legen bereits bei der Installation fest, ob Sie das Heimatverzeichnis komplett mit eCryptFS verschlüsseln möchten.

Der Autor

Thilo Uttendorfer leitet die Entwicklungsabteilung der Linux Information Systems AG in München. Sie erreichen ihn auf Twitter unter @sengaya.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 02/2014 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben