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.conf
Mettre 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 restart
systemctl 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