Cet article décrit la mise en place d’un gestionnaire de mot de passe (Keeweb) en intranet, utilisant des bases de données chiffrées .kdbx (généré par Keepass v2).
Prérequis :
- Des connaissances de base sur Debian ;
- Une distribution Debian 10 à jour ;
- Les droits root de celle-ci .
Installation :
1_Configuration du Proxy :
nano /etc/apt/apt.conf.d/02proxy
Et mettre ceci:
Acquire::http::Proxy "http://proxy.entreprise:8080";
2_Installation de Apache2 :
apt install apache2
3_Création d’un dossier sécurisé pour Apache (sans les crochets) :
htpasswd -c /etc/apache2/.htpasswd [nom user]4_Activation du Serveur Webdav :
a2enmod dav_fs
5_Création du dossier nécessaire à WebDav :
mkdir /var/www/webdav chown www-data:www-data /var/www/webdav chmod 700 /var/www/webdav
6_Création du fichier .conf du Webdav :
nano /etc/apache2/sites-available/webdav.conf
Et mettre ceci:
Alias /webdav "/var/www/webdav" <Directory "/var/www/webdav"> DAV On Options Indexes </Directory>
7_Activation du site Webdav :
a2ensite webdav.conf systemctl reload apache2
8_Installation du git pour copie KeeWeb:
apt install git
9_Autoriser le git à passer le proxy:
git config --global http.proxy "http://proxy.entreprise:8080/";
10_Copie de KeeWeb (créé automatiquement un dossier dans /var/www/) :
cd /var/www/ git clone -b gh-pages https://github.com/keeweb/keeweb.git
11_Création du certificat auto-signé :
mkdir /etc/apache2/ssl mkdir /etc/apache2/ssl/certs cd /etc/apache2/ssl/certs/ openssl genrsa -out keeweb.key 2048 openssl req -new -x509 -sha256 -days 3650 -key keeweb.key -out keeweb.crt
12_Création et configuration du .conf de Keeweb:
nano /etc/apache2/sites-available/keeweb.conf
Et mettre ceci:
<VirtualHost *:443>
Alias /keeweb "/var/www/keeweb"
DocumentRoot /var/www/keeweb
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/certs/keeweb.crt
SSLCertificateKeyFile /etc/apache2/ssl/certs/keeweb.key
</VirtualHost>13_Activation du site keeweb et du SSL:
a2enmod ssl a2enmod rewrite a2ensite keeweb.conf systemctl reload apache2
14_Configuration du html de keeweb :
cd /var/www/keeweb nano index.html
Chercher la ligne (Ctrl + W):
<meta name="kw-config" content="(no-config)">
Et la modifer en:
<meta name="kw-config" content="./config.json">
15_Créer le fichier config.json :
nano config.json
Et mettre ceci:
{
"settings": {
"theme": "hc",
"locale": "fr-FR",
"canOpen": false,
"canOpenDemo": false,
"canOpenSettings": false,
"canCreate": false,
"canImportXml": false,
"canRemoveLatest": false,
"canSaveTo": false,
"dropbox": false,
"webdav": false,
"gdrive": false,
"onedrive": false,
"expandGroups": false,
"listViewWidth": null,
"menuViewWidth": null,
"tagsViewHeight": null,
"autoSave": false,
"autoSaveInterval": 0,
"rememberKeyFiles": false,
"idleMinutes": 15,
"tableView": true,
"colorfulIcons": false,
"hideEmptyFields": false,
"lockOnCopy": false,
"lockOnOsLock": true,
"lockOnMinimize": true,
"skipOpenLocalWarn": false,
"skipHttpsWarning": false,
"demoOpened": false,
"fontSize": 1,
"tableViewColumns": null,
"cacheConfigSettings": true,
"generatorPresets": null
},
"files": [
{
"storage": "webdav",
"name": "test_MDP_Keeweb.kdbx",
"path": "https://10.xx.xx.110/webdav/MDP_Keeweb.kdbx"
}
]
}
Tableau récapitulatif des régalages possibles du fichier config,json :
16 – Sécurisation du Webdav :
nano /etc/apache2/sites-available/000-default.confMettre au tout debut :
DavLockDB /var/www/DavLock
Mettre ceci à la fin, juste avant </VirtualHost> :
<Directory /var/www/webdav> DAV On </Directory>
Puis exécutez ces commandes :
service apache2 restartsystemctl reload apache2
htdigest -c /etc/apache2/users.password webdav [nom user : "encore" webdav dans notre cas]
Retourner dans:
nano /etc/apache2/sites-available/000-default.conf
Ajoutez les lignes suivantes à la directive * Directory *:
AuthType Digest AuthName "webdav" AuthUserFile /etc/apache2/users.password Require valid-user
Cela devrait donc ressembler à ceci:

Et on valide:
a2enmod auth_digest service apache2 restart
17_Importation d’un fichier .kdbx :
Il suffit pour cela de créer une nouvelle base de donnée avec le logiciel Keepass 2, de renseigner un maximum de dossier/sous dossiers/mots de passe (car plus pratique sur keepass pour
la création de masse) et de l’importer (fichier .kdbx) directement à la racine du serveur Webdav.
Exemple sous W10
- Ouvrez l’explorateur de fichiers, cliquez sur « Ce PC » puis sur « Connecter un lecteur réseau ». Rentrer l’IP ou l’adresse du serveur, suivi de « \webdav » :
Une fenêtre d’authentification doit apparaitre, renseignez le login nécessaire.
Il ne reste plus qu’à déposer le fichier .kdbx directement à la racine, et de modifier à l’étape 15 le nom du fichier dans le chemin de la dernière ligne:
« path »: « https://10.xx.xx.110/webdav/[Nomdufichier].kdbx«
18_Finalisation :
Il est désormais possible d’ouvrir le gestionnaire de mots de passe en utilisant l’adresse :
https://[IPduServeur]/keeweb
19_Recommandations :
+Navigateur: Il est plus que recommandé d’utiliser Firefox vis-à-vis de la certification auto-signée.
+Obligation: Si vous souhaitez renseigner de nouvelles entrées, groupes ou pièces jointes, il sera alors obligatoire de ne PAS être en mode de navigation privée car cela a pour conséquence l’impossibilité de synchroniser vos nouvelles modifications\entrées. MAIS peux être pratique si uniquement de la visualisation (évite donc les fausses manips).
+Bonnes pratiques:
- N’oubliez pas de verrouiller le gestionnaire ou votre session PC si vous en avez plus l’utilité (Raccourci : Ctrl + L )
- N’oubliez pas de sauvegarder si vous avez effectuée des modifications (Raccourci : Ctrl + S )
- Pour éviter la modification non-désiré d’un champ dans le gestionnaire, cliquez bien sur l’intitulé du champ et non la case.
Nous avons TOUS un accès « Admin » au gestionnaire du moment ou l’on reçoit les accès. Comme tous le monde le sais: un grand pouvoir implique de grandes responsabilités…
Sources :
https://lanbugs.de/howtos/linux/keeweb-self-hosted-password-manager-with-apache2/
https://git.kaki87.net/KaKi87/tutorials/src/branch/master/how_to_self_host_keeweb
https://memo-linux.com/openssl-creation-certificat-auto-signe-hache-en-sha256-sur-2048-bits/



Merci pour ce tuto !
Une petite coquille dans la phrase « MAIS peux être pratique si uniquement de la visualisation » (il faut lire « peut’)…
Bonjour merci pour l’ensemble de tes articles.
En revanche pour ma part je passe mon tour :
https://keeweb.info/privacy-policy.html