UNIXwork

dav secret store

16. December 2019

Eines der neuen Features in dav 1.3 ist der Secret-Store. Dieser bietet eine alternative Methode um Authentifizierungsdaten zu speichern. Bisher war es nur möglich, in der config.xml optional Benutzer und Passwort abzulegen. Dies hat natürlich den Nachteil, dass das Passwort damit im Klartext abgespeichert ist.

Der Secret-Store ist eine passwortgeschützte Ablage für Credentials, die durch eine eindeutige ID identifiziert werden. Credentials enthalten dann einen Benutzernamen, ein Passwort und optional zugehörige URLs. Die Credential-IDs und URLs werden unverschlüsselt gespeichert. Damit kann dav überprüfen, ob für eine angefragte URL Zugangadaten im Secret Store vorhanden sind. Wenn dies der Fall ist, wird nach dem Master-Passwort gefragt. Mit diesem wird der Secret-Store dann entschlüsselt und die gespeicherten Zugangsdaten passend zur URL verwendet.

Für die Verwaltung des Secret Store gibt es mehrere Befehle. Neue Credentials können mit dav add-user angelegt werden. Dies fragt zunächst das Master-Passwort ab, um entweder einen bestehenden Secret Store zu entschlüsseln oder um einen neuen anzulegen. Danach muss ein Credentials Identifier angegeben werden, der eindeutig sein muss. Es folgen die eigentlichen Authentifizierungsinformationen, nämlich Benutzername und Passwort. Optional können dazu noch mehrere Locations gespeichert werden.

$ dav add-user
Master password: 
Credentials identifier: user1
User: myuser
Password: 
Location (optional): http://example.com/
Location (optional):

Wenn danach nun eine der angegebenen URLs aufgerufen wird, werden die im Secret Store gespeicherten Authentifizierungsinformationen genutzt. Hierfür fragt dav nach dem Secret Store Passwort:

dav list http://example.com/
Master password:
...

Dies funktioniert auch, wenn man nicht direkt über eine URL, sondern einen Repository-Namen zugreift. Wenn für die Repository-URL im Secret-Store Credentials hinterlegt sind, werden diese genutzt. Es kann auch im Secret-Store als Location ein Repository-Name oder ein Repository-Name mit zugehörigen Pfad gespeichert werden.

Location (optional): myrepo/path/

Eine weitere Möglichkeit um Repositories mit Credentials zu verknüpfen ist, in der config.xml die Credentials-ID anzugeben. Hierfür gibt es das Element <stored-user>.

<repository>
    <name>myrepo</name>
    <url>http://example.com/webdav/</url>
    <stored-user>user1</stored-user>
</repository>

Weitere Befehle Administrations-Befehle für den Secret-Store sind remove-user, edit-user und list-users. Diese sind interaktive Befehle (bis auf list-users) und dürften einfach zu benutzen sein, wenn man das Konzept des Secret-Stores verstanden hat.

Autor: Olaf | 0 Kommentare | Tags: dav

Kommentare


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