UNIXwork

dav Konfiguration

12. September 2017

Über die Datei $HOME/.dav/config.xml kann dav konfiguriert werden. Auf diese Weise können Server-Verbindungsinformationen, Proxy-Einstellungen und die AES-Verschlüsselung konfiguriert werden, wobei letzteres Thema eines anderen Artikels ist.

Die config.xml Datei wird sowohl von dav als auch dav-sync verwendet, es funktioniert jedoch nur dav auch komplett ohne Konfigurationsdatei. Es sind dann jedoch nicht alle Funktionen nutzbar.

Repository

Das Wichtigste, was konfiguriert werden kann, sind Repositories. Ein Repository ist ein WebDAV-Verzeichnis, dem man einen eindeutigen und vorzugsweise kurzen Namen gibt. Über diesen Namen kann man dann darauf einfach zugreifen, wobei dann alle Repository-Einstellungen verwendet werden.

Die minimalen Einstellungen, die ein Repository benötigt, sind der Name und die URL. Am einfachsten legt man die Konfiguration mit dem Befehl dav add-repository an. Dies startet einen kleinen Assistenten, der das Nötige abfragt. Es können dabei optional auch der Benutzername und das Passwort für die Authentifizierung angegeben werden.

$ 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): 

Die config.xml Datei sieht dann so aus:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
	<repository>
		<name>myfirstrepo</name>
		<url>https://mynas.local/webdav</url>
		<user>mywebuser</user>
		<password>MTIzNDU2Nzg=</password>
	</repository>
</configuration>

Wenn kein Benutzer für das Repository konfiguriert ist, fragt dav den Benutzer und das Passwort beim Zugriff ab. Wenn ein Benutzer angegeben ist, jedoch kein Passwort, dann wird nur nach dem Passwort gefragt. Das Passwort muss base64-kodiert in der Datei gespeichert sein.

Desweiteren können für ein Repository noch die HTTP-Authentifizierungsmethoden und TLS konfiguriert werden.

Für die Authentifizierungsmethoden gibt es das Element <authmethods>, welches innerhalb des <repository>-Elements angegeben werden kann. Standardmäßig verwendet dav nur HTTP Basic Authentication. Es können jedoch auch weitere von libcurl unterstützte Authentifizierungsmethoden verwendet werden. Man gibt bei dem <authmethods>-Element einfach eine mit Space getrennte Liste der Methoden an. Mögliche Werte sind: basic, digest, negotiate, ntlm, any, none

Eine Beispielkonfiguration wäre dann:

<repository>
	...
	<authmethods>basic digest ntlm</authmethods>
</repository>

Für die TLS-Konfiguration gibt es Elemente um Zertifikate einzubinden, bestimmte TLS-Versionen zu forcieren und die Verifikation von Zertifikaten zu deaktivieren.

Zertifikate angeben kann man mit dem <cert>-Element. Als Wert gibt man einen Pfad zu einer *.pem Datei an. Die dort enthaltenden Zertifikate werden dann verwendet, um die TLS-Verbindung zum Server des Repositories zu verifizieren.

Beispiel:

<repository>
	...
	<cert>/etc/certs/cabundle.pem</cert>
</repository>

Die TLS-Version kann mit dem Element <ssl-version> ausgewählt werden. Mögliche Werte sind: TLSv1, TLSv1.0, TLSv1.1, TLSv1.2, SSLv2, SSLv3. Per default verwendet dav die TLS-Version, die auch standardmäßig von libcurl verwendet wird. Je nachdem, wie aktuell libcurl ist, ist SSLv2 und SSLv3 deaktiviert und müsste daher mit dem Element erst aktiviert werden, falls es benötigt wird.

Beispiel:

<repository>
	...
	<ssl-version>TLSv1.2</ssl-version>
</repository>	

Die Verifizierung von TLS-Zertifikaten kann mit dem <verification>-Element deaktiviert werden. Bei dav gibt es dafür auch die -i Option. Es versteht sich von selbst, dass dies keine empfohlene Einstellung ist.

Beispiel:

<repository>
	...
	<verification>false</verification>
</repository>

Proxy

Wer dav durch einen Proxy verwenden will, kann dafür entweder die HTTP_PROXY bzw HTTPS_PROXY Umgebungsvariable verwenden, oder den Proxy in der config.xml Datei konfigurieren. Innerhalb des XML-Root-Elements fügt man dafür ein <http-proxy> oder <https-proxy> Element ein.

Ein Proxy benötigt mindestens eine URL. Diese gibt man mit dem <url>-Element an.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
	<http-proxy>
		<url>http://proxyserver/</url>
	</http-proxy>
	
	...
</configuration>

Benötigt der Proxy Authentifizierungsinformationen, müssen diese mit den <user> und <password> Elementen angegeben werden. Das Passwort muss auch hier base64-kodiert sein.

<http-proxy>
	<url>http://proxyserver/</url>
	<user>myproxyuser</user>
	<password>MTIzNDU2Nzg=</password>
</http-proxy>

Des weiteren können auch Hosts angegeben werden, für die kein Proxy verwendet werden soll. Hierfür verwendet man das <no> Element.

<http-proxy>
	<url>http://proxyserver/</url>
	<user>myproxyuser</user>
	<password>MTIzNDU2Nzg=</password>
	<no>host1, host2, host3</no>
</http-proxy>
Autor: Olaf | 0 Kommentare | Tags: dav

Kommentare


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