UNIXwork

Dateien verschlüsselt synchronisieren mit dav-sync

02. Dezember 2017

Dieser Artikel ist ein Step-by-step Howto für die Einrichtung von dav-sync mit aktivierter Verschlüsselung.

1. Repository konfigurieren

Zuerst erstellen wir ein Repository mit Hilfe des add-repository Befehls von dav. Wichtig ist, dass wir dabei auch Benutzername und Passwort angeben, da dav-sync Authentifizierungsinformationen benötigt und diese nicht zur Laufzeit vom Benutzer abfragt.

$ dav add-repository
Each repository must have an unique name.
name: myfirstrepo

Specify the repository base url.
url: https://mynas.local/webdav

User for HTTP authentication.
user (optional): mywebuser
password (optional): 

2. Key erstellen und konfigurieren

Als nächstes benötigt man einen AES-Key. Diesen erstellen wir aus zufälligen Daten mit Hilfe von dd:

mkdir -p ~/.dav/keys
dd if=/dev/random of=~.dav/keys/mykey bs=32 count=1

Dann muss in der Datei $HOME/.dav/config.xml nur noch ein Eintrag für den Key hinzugefügt werden.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
	...

	<key>
	    <name>mykey</name>
	    <type>aes256</type>
	    <file>keys/mykey</file>
	</key>
</configuration>

3. Verschlüsselung für das Repository aktivieren

Wärend man mit dem Tool dav die Verschlüsselung per Kommandozeilenoption an- und abschalten kann, benutzt dav-sync immer die Default-Einstellungen des Repositories. Daher muss für das Repository die Verschlüsselung standardmäßig aktiviert sein und ein Default-Key muss angegeben werden. Hierfür fügt man innerhalb des <repository>-Elements das <full-encryption> und <default-key>-Element hinzu:

<repository>
	...
	<full-encryption>true</full-encryption>
	<default-key>mykey</default-key>
</repository>

3. Sync-Directory erstellen

Letztendlich benötigt man noch die eigentliche Konfiguriation für dav-sync. Mit dem Befehl add-directory von dav-sync erstellen wir die Konfiguration für ein Sync-Directory. Dabei gibt man dann das Repository mit aktivierter Verschlüsselung an:

$ dav-sync add-directory
Each sync directory must have an unique name.
name: mysyncdir
Enter local directory path.
path: $HOME/important_files
Specify webdav repository.
0) myfirstrepo
1) anotherrepo
repository: 0
Enter collection relative to the repository base url.
collection (default: /): /important_files

Fertig. Für den Benutzer ändert sich an der Bedienung von dav-sync dann nichts. Man kann ganz wie gewohnt mit pull/push seine Dateien synchronisieren, nur dass sie dann verschlüsselt auf dem Server liegen.

Autor: Olaf | 0 Kommentare | Tags: dav, sync

Kommentare


Name
Webseite (optional)
Captcha: 3x=12   x=?
Kommentar