thinkretro.de

Dez 11, 2014

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.

Okt 20, 2013

DynDNS mit ddclient

Seitdem ich meinen Raspberry Pi habe spiele ich ein wenig mit dem Thema SSH herum. Da ich aber alle 24 Stunden von meinem ISP eine neue IP-Adresse bekomme, bin ich auf einen der vielen DynDNS Dienste angewiesen um meinen Rapi von überall zu erreichen. Meine Wahl fiel aus unterschiedlichen Gründen auf selfhost.de; mit dem ich bis auf die monatliche Account Validierung eigentlich sehr zufrieden bin. Fehlt nur noch ein Programm für den automatischen Abgleich. Dabei fiel meine Wahl auf "ddclient", welches sich unter Debian ganz einfach aus den Paketquellen installieren lässt.

Während der Installation wird man nach den jeweiligen Zugangsdaten gefragt; man kann diese aber auch nach der Installation in der Konfigurationsdatei "/etc/ddclient.conf" editieren. Für selfhost.de sieht das Ganze dann so aus:

    protocol=dyndns2
    use=web, web=checkip.dyndns.org
    server=carol.selfhost.de
    login=xxx
    password='xxx'
    beispieldomain.selfhost.bz

Darüber hinaus gibt es eine zweite Datei "/etc/default/ddclient", die das Programm selbst steuert. Damit ddclient als Daemon im Hintergrund ausgeführt wird, stellt man dort den Wert für "run_daemon" auf "True" und kann bei "daemon_interval" noch den Updateintervall (in Sekunden) einstellen.

Jun 04, 2013

NAS Freigaben mit autofs automatisch einbinden

Wer kennt das nicht, wenn die eigene Rechnersammlung mehr als einen Computer umfasst verteilen sich die eigenen Dateien auch auf mehrere Rechner. So stellte sich zumeist bei mir die Frage, auf welchem Exemplar liegt denn nun die aktuelleste Datei die ich suche? Ein unerträglicher Zustand, dem schleunigst Abhilfe geleistet werden musste :-) . Also habe ich vor ein paar Monaten ein paar Kröten in die Hand genommen und mir eine dieser NAS-Systeme zugelegt, die ja seit geraumer Zeit ziemlich en vogue sind in deutschen Haushalten :-)

So eine NAS hat schon gewaltige Vorteile. Als Fileserver stellt es z.B. im Heimnetzwerk zentral Speicherplatz für alle zur Verfügung und jeder kann auf jede Datei (entsprechende Zugriffsrechte vorausgesetzt) zugreifen.

Ein praktisches Tool um solche Freigaben nun im eigenen Dateisystem einzubinden stellt "autofs" dar. Mittels "apt-get install autofs" lässt sich dieses recht einfach aus den Paketquellen installieren (Root-Rechte natürlich vorausgesetzt :-)).

Als ersten Schritt legt man eine neue Datei z.B. mit dem Namen "auto.nas" im Ordner "/etc" an. In diese trägt man nun untereinander seine gesamten Freigaben ein; bspw: "music -fstype=cifs,uid=1000,credentials=/home/marcel/.smbcredentials ://xxx.xxx.xxx.xxx/music" (xxx.xxx.xxx.xxx ist die IP-Adresse der NAS). Da wir ungern unsere Zugangsdaten in dieser Datei ablegen wollen (wo sie im Prinzip von jedermann gelesen werden können), legen wir zugleich im Home-Verzeichnis eine versteckte Datei ".smbcredentials" an. In diese trägt man folgendes ein: "user=xxxx, password=xxxx". Und das war es im Wesentlichen schon.

Als nächsten Schritt legt man sich im Ordner seiner Wahl einen entsprechenden Ornder an, in welchem die Freigaben dann eingebunden werden sollen; z.b. "mkdir /media/nas".

Als letzter Schritt muss unsere Datei "auto.nas" noch in der ebenfalls im Ordner "/etc" befindlichen Datei "auto.master" eingetragen werden. Dort fügt man einfach die Zeile: "/media/nas /etc/auto.nas --ghost" ein. "/media/nas" bezeichnet dabei den Einhängepunkt für die unsere Freigaben. "--ghost" bewirkt, dass die Freigaben tatsächlich erst eingebunden werden, wenn man auf den entsprechenden Ordner zugreift.

Nun noch ein "service autofs restart" durchführen und schon (sollte) das Ganze funktionieren.

Alternativ kann man das auch über die Datei "etc/fstab" regeln. Bei mir hatte das aber zu dem unschönen Effekt geführt, dass der Shutdown ewig lange gedauert hat, wenn ich nicht vorher alle Freigaben unmounted habe.