Dez 11, 2014
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
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
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.