Aller au contenu

[TUTO] Acceder, via les applications KeePass, à une BDD Keepass stockée sur votre NAS (WebDav)


Messages recommandés

Posté(e) (modifié)

Bonjour,

Je vous propose un petit tutoriel pour lier KeePass à votre NAS.

Objectif :

  • Paramétrer le NAS afin d'accéder à une base de donnée (BD) KeePass, stockée sur celui-ci (NAS)  et ce, de façon synchronisé entre tous vos appareils (Android KEEPASS, Windows ...).

 

Prérequis :

  • Être sur un compte administrateur,
  • Comprendre un minimum les différentes fonctions de votre NAS (Créer un certificat, créer un dossier partagé...),
  • Avoir pré-configuré votre NAS, notamment sur la sécurité du NAS, avec des tutoriels comme ceux de Fenrir ou Kawamashi (Pour le reverse proxy),
  • Avoir un NDD où avoir son DDNS (xxxxxxx.synology.me etc...),

Entre autre, ce tutoriel s'adresse à ceux qui ont finit les tutoriels cités précédemment, et qui peuvent accéder à leurs NAS en Reverse proxy ou via le ndd.fr:5001

 

 

Réglage du NAS : (avec un Compte administrateur)

Principales étapes

·        Mise en place paquet WebDav

·        Création d’un groupe et compte user KeePass

·        Gestions des permissions lecture/écriture

·        Création dossier partagé pour BD Keepass

·        Réglage pare-feu NAS + BOX (pour reverse proxy OU Sans reverse proxy)

·        Vérification fonctionnement

 

 

  • Télécharger le paquet WebDav Server
    • Activer https  (laisser port 5006 par défaut)

1.thumb.png.4ab9db2819bcafe01d5bb5692773f220.png

 

  • Créer un Groupe utilisateur
    • Créer un nouveau groupe « WebDav User »,
    • Passer l’étape des permissions pour le moment,
    • Choisir « Webdav server » dans Applications,

2.png.37be58270807166b150667f1d27e5c49.png

3.thumb.png.8ad13b6372798a6ccd484fde719faa1f.png

 

  • Créer un nouvel utilisateur : « KPass »,
    • Assigner cet utilisateur au groupe « WebDav User » uniquement ("user" est pas défaut et inchangeable btw),
    • Passer le choix des permissions pour le moment,
    • Cocher « WebDav server » dans application,

4.png.264d8449d506b6c790efb001e1ead105.png

 

  • Aller dans dossier partagé
    • Créer un nouveau dossier partagé « WebDav »
    • Créer un sous-dossier « KeePass »
    • Éditer paramètres dossier partagé WebDav
      • Dans Permissions > Utilisateurs locaux à Donner la permissions à KPass uniquement
      • Dans Permissions > Groupes locaux à Donner permissions à Admin et WebdavUser
      • Dans Permissions > Utilisateur système interne à Donner la permission Uniquement à Anonymous FTP/Presto/Webdav …

5.thumb.png.36c4484316072b2b0d1977865fb72c9c.png

6.thumb.png.3cc3e99b0890a49d3bf733df980de171.png

7.thumb.png.0f50969e004c6f7d2b48b94d2739e4cf.png

 

  • Éditer les permissions de l’utilisateur KPass

8.thumb.png.841a69eff30ba9ff53118132db69c862.png

 

  • Éditer les permissions du groupe WebDav User

9.png.72fc508c8e9a90017819012a49bca404.png

 

  • (Sans reverse proxy) Réglage Pare-Feu du NAS
    • Ouvrir le port 5006 (restreindre les IP source à la France, si pas besoin d’accéder à la BD KPass à l’étranger)

 

  • (reverse proxy) Réglage Pare-Feu du NAS
    • Si votre reverse proxy passe déjà par le  port 443, alors pas besoin de changer quoi que ce soit dans le pare-feu NAS

10.png.c0382cf7c40bfbd7421ae042fab850e3.png

 

 

  • Créer/Re-créer un certificat lets encrypt
    • Ouvrir les ports 80 et 443 sur votre BOX + sur le NAS, le temps de la création du certificat)
    • Rentrer le nom de domaine, rentrer les sous-domaines éventuels  et vérifier qu’il couvre bien le WebDav
      • (reverse proxy) Écrire le sous domaine webdav.ndd

11.png.78a5f5d86a3c95ea2d7360721294ca2e.png

 

  • (reverse proxy) Créer un reverse proxy pour le webdav folder

 

12.png.106a377457dfc2f2c2d0061195b90b69.png

 

 

  • Réglage pare-feu BOX :
    • (Sans reverse proxy) Ouvrir le  port 5006 sur la box
    • (Sans reverse proxy)   Créer la règle de redirection du port externe 5006 vers le port interne 5006 du NAS
    •  (reverse proxy) Ouvrir seulement le 443 sur la box + pas de règle supplémentaire.

13.thumb.png.da184aa4c23197f9300afe9b9a5fd17e.png

14.thumb.png.bb2ab6ed467d8934cfcb097236a9d943.png

(pour le port 5006; remplacer le "443" par "5006" sur les screens ci-dessus)

 

  • Vérifier l’accès du dossier via WebDav par Windows

15.png.10616126e7ee2e0264872927efe5b645.png

  •  
    • (Sans reverse proxy) Tester avec l’URL du dossier Webdav : https://ndd:5006/WebDav
    •  (reverse proxy) https://webdav.ndd/WebDav/

16.png.74dd689dbbec23d24dbe5767a097f227.png

17.png.302071ca54055b070fb448ee0ebc1b3f.png

  • Essayer d’enlever et de mettre des dossiers en drag & drop
    • Si ça fonctionne alors bravo !
    • Déposer votre BD Keepass dans le dossier KeePass qui est dans le dossier partagé WebDav

 

  • Ouvrir l’application keepass android ou windows
    • Ouvrir base depuis url…
    • Écrire https://ndd:5006/WebDav/KeePass/NOMBD.kdbx
    • Ou alors si Reverse proxy : https://webdav.ndd/WebDav/KeePass/NOMBD.kdbx

 

  • Se connecter avec le compte utilisateur keepass et vérifier que le compte n’a accès à rien à part le dossier partagé webdav

ENLEVER LE DROIT DE LECTURE/ECRITURE/CONSULTATION du compte  utilisateur Keepass dans l’application photoStation directement (à l'aide d'un compte admin)

Modifié par d4RSH
Posté(e)

Il faudrait corriger les url en remplaçant les synology.me par le ndd. On parle de ndd en début de tuto, il faut conserver le même format tout au long.

Perso, je ne passe par webdav pour keepass2android. J'utilise la version offline de ce dernier et je passe par DSCloud pour accéder à la base.

Posté(e)

J'ai corrigé les 2/3 trucs, et à moins d'une grosse coquille, je pense que ça restera comme ça de mon coté.

De toute façon, le tuto est trouvable sur un de mes post.

 

Je suis curieux du fonctionnement du mode offline, tu as un lien ?

 

Cdlt.

Posté(e)

Pas besoin de lien. Je me synchronise sur ma base avec DSCloud et j'utilise le fichier avec Keepass2Android. La version offline est la même que l'online sans les liens externes.

Posté(e)

Merci pour ce tuto.

 

Perso j'utilisais DScloud mais j'avais des soucis de synchronisation quand je faisais une modification de la base depuis mon téléphone Android et que la base était ouverte sur un autre PC. La nouvelle application Drive sur Android ne fonctionnait pas mieux.

Bon après j'ai peut-être pas su configurer les bonnes options de Keepass2Android...

 

Depuis que je suis sur WebDAV, tout marche nickel.

 

Envoyé de mon ONEPLUS A5000 en utilisant Tapatalk

 

 

 

 

Posté(e)
Bonjour,
j'utilise DS cloud et drive et ça marche au top.
C'est très simple à mettre en œuvre, quelques minutes.
Même si la base est ouverte et modifiée sur plusieurs périphériques en même temps ?

Je l'ai souvent ouverte sur mon pc du boulot, sur mon téléphone, parfois sur mon pc chez moi si je rentre entre midi et deux.

Alors pour peu qu'il y est une modification quelque part ça partait souvent en vrille avec des doublons de fichiers ou des écrasements de modifications.

De mon côté c'était le plus souvent les modifications sur téléphone qui posaient problème malgré différentes options testées.

Depuis, je suis passé à WebDAV avec un filtrage sur mes IP du boulot et de la maison.

Envoyé de mon ONEPLUS A5000 en utilisant Tapatalk

Posté(e)

La base se verrouille au bout de quelques minutes et lors  de la réouverture elle se synchronise.

Sinon sur pc un 'enregistrer' met les données à jour également.

Si je ne suis pas devant mon pc, je prends soin de déconnecter ma session et par la même keepass (pour éviter de laisser le coffre fort ouvert...).

 

Posté(e)

Sur PC, on peut paramétrer keepass pour qu'il enregistre chaque modification de la base.

Sur mobile, je ne sais pas si je suis le seul, mais les modifications ou ajouts sont pour ma part quasi inexistants. Quand il y en a, ils sont gérés par DS Cloud et donc synchronisés avec la base du NAS.

Posté(e)

Personnellement, malgré les bonnes pratiques de sécurité citées plus haut (verrouillage de keepass, etc...), avoir essayé différentes options, même ce schéma de synchronisation : https://keepass.info/help/kb/trigger_examples.html#dbsync
La synchronisation des modifications qui ont été faites depuis mon téléphone avec un "cloud syno" a toujours eu du mal à fonctionner.
Après, c'est vrai que mon utilisation est peut-être particulière :
- utilisation multi périphériques
- multi plateformes
- parfois en simultané (je partage la base avec ma femme, je peux faire des modifs sur 2 périphériques différents sur un court intervalle...)
WebDAV a l'avantage de bien géré tous les cas.

Envoyé de mon ONEPLUS A5000 en utilisant Tapatalk

Posté(e)

Certes, de plus je n'ajoute pas des log et mdp toutes les 5 mn depuis mes pc smartphones et tablettes...

C'est plus pour avoir disponibles mes id/mdp sur tout mes supports.

Tu dois en ajouter beaucoup et tout le temps, c'est pour quel type d'utilisation ces ajouts intensifs ?

Posté(e)
Certes, de plus je n'ajoute pas des log et mdp toutes les 5 mn depuis mes pc smartphones et tablettes...

C'est plus pour avoir disponibles mes id/mdp sur tout mes supports.

Tu dois en ajouter beaucoup et tout le temps, c'est pour quel type d'utilisation ces ajouts intensifs ?

J'ai quelques identifiants professionnels où il m'est imposé de modifier tous les X jours le mot de passe.

Il y a aussi mes 2 banques qui m'obligent à changer régulièrement de mot de passe toutes les X connexions (Grrr... Tout ça pour être restreint sur des mots de passe d'une simplicité enfantine ).

Puis les créations de compte, c'est pas tous les jours mais entre le pro et le perso ça peut aller vite.

Et j'oublie certainement des choses (enregistrement de clé API, licence et autres...).

Puis keepass étant très customisable, on peut faire pas mal d'actions avec (lancer une connexion TeamViewer ou SSH ou RDP vers un périphérique, lancer des applis ou des scripts en tout genre en double cliquant une entrée...).

Quand on additionne le tout je me retrouve finalement assez vite avec des modifs régulières.

 

Envoyé de mon ONEPLUS A5000 en utilisant Tapatalk

 

 

 

Posté(e) (modifié)

Petit retour d'expérience.

Ma base Keepass de référence est stockée sur mon NAS dans un dossier géré également par Drive.

J'y accède de diverse manière:

  • en WebDav sur SSL depuis mon lieu de travail
  • en SFTP depuis mon smartphone.
  • en SMB depuis mon réseau local (PC et tablette)
  • via le dossier partagé Drive sur le PC de ma mère (quand je passe faire du support informatique à domicile).

Tout cela fonctionne et se synchronise sans problème dans tous les sens. Sachant que dans Keepass, que ce soit la version Windows que la version Android, la fonction "enregistrer" est en fait une synchronisation bi-directionnelle il n'y a pas trop de risque de perdre une modif.

En outre, le fait que ma base soit stockée dans Syno Drive me fait implicitement bénéficier du versioning intégré ce qui permet un éventuel retour arrière rapide en cas de fausse manip.

Modifié par CoolRaoul
Posté(e)

Il y a un paquet qui s'appelle seulement "Drive" et l'autre le Drive/cloud de synology.😁

En faite je me demandais si pour clouder tes dossiers, tu utilisais un paquet "différent" de celui de Synology x)

Posté(e)
il y a 5 minutes, d4RSH a dit :

Il y a un paquet qui s'appelle seulement "Drive" et l'autre le Drive/cloud de synology

Le paquet que j'utilise se nomme seulement "Drive" mais il est bien de Synology aussi:

image.png.8b12fdaebce72ed2f8b400a82c294f1f.png

image.png.7084752628792757ee4c0e81858759bd.png

Je ne connais pas ce "Drive/Cloud" 

  • 6 mois après...
Posté(e) (modifié)

Merci pour ce super tuto !

Tout est synchro entre les postes windows et le mobile android .

Une info qui peut servir à certains:

Il m'a été impossible de mapper un lecteur WebDav en saisissant https://webdav.ndd.fr/WebDav, en revanche c'est passé direct en entrant \\webdav.ndd.fr\WebDav.

Donc :

net user K: \\webdav.ndd.fr mdp /KeePassUser

Je suis sous WIndows 7, avec une zone DNS locale (Merci Fenrir).

Modifié par mchelmi
fotes d'aurtoghrafe
  • 4 semaines après...
Posté(e)

Quid de ma database si je n'ai pas accès un internet ? (je peux très bien stocker des données auxquelles j'ai besoin d'accéder hors ligne). Dans ce cas, il faut passer par l'utilisation de triggers.

Mais d'abord, copier votre DB localement, puis:

Tools > Triggers > Add.

Onglet Properties:

Choisir un nom significatif

Onglet Events:

Créer deux events ( Opened DB file et saved DB file) avec comme propriété Equals et le chemin\nom de votre db locale

Onglet Conditions

Créer un File Exist, avec en propriété le nom de votre copie distante

Onglet Actions:

Créer dans l'ordre:

  1. change trigger on/off state, rien en trigger name, et OFF en new state (pour éviter les boucle infinie,cf https://keepass.info/help/kb/trigger_examples.html#infiniteloop)
  2. syncronize active db with a file/URL, et renseignez le chemin\nom de la copie distante
  3. change trigger on/off state, rien en trigger name, et ON en new state

Cliquer sur finish.

C'est tout, c'est simple et efficace !

  • 8 mois après...
Posté(e)

Super tutoriel, merci beaucoup @d4RSH 👍

Pour ma part, je rencontre des problèmes au moment de vérifier l'accès au dossier via Webdav par Windows (j'utilise le reverse proxy).

  • Installation du paquet Webdav Server, en désactivant http, en activant https et en laissant son port par défaut (5006) : ✔️
  • Création du groupe webdav user, de l'utilisateur Keepass_user, du dossier partagé Webdav et du sous-dossier Keepas : ✔️. J'arrive à accéder au dossier Webdav/Keepas via le FileStation de DSM en me connectant comme KeePass_user et à glisser/déposer des fichiers, donc je n'ai pas de problèmes de droits d'accès ou de permission.
  • Comme je suis en reverse proxy, je ne change rien à la configuration de ma box, qui redirige les ports 80 et 443 vers l'adresse IP de mon NAS : ✔️
  • J'ai créé un reverse proxy pour mon Webdav : ✔️

image.png.73475876ea9ff3d4e0cf6f5021bdb9f2.png

  • Mon certificat Let's Encrypt a été mis à jour : ✔️

image.png.5eebf98cccb91dd8e76c0b7ab6c428a4.png

  • Le port 443 est bien autorisé dans le pare-feu du NAS : ✔️
  • J'arrive à accéder (en local ou depuis l'extérieur) à mes autres reverse proxy avec une adresse de la forme suivante : https://dsaudio.XXXX.synology.me:443 : ✔️

 

Le problème que je rencontre est, lorsque j'essaye de connecter un lecteur réseau Windows, j'ai un des deux messages d'erreurs ci-dessous : 

image.png.6bf812fa5197757206f49877e7e9420f.png

image.png.2a51b8d1a6203b60e7743eca58a2a284.png

image.png.5e302512e27f8479b5308057459f9f10.png

 

Je me suis dit que ça pouvait être un bug de Windows, comme j'ai soit le 1er, soit le 2ème message d'erreur. Donc j'ai essayé d'ouvrir directement la bdd dans KeePass via 'Open url', et j'ai le message d'erreur ci-dessous :

image.png.a35ed4871dffa334c5defa87dad36e52.png

 

image.png.cc28a6c39699a3b6e27e5f903d8305dc.png

Je précise que j'ai essayé pas mal de variantes dans les adresses pour me connecter : avec et sans le numéro de port 443, remplacer https:// par \\, sans résultat. Par ailleurs, je suis sûr du mot de passe du compte KeePass_user puisque j'arrive à me connecter à DSM avec le compte KeePass_user.

Quelqu'un aurait une idée ?

 

 

Posté(e)

@Ragnarou

Bonjour,

Pour te connecter au lecteur réseau en local, plutôt que d'utiliser https://web.dav.xxxxx.synology.me/Webdav/Keepass/....,  .... essaies avec :

  • \\NomNetBiosDuNAS\volume1\WebDav\Keepass\....
  • ou
  • \\@IPduNAS\volume1\WebDav\Keepass\...

Conformément à l'exemple donné dans la 1ère copie d'écran.

Par ailleurs et ce sera juste une aparté : Je vois que tu as définis déjà 7 sous-domaines pour ton certificat. Je me permet de de prévenir que la chaine "Autre nom de l'objet" qui contient la liste des sous-domaines pour lesquels le certificat est défini, est limitée à 255 caractères par Synology. Donc si tu envisages d'ajouter d'autres sous-domaines à ton certificat, cela va pas le faire car avec l'existant, tu vas dépasser certainement cette limite imposée. En conséquence, si j'étais toi je regarderai à prendre un nom de domaine personnalisé et à créer un certificat "wilcard" LetsEncrypt pour ce domaine soit "*.tonDomaine.tld" par ex. Conséquence aussi cela te fera du coup reprendre tes définitions de redirections dans le reverse proxy mais au final tu verras que ce sera plus souple pour toi à l'usage. Le jeu en vaut la chandelle ... Maintenant ce n'est que mon avis 😀

Cordialement

oracle7😉

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.