Accéder en webdav à son fichier Keepass
Keepass est un gestionnaire de mot de passe que j'utilise personnellement et professionnellement. Il permet notamment de partager un coffre fort entre plusieurs personne en offrant un support pour ftp et http/webdav. Certains plugins ajoutent le support sftp et ftps.
Sur CentOS, apache est livré avec le module webdav …
Keepass est un gestionnaire de mot de passe que j'utilise personnellement et professionnellement. Il permet notamment de partager un coffre fort entre plusieurs personne en offrant un support pour ftp et http/webdav. Certains plugins ajoutent le support sftp et ftps.
Sur CentOS, apache est livré avec le module webdav. Ce n'est pas forcement le cas de toutes les distributions.
La configuration utilisée est la suivante :
- Un sous domaine créé pour contenir le fichier kdbx
- une protection par mot de passe pour l'accès au fichier en lui même (anciennement .htaccess)
- L'autorisation d'accéder au sous domaine en webdav
- Et enfin, un mot de passe ultra solide pour le fichier kdbx qui peut contenir des données sensibles.
Dans mon cas, j'ai utilisé un sous domaine du type keepass.domain.tld et le fichier est stocké en local sur le serveur sous /var/www/keepass/
root# mkdir /var/www/keepass root# chown apache. /var/www/keepass root# chmod 770 /var/www/keepass root# vim /etc/httpd/conf.d/keepass.conf
Pour ne pas que le mot de passe passe en clair sur le net, nous allons forcer l'utilisation de https
<VirtualHost *:80> ServerName keepass.domain.tld ServerAdmin admin@domain.tld Redirect permanent / https://keepass.domain.tld/ ErrorLog /var/log/httpd/keepass.err CustomLog /var/log/httpd/keepass.log combined DocumentRoot /var/www/keepass </VirtualHost> <VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/pki/tls/certs/ca.crt SSLCertificateKeyFile /etc/pki/tls/private/ca.key ServerName keepass.domain.tld ServerAdmin admin@domain.tld ErrorLog /var/log/httpd/keepass.err CustomLog /var/log/httpd/keepass.log combined DocumentRoot /var/www/keepass <Directory "/var/www/keepass"> DAV On SSLRequireSSL Options None AuthType Basic AuthName WebDAV AuthUserFile /etc/httpd/conf/.htpasswd <LimitExcept GET OPTIONS> Order allow,deny Allow from X.X.X.X #IP que vous autorisez, 'all' pour tout le monde Require valid-user </LimitExcept> </Directory> </VirtualHost>
Voici les étapes pour la création du fichier .htpasswd
root# htpasswd -c /etc/httpd/conf/.htpasswd NomUtilisateur root# /etc/init.d/httpd restart
Il ne reste plus qu'à placer le fichier kdbx dans /var/www/keepass et donner à apache les droits en écriture sur ce fichier.
Enfin, dans Keepass en ouvrant une url, le logiciel demande de fournir l'URL et si besoin un couple login/mdp.
L'URL sera de type https://keepass.domain.tld/fichier.kdbx et le couple login/mdp est celui créé lors de l’exécution de la commande htpasswd