EncFS

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Installation von Programmen

  2. Ein Terminal öffnen

  3. Rechte für Dateien und Ordner ändern

  4. Menüeintrag

  5. Tastenkombination mit xbindkeys

  6. Pakete aus dem Quellcode erstellen

Inhaltsverzeichnis
  1. Installation
  2. Verwendung
    1. Terminal
      1. Neues verschlüsseltes Verzeichnis anle...
      2. Verzeichnis aushängen
      3. Verzeichnis einhängen
      4. Nützliche Befehlsoptionen
      5. Beispielskript
    2. Gnome Encfs Manager
    3. KDE
  3. Problembehebung
    1. Passwort ändern
    2. Fehlermeldung, z.B. "Keine Berechtigung"...
  4. Links
    1. intern
    2. extern

encfs-combo-400-full.jpg EncFS 🇬🇧 (Encrypted Filesystem) ist eine Verschlüsselungserweiterung für Unix-artige Dateisysteme, es gibt aber auch eine experimentelle Version 🇬🇧 für Windows. Mit EncFS kann ein Benutzer ohne Root-Rechte innerhalb kürzester Zeit und ohne großen Aufwand vertrauliche Dateien schützen. Diese werden in versteckten und verschlüsselten Ordnern abgelegt, die mit Passwörtern gegen einen unbefugten Zugriff geschützt sind und vor Benutzung erst eingebunden werden müssen.

Der einfachen Handhabung steht allerdings auch ein Nachteil gegenüber: Im Vergleich mit anderen Verschlüsselungslösungen ist EncFS relativ langsam. Mit der Möglichkeit, den verwendeten Ordner nach einer gewissen Zeitspanne der Inaktivität automatisch abzumelden, besitzt das Programm aber ein Alleinstellungsmerkmal.

Achtung!

Laut EncFS Security Audit 🇬🇧 vom 14.01.2014 enthält EncFS in der Version 1.7.4 einige potentielle Schwachstellen. Das Fazit der Prüfung: EncFS ist wahrscheinlich noch sicher, solange ein potentieller Angreifer nur (genau) eine Version der verschlüsselten Daten erhält, wie z.B. bei Diebstahl oder Verlust eines Datenträgers. Kann ein potentieller Angreifer allerdings mehr als eine Version der verschlüsselten Daten einsehen, ist EncFS laut der Sicherheitsprüfung nicht mehr geeignet. Die verbreitete Verwendung von EncFS zur Verschlüsselung von Daten in der Cloud ist ein solcher Risikofall.

Stand Juli 2019: Sieben von zehn im Audit aufgezeigten Schwachstellen sind im EncFS-Bugtracker bis heute offen (Übersicht 🇬🇧) und für eine irgendwann geplante Version 2.0 zurückgestellt. Die aktuelle Version ist 1.9.5 aus April 2018 (Changelog 🇬🇧). Der Entwickler wies im August 2017 darauf hin 🇬🇧, keine Zeit für größere Änderungen zu haben, und äußerte sich positiv zu dem von EncFS inspirierten Projekt gocryptfs 🇬🇧.

Installation

Folgendes Paket muss installiert [1] werden:

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install encfs 

sudo aptitude install encfs 

Anschließend den aktuellen Benutzer zur Gruppe fuse hinzufügen. Dies geschieht z.B. in einem Terminal [2]:

sudo gpasswd -a $USER fuse
newgrp fuse 

Verwendung

Terminal

Die Benutzung von EncFS im Terminal ist schnell und einfach an einem kleinen Beispiel erläutert.

Neues verschlüsseltes Verzeichnis anlegen

Mit folgendem Befehl erstellt man ein neues verstecktes Verzeichnis ~/.foobar, in dem die verschlüsselten Daten liegen sollen und ein weiteres Verzeichnis, das als Mountpoint dient. Das verschlüsselte Verzeichnis wird anschließend automatisch eingehängt und der Zugriff erfolgt über den Ordner ~/foobar. Die Verschlüsselung erfolgt dabei "direkt", d.h. sobald eine Datei in den Zugriffsordern (im obigen Beispiel also ~/foobar) kopiert wird, wird diese verschlüsselt und erscheint im versteckten Verzeichnis (im obigen Beispiel ~/.foobar).

encfs ~/.foobar ~/foobar 

Um die beiden Verzeichnisse ~/.foobar und ~/foobar zu erstellen, zweimal mit Y bestätigen (auch wenn man in der deutschen Version dazu aufgefordert wird J zu drücken! Siehe Beitrag im Forum).

Anschließend kann man zwischen "Experten-Modus", "Paranoia-Modus" und "Standard-Modus" wählen:

Bitte wählen Sie eine der folgenden Optionen:
 "x" für den Experten-Modus,
 "p" für den vorkonfigurierten Paranoia-Modus,
 etwas anderes oder eine Leerzeile wählt den Standard-Modus.
?>

"Standard-Modus" und "Paranoia-Modus" bitten lediglich um die Eingabe eines Passworts, wobei der Paranoia-Modus eine etwas stärkere Verschlüsselung und einige zusätzliche Sicherheitsfeatures bietet. Der "Experten-Modus" erlaubt den weiter fortgeschrittenen Benutzern die Art der Verschlüsselung zu wählen sowie diverse weitere Optionen zu konfigurieren.

Nach zweimaliger Eingabe des Passworts werden die Verzeichnisse dann erstellt und gemountet. Das eingehängte Verzeichnis sollte nun auf dem Desktop angezeigt werden. Ist dies nicht der Fall oder ist kein Desktop installiert, kann der Befehl

mount | grep "encfs" 

zur Erfolgsüberprüfung genutzt werden [2]. Es sollte folgende Zeile zu sehen sein:

encfs on /home/USER/foobar type fuse.encfs (rw,nosuid,nodev,default_permissions,user=USER)

Verzeichnis aushängen

EncFS nutzt das FUSE Kernel-Modul zum Ein- und Aushängen von Verzeichnissen. Daher werden diese mit folgendem Befehl ausgehängt:

fusermount -u ~/foobar 

Nun ist das Verzeichnis ~/foobar wieder leer.

Verzeichnis einhängen

Verzeichnisse werden mit dem selben Befehl eingehängt, mit dem sie auch neu erstellt werden:

encfs ~/.foobar ~/foobar 

Nach der Eingabe des Passworts ist das Verzeichnis wieder unter ~/foobar eingehängt.

Nützliche Befehlsoptionen

Wie jede Shell-Applikation bietet auch EncFS diverse nützliche Befehlsoptionen:

nützliche Befehlsoptionen
Option(en) Beschreibung
-i n oder --idle=n Diese Option ist vor allem bei der Verwendung von EncFS in Shell-Skripten sehr nützlich. Da das Verzeichnis nach n Minuten der Inaktivität aushängt wird, braucht man nicht zu befürchten, dass es einem unter dem Hintern weg gezogen wird, während man gerade darin arbeitet. Es ist daher empfehlenswert, diese Befehlsoption möglichst immer zu nutzen, um maximale Sicherheit zu gewährleisten.
--public verhält sich wie ein normales Mehrbenutzer-Dateisystem (EncFS muss als root aufgerufen werden)
-v oder --verbose gibt Debug-Nachrichten aus
--extpass=... Passworteingabe über ein externes Programm, z.B. mit Zenity
--extpass="zenity --entry --hide-text --text 'Bitte geben Sie das Passwort ein:' --title Passwort-Eingabe"
-o allow_other Option für FUSE, um anderen Benutzern Zugriff auf die entschlüsselten Daten zu geben. Weitere Infos siehe Problembehebung.

Beispielskript

Dieses Skript legt man als Administrator (mit Root-Rechten) im Ordner /usr/local/bin/ ab. So steht jedem Benutzer auf dem System über den Befehl crypton.sh ein verschlüsseltes Verzeichnis zur Verfügung:

1
2
3
4
#!/bin/bash
# Name        : crypton.sh
# Description : User script for creating and mounting encfs directories in ~/
encfs -i 1 $HOME/.encfs $HOME/encfs

Gnome_Encfs_Manager.png

Gnome Encfs Manager

Eine weitere grafische Oberfläche stellt der Gnome Encfs Manager 🇬🇧 zur Verfügung. Ein- und Aushängen kann man Verzeichnisse über ein Symbol im Benachrichtigungsfeld oder den Verwalter. Besonders besticht das Programm durch die einfach Bedienung und die Fähigkeit, Verzeichnisse einzuhängen, sobald sie verfügbar sind. So kann bspw. ein verschlüsseltes Verzeichnis auf einem USB-Stick automatisch eingehängt werden, sobald dieser mit dem Rechner verbunden wird. Außerdem werden die Passwörter auf Wunsch im Gnome Schlüsselbund gespeichert.

Adresszeile zum Hinzufügen des PPAs:

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung des Eigentümers/Teams gencfsm zu entnehmen.

Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install gnome-encfs-manager 

sudo aptitude install gnome-encfs-manager 

KDE

Es gibt mit Plasma Vault eine offizielle Lösung zur Einbindung verschlüsselter Ordner. Neben EncFS kann Plasma Vault zur Zeit mit CryFS umgehen.

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install plasma-vault 

sudo aptitude install plasma-vault 

Problembehebung

Passwort ändern

Mit dem Befehl

encfsctl passwd ~/.foobar 

kann man das Kennwort der verschlüsselten Ordners ändern. Weitere Informationen enthält die Manpage zu encfsctl.

Fehlermeldung, z.B. "Keine Berechtigung"

EncFS basiert auf FUSE, wobei per Default nur der aktuelle User Zugriff auf die entschlüsselten Daten hat. Sollen andere User oder aber auch anderer Prozesse wie Samba oder TrueCrypt Zugriff auf die entschlüsselten EncFS Daten haben, muss die FUSE Option -o allow_other in der encfs Befehlszeile mit angegeben werden. Vorraussetzung hierfür ist eine vorherige Änderung der /etc/fuse.conf wie im Artikel FUSE Optionen genau beschrieben wird.

Beispiel für einen encfs Befehl mit der FUSE Option allow_other:

encfs -o allow_other ~/.foobar ~/foobar 

Fehlt diese Option, bekommt man eine Fehlermeldung, beispielsweise "Keine Berechtigung" oder "Error: Permission denied:".

Die Fehlermeldung erscheint auch, wenn sich der Stash auf einem verschlüsselten Heimverzeichnis befindet und vor einem Logout/Login ohne Neustart nicht ausgehängt wird.

intern

extern