[[Vorlage(Getestet, bionic )]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Rechte: Rechte für Dateien und Ordner ändern] [:Menüeditor: Menüeintrag] [:xbindkeys: Tastenkombination mit xbindkeys] [:Programme_kompilieren: Pakete aus dem Quellcode erstellen] }}} [[Inhaltsverzeichnis()]] [[Bild(encfs-combo-400-full.jpg,128,align=left)]] [https://vgough.github.io/encfs/ EncFS] {en} (Encrypted Filesystem) ist eine Verschlüsselungserweiterung für Unix-artige Dateisysteme, es gibt aber auch eine [http://members.ferrara.linux.it/freddy77/encfs.html experimentelle Version] {en} 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 [:mount: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. {{{#!vorlage Warnung Laut [https://defuse.ca/audits/encfs.htm EncFS Security Audit] {en} 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 ([github:vgough/encfs/issues/314:Übersicht] {en}) und für eine irgendwann geplante Version 2.0 zurückgestellt. Die aktuelle Version ist 1.9.5 aus April 2018 ([github:vgough/encfs/blob/master/ChangeLog:Changelog] {en}). Der Entwickler [github:vgough/encfs/issues/314#issuecomment-325095995:wies im August 2017 darauf hin] {en}, keine Zeit für größere Änderungen zu haben, und äußerte sich positiv zu dem von EncFS inspirierten Projekt [https://nuetzlich.net/gocryptfs/ gocryptfs] {en}. }}} Zur Alternative gocryptfs zu EncFS lese [:GoCryptFS:diesen Artikel]. = Installation = Folgendes Paket muss installiert [1] werden: {{{#!vorlage Paketinstallation encfs, universe }}} Anschließend den aktuellen Benutzer zur Gruppe `fuse` hinzufügen. Dies geschieht z.B. in einem Terminal [2]: {{{#!vorlage Befehl 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'''). {{{#!vorlage befehl encfs ~/.foobar ~/foobar }}} Um die beiden Verzeichnisse '''~/.foobar''' und '''~/foobar''' zu erstellen, zweimal mit [[Vorlage(Tasten, y)]] bestätigen (auch wenn man in der deutschen Version dazu aufgefordert wird [[Vorlage(Tasten, j)]] zu drücken! Siehe Beitrag im [post:3287667: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 {{{#!vorlage 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: FUSE Kernel-Modul] zum Ein- und Aushängen von Verzeichnissen. Daher werden diese mit folgendem Befehl ausgehängt: {{{#!vorlage befehl 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: {{{#!vorlage befehl 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: {{{#!vorlage Tabelle <-2 rowclass="titel">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:][[BR]]``--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 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: {{{#!code bash #!/bin/bash # Name : crypton.sh # Description : User script for creating and mounting encfs directories in ~/ encfs -i 1 $HOME/.encfs $HOME/encfs }}} [[Bild(Gnome_Encfs_Manager.png, 400, align=right)]] == Gnome Encfs Manager == Eine weitere grafische Oberfläche stellt der [https://moritzmolch.com/apps/gencfsm/ Gnome Encfs Manager] {en} 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:Gnome Schlüsselbund] gespeichert. [[Vorlage(PPA, gencfsm, ppa)]] {{{#!vorlage Paketinstallation gnome-encfs-manager, ppa, bis [:18.04:] }}} == 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. {{{#!vorlage Paketinstallation plasma-vault, universe }}} = Problembehebung = == Passwort ändern == Mit dem Befehl {{{#!vorlage Befehl encfsctl passwd ~/.foobar }}} kann man das Kennwort der verschlüsselten Ordners ändern. Weitere Informationen enthält die [:man: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:] 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:FUSE Optionen] genau beschrieben wird. Beispiel für einen encfs Befehl mit der FUSE Option '''allow_other''': {{{#!vorlage befehl 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. = Links = * [wikipedia:EncFS:] - Wikipedia * [uf_thread:148600:HOWTO: Encrypted directory with EncFS] {en} * [https://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2010/07/Dateiverschluesselung-mit-EncFS-und-Cryptkeeper Auf Knopfdruck sicher - Dateiverschlüsselung mit EncFS und Cryptkeeper] {de} - Artikel LinuxUser 07/2010 * [http://www.321tux.de/2010/04/encfs-verschluesselung-z-b-fuer-dropbox-ubuntu-one-inkl-skript/ EncFS-Verschlüsselung für Dropbox & Ubuntu One] {de} - verschlüsselte Ordner automatisch bei der GNOME-Anmeldung einbinden, Blogbeitrag 04/2010 * [https://www.ict.griffith.edu.au/anthony/info/crypto/encfs.hints Encrypted File System (micro-how-to)] {en} - Erweiterte Optionen erklärt, z.B. wie .encfs6.xml (Schlüssel-Datei) woanders ablegen * [https://defuse.ca/audits/encfs.htm EncFS Security Audit] {en} (Februar 2014) #tag: Sicherheit, Shell, Dateisystem, Verschlüsselung