Bitwarden et NAS Synology (bitwardenrs)

Bitwarden est un gestionnaire de mot de passe Open Source très populaire. Nous l’avions abordé dans un précédent article : Bitwarden, le gestionnaire de mot de passe dont tout le monde parle. Vous avez été nombreux à laisser un commentaire et aujourd’hui, nous vous proposons un tutoriel pour installer Bitwarden sur un NAS Synology

bitwarden synology - Bitwarden et NAS Synology (bitwardenrs)
Bitwarden avec un NAS Synology

Bitwarden et Synology

Officiellement, Bitwarden n’est pas disponible sur les NAS Synology. À l’heure où nous écrivons ses lignes, il n’est pas possible de télécharger et installer le gestionnaire de mot de passe depuis le Centre de Paquets ou de passer par une installation manuelle d’un fichier .spk. Cependant, il existe une méthode : passer par Docker. Docker fonctionne directement sur les NAS Synology dotés d’un processeur Intel.

Installation facile et rapide sur le NAS

Si ce n’est pas déjà fait, la première étape consiste à installer Docker. Connectez-vous à l’interface d’administration de votre NAS et allez dans le Centre de Paquets. Là, cherchez Docker et cliquez sur le bouton Installer.

Puis lancez Docker et allez dans le menu de gauche sur Registre. Là, vous allez taper dans la zone de recherche du haut Bitwarden. Parmi les +140 résultats, je vous recommande de prendre le premier élément : bitwardenrs. Il s’agit de l’implémentation Rust la plus légère Bitwarden. Elle comprend la partie serveur, mais aussi l’interface d’administration Web.

bitwardenrs synology - Bitwarden et NAS Synology (bitwardenrs)
Bitwarden depuis Docker sur NAS Synology

Maintenant, double cliquez sur l’élément à télécharger. Une petite boîte de dialogue s’ouvre, choisissez Latest (qui correspond à la dernière version compatible) et cliquez sur le bouton Sélectionnez.

docker bitwarden latest 300x101 - Bitwarden et NAS Synology (bitwardenrs)
Choix de la dernière version

Maintenant, patientez un peu, l’image pèse 128 Mo. Une fois téléchargée, sélectionnez l’image (Menu Image sous Registre) et cliquez sur le bouton Lancer.

lancer installation bitwarden - Bitwarden et NAS Synology (bitwardenrs)

Nous allons paramétrer notre installation (Créer le conteneur) Bitwarden.

biwarden server - Bitwarden et NAS Synology (bitwardenrs)
Créer un conteneur bitwarden

Donner un petit nom à votre conteneur, ici j’ai laissé par défaut bitwardenrs-server1. Ensuite, cliquez sur le bouton Paramètres avancés

dossier bitwarden docker - Bitwarden et NAS Synology (bitwardenrs)

Vous allez maintenant dans l’onglet Volume et cliquez sur le bouton Ajouter un dossier. J’utilise le dossier partagé docker par défaut. Il est tout à fait possible d’utiliser un autre dossier si celui-ci ne vous convient pas. Par contre, faites attention à bien mettre /data/ pour le chemin d’accès correspondant.

param ports - Bitwarden et NAS Synology (bitwardenrs)

Ensuite dans l’onglet Paramètres des ports, nous allons changer les valeurs réglées sur auto. Nous allons mettre 3012 sur la première ligne en port local et 80 en port local associé au Port conteneur 80. Si vous disposez d’un site Web héberger sur votre NAS ou encore de Photo Station, le port 80 est peut-être déjà utilisé. Il faudra alors en mettre un autre comme par exemple 82 😉 On appuie sur le bouton Appliquer.

bitwardenrs synology 1 - Bitwarden et NAS Synology (bitwardenrs)

Nous retournons sur l’écran des paramètres généraux et on clique sur le bouton Suivant. Pour terminer, on obtient le résumé de notre configuration. On laisse par défaut et on clique sur le bouton Appliquer avec la case cochée Exécuter ce conteneur lorsque l’assistant a terminé. C’est terminé pour la partie serveur hébergée sur votre NAS…

Utiliser bitwarden

Par simplicité, nous allons nous connecter avec notre navigateur sur l’interface d’administration de Bitwarden. Vous tapez dans la barre d’adresse de votre navigateur http://AdresseIPduNAS:Port (ex : http://192.168.1.100:82).

bitwarden connexion nas - Bitwarden et NAS Synology (bitwardenrs)

Si vous arrivez sur l’écran ci-dessus, c’est que le serveur Bitwarden sur votre NAS fonctionne correctement. Créez un compte utilisateur et c’est parti !!!

interface bitwarden - Bitwarden et NAS Synology (bitwardenrs)

L’interface est vraiment facile à prendre en main. Les traductions sont bonnes et facilite les choses. Je vous recommande de vous familiariser tranquillement avec l’interface, puis de passer par le menu Importer des données. L’essayer, c’est l’adopter !

Applications

On ne peut que vous recommander d’utiliser l’extension pour navigateur et l’application mobile. Même chose pour l’accès depuis les applications et extensions, saisissez dans un premier temps d’adresse de votre NAS (ex : http://192.168.1.100:82) via la petite roue crantée en haut à gauche 😉

client bitwarden - Bitwarden et NAS Synology (bitwardenrs)
Clients bitwarden (Ordinateur, smartphone, navigateur)

HTTPS et bitwarden

Il existe différentes méthodes pour mettre en place du HTTPS à notre conteneur Bitwarden. La plus rapide, c’est de passer par le Proxy inversé de DSM. On part du principe que vous avez déjà un certificat utilisé sur le NAS et le port 5001 par défaut pour accéder à l’interface d’administration. Il s’agit dans notre cas d’un certificat auto-signé (celui généré par le NAS). Cependant, la procédure fonctionnera également avec un certificat Let’s Encrypt ou autre. De plus, si vous utilisez un domaine sur le NAS, cette procédure vous permettra de créer un sous-domaine dédié à bitwarden.

portail applications - Bitwarden et NAS Synology (bitwardenrs)
Portail des applications Synology

Rendez-vous dans le Panneau de configuration du NAS, allez sur Portail des applications puis l’onglet Proxy inversé. Cliquez sur le bouton Créer. Remplissez le champ Description puis dans Sources > Protocole choisissez HTTPS. Pour le nom d’hôte, je mets * car je ne gère pas de domaine (et sous-domaine) avec mon NAS. Si vous gérez un domaine mon-nas.fr, c’est ici qu’il faut mettre par exemple bitwarden.mon-nas.fr. Ensuite, indiquez un numéro de Port. Par défaut, il faut mettre le 443 qui correspond au HTTPS. Cependant, s’il est déjà pris par le NAS par une autre application, il faudra en choisir un autre. Dans notre exemple, nous avons mis 843 mais cela peut aussi être 7070. Le NAS mettra une alerte si le port est déjà réservé pour un autre service. Dans la section Destination mettre Protocole sur HTTP (c’est notre réglage par défaut). Dans Nom d’hôte, indiquez localhost (tapez-le vraiment) même s’il est indiqué en grisé. Enfin pour le Port, indiquez celui que vous avez paramétré dans Docker pour la correspondance avec le port 80. Dans notre exemple, nous avons mis 82. Enfin cliquez sur le bouton OK.

proxy inverse - Bitwarden et NAS Synology (bitwardenrs)
Proxy inversé Synology

Attention, il y a un petit bug Synology sur la fenêtre ci-dessus. Le dernier champ (port) ne s’affiche que si on utilise la tabulation 😉 L’accès à Bitwarden se fait via l’adresse https://192.168.1.100:843 en suivant notre exemple…

  1. Merci pour le tuto…
    Pour ma part, j’ai adopté bitwarden depuis quelques mois avec cette même installation mais accessible de l’extérieur par la configuration d’un sous-domaine, configuration d’un certificat LE (sur le syno) puis en utilisant la fonction proxy inversé dans le Portail des applications… Que du bonheur 😉

    1. Merci pour le tuto. J’ai adopté Bitwarden il y a un peu plus d’un an sur Synology (Docker). C’est très stable et très intuitif sans parler des applications iOS et android ainsi que les extensions Chrome et Safari. La seule différence par rapport à ce tutoriel, j’utilise le container avec MySQL comme BDD histoire d’avoir la main dessus également ?

    1. Oui et non…

      L’objectif ici est bien de découvrir comment installer Bitwarden sur un NAS. Pour ma part, mon NAS Synology n’est pas accessible depuis l’extérieur, sauf à travers un VPN pour des questions de sécurité.
      L’autre chose importante, c’est que les clients Bitwarden (téléphone / pc / etc.) n’ont pas besoin d’être connectés systématiquement au serveur pour fonctionner (je vais le préciser dans l’article). En effet, les applications fonctionnent en mode synchro et disposent d’une version en local, sur l’appareil.
      Par exemple, sur mon iPhone, la dernière synchronisation date de 4 jours et tout fonctionne à merveille.

      J’ai bien compris la demande et je ferai un nouvel article ou je compléterai celui-ci. Ouvrir son NAS à l’extérieur, je ne le recommande pas à tout le monde. Il y a forcément des risques. Les données sur un NAS sont précieuses, et un gestionnaire de mot de passe aussi (encore plus ?).

      1. Je vois au moins un intérêt à l’accès de Bitwarden depuis l’extérieur, proposer aux amis et famille n’ayant pas toujours accès à mon réseau local d’héberger leurs mdp. Comme le dit Nico, entre le certificat SSL sur le NAS et l’option 2FA via Google Authenticator ou Authy, l’accès est très sécurisé. Ce soft est un régal d’ergonomie, que ce soit via les extensions pour navigateur ou sur smartphone, je n’ai que des retours positifs.

      2. Y a t il un article qui explique comment configurer son NAS en pour accéder en externe depuis l’extérieur ?

        Par avancer merci.

  2. Merci pour le tuto, par contre, je vois un soucis au niveau de la configuration car accéder à un serveur de mot de passe en http est super dangereux. Les noms d’utilisateurs et mots de passe ne sont pas cryptés lors des requêtes http.
    A mon avis, il faudrait utiliser du https au minimum pour garantie la sécurité.

    1. oui et non… http dans le lan ne pose pas de soucis, comme l’a précisé Fx juste au dessus son nas n’est pas accessible depuis l’extérieur !

    2. Désolé Steve, j’ai été très pris ce matin. Je n’ai pas pu te répondre avant.
      J’ai ajouté un chapitre dédié au HTTPS. La mise en place est relativement simple 😉

  3. Je comprends tout à fait ton point de vue, et j’apprécie l’article.
    Mais sur ce sujet précis, des mots de passe, ne les avoir qu’en local, est, je trouve, peu pertinent.
    Bitwarden est lui-même un service en ligne accessible partout.
    Mais il est vrai que j’oublie le mode synchro dont tu parles, et j’avoue n’avoir jamais vraiment utilisé Bitwarden en ce sens, je vais d’ailleurs tester quelques jours 🙂
    (question pratique : si je créée un nouveau mdp sur mon téléphone, dont la base synchro a X jours, quand il va se synchroniser plus tard avec mon NAS chez moi, tout va bien se passer ? Ajout à la base sans encombre ?)

    1. J’utilise la version « normale » de Bitwarden mais je suppose que c’est du pareil au meme. Pour avoir déja eu ma instance docker Hors Ligne pendant un moment. J’avais trouvé que les syncro était très bien gérer. Aucun soucis ou retour d’une connexion sur l’appareil mobile ou du serveur. D’ailleurs l’application, .. ne signal pas que le serveur est injoignable, elle continu sont fonctionnement normalement en attendant de pouvoir le joindre.

  4. Personnellement j’ai installé bitwarden en suivant la documentation sur leur site plutôt que de passer par une image docker créé par un tiers. Je suis peut être trop méfiant mais je préfère tout de même pour ce genre de logiciel « sensible »…

    1. Tu as trouvé une documentation sur leur site pour l’installer sur un Synology ?
      Si tu as le lien je suis preneur car je n’ai rien trouvé.
      Merci

      1. Et c’est bien de cela qu’on parle quand @Michael dit « j’ai installé bitwarden en suivant la documentation sur leur site plutôt que de passer par une image docker créé par un tiers »

        1. Tout à fait il parle de Bitwarden « On Premise ». Comme vous je préfère nettement la solution officielle à celle gérée par un tiers quand il s’agit de stocker MDP, OTP , moyens de paiement …

          Je l’utilise depuis 6 mois environ accessible derrière mon RP pour les accès extérieurs. J’ai acheté l’option famille à 12 €/an qui permet une gestion hiérarchique fines des MDP.

          L’installation du NAS Syno ne présente pas de difficultés particulières et le produit est d’une redoutable stabilité. Il s’appuie sur une dizaine de container plutôt que sur un container unique.

  5. Super tuto qui permettra à beaucoup de monde de se passer de Google ou autre solution payante de stockage de mdp.

    Deux choses, préciser qu’il existe une page admin à l’adresse http://AdresseIPduNAS:Port/admin qui permet beaucoup de réglages comme la gestion des tokens, des différents comptes, 2FA, Yubikey, SMTP, etc…

    Et une fois le ou les comptes utilisateurs souhaités créés dans Bitwarden, éventuellement modifier avec un éditeur de texte le fichier config.json présent dans le dossier « data » pour passer le paramètre SIGNUPS_ALLOWED de true à false afin d’empêcher n’importe qui ayant accès à l’adresse de la page de login de créer des comptes.
    Il sera toujours possible à l’admin d’inviter de nouveaux utilisateurs par email grâce à la variable INVITATIONS_ALLOWED = « true » présente dans le même fichier… Pour peu que le SMTP soit bien configuré, personnellement ça fonctionne avec le port 25 mais je n’ai jamais réussit à envoyer des emails en connexion sécurisé dans Bitwarden version Docker.

    1. Salut,
      Le fait de pouvoir inviter de nouvelle personne sans avoir a modifier « globalSettings__disableUserRegistration » m’interesse. par contre on ne semble pas avoir la meme « config », car chez moi le fichier en question est : « /docker/bitwarden/bwdata/env/global.override.env ».
      Surement un changement entre Bitwarden et Bitwarden_rs.
      Serait tu comment activer les invitations dans ma config ? Car le fichier « global.override.env » ne comporte aucune notion de ces invitations.

      Merci

      1. Bonjour,

        Vous pouvez ajouter la ligne :

        globalSettings__disableUserRegistration=true

        qui va empêcher l’enrollement de nouveaux utilisateurs à leur propre initiative.

        Cordialement

      2. Bonjour,
        L’invitation se fait au niveau de l’organisation.

        Pré-requis :
        – SMTP bien configuré ;
        – pour le Bitwarden officiel, avoir un compte Famille (12 $ par an).

        Tu entres dans l’organisation, onglet « gérer », bouton « Inviter un utilisateur ».
        Chez moi ça fonctionne, même avec la ligne « globalSettings__disableUserRegistration=true » 🙂

  6. Merci pour ce tuto !
    Malheureusement, pour ma part, impossible de créer un compte… Quand je clique sur soumettre, rien ne se passe.

  7. @EVOTk, je suis désolé, je n’ai installé que la version RS, est-ce que tu ne gagnerais pas à y passer ne serait-ce que du fait qu’elle est plus légère en ressources? Je sais, c’est une réponse à la c.. 😀

    @Laurent-35: effectivement, c’est important de le préciser, j’avais oublié ce détail mais c’est vrai, Chrome n’aime pas Bitwarden en http. De mémoire, Firefox et Safari s’en accommodent mais cela a peut-être changé.
    Si l’on veut utiliser Chrome et/ou ouvrir Bitwarden à l’extérieur de son réseau local, le mieux reste de faire comme Nico le disait en premier commentaire:
    1- créer un sous-domaine ou domaine pointant vers l’ip/port externe du NAS et que l’on associera à Bitwarden via le menu « Proxy inversé » du panneau de config DSM.
    2- créer ou mettre à jour le certificat SSL Let’s Encrypt en y intégrant ledit sous-domaine (option « autre nom de l’objet » sur la dernière page du processus de création de certificat).

    Bref, on sort carrément du côté accessible et immédiat de ce très bon tuto, mais ça vaudrait le coup d’en faire un autre (si ce n’est pas déjà le cas) pour apprendre à lier un sous-domaine à un service particulier du nas, par exemple https://bitwarden.mondomaine.fr, https://plex.modomaine.fr, nextcloud.mondomaine.fr, etc… Tout ça passant par la même ip extérieure et le même port, le proxy dispatchant les différentes demandes au bon endroit.

    1. Merci pour ta réponse. Je n’est pas de soucis de ressources, de plus je prefere rester sur la version « original » surtout que sa marche bien ! Pas envie de tout planter 😉
      Je finirai bien par trouver ! Merci 🙂

    2. La fin de ton com m’intéresse je voulais mettre cela en place mais je ne mis suis pas trop penché, du coup plus besoin d’ouvrir un port pour chaque service ?

      1. Tout à fait, le seul port ouvert du routeur est le HTTPS de DSM. Ce qui fait la différence ensuite, c’est le sous-domaine utilisé avec ce port en complément d’adresse. Si on garde le port 5001 par défaut, ça donne par exemple pour DSM: https://dsm.mondomaine.com:5001, pour Plex, https://plex.mondomaine.com:5001 et ainsi de suite. Chaque sous domaine pointant vers l’ip publique externe du nas, c’est ensuite le proxy inversé de DSM qui fait le tri et aiguille là où il faut, la configuration étant identique à ce que vous avez rajouté pour le HTTPS du tuto, en mettant simplement le sous-domaine à la place de l’astérisque et le port externe, 5001 dans l’exemple.
        Il faut ensuite renouveler le certificat en ajoutant les sous domaines dans « autre nom de l’objet », par exemple: plex.mondomaine.fr;nextcloud.mondomaine.fr;etc…

        1. j’exagère un peu, les 80 et 443 sont aussi ouverts pour let’s encrypt et un serveur web…

  8. Salut à vous,

    merci pour ce tuto, j’ai découvert Bitwarden il y a peu de temps (j’étais sur Lastpass) et je trouve aussi fonctionnel, et le fait de pouvoir l’installer en local sur mon nas DS918+, c’est encore mieux.
    D’autant que le tuto est bien fait, merci encore.
    Juste une question, j’essais de changer mon adresse mail pour le compte que j’ai créé, et Bitwarden envoie un code par mail que je ne reçoit pas, sauriez vous comment faire pour activer les mails à partir du Docker Bitwarden?

    Merci en tout cas

  9. Pour les emails, il faut configurer un compte SMTP dans l’interface admin de Bitwarden à l’adresse http://AdresseIPduNAS:Portdebitwarden/admin, soit http://192.168.1.100:82/admin si on reprend l’exemple du tuto.
    Comme je le disais quelques commentaires plus haut, je n’ai pas réussi à faire fonctionner un SMTP en port 465 ou 587 sécurisé, seul le port 25 passe chez moi et j’avoue avoir laissé tombé.
    Donc dans le panneau SMTP de l’admin, la seule case cochée est Enabled: Default True puis renseigner l’Host, le port sur 25, « from address » votre adresse email, « from name » Bitwarden_RS (par exemple) puis username et mdp du compte mail utilisé. « Json form auth mechanisme » est laissé vierge pour mon usage.

      1. j’allais pas mieux dire, effectivement lorsque l’on vas sur la page admin, on a ça: « The admin panel is disabled, please configure the ‘ADMIN_TOKEN’ variable to enable it »

        J’imagine qu’il faut rajouter ce paramètre, mais où et comment?, tel est la question 😉

  10. j’ai trouvé :
    1 – tu arrêtes ton serveur sur docker
    2 – tu sélectionne ton serveur, et tu cliques sur modifier
    3 – dans l’onglet Environnement, tu rajoutes la variable ADMIN_TOKEN, et en valeur le mot de passe de ton choix
    4 – tu n’as plus qu’à relancer la machine et d’accéder à l’espace admin

    Voilou, merci PMC pour les détails, je vais regarder la config des mails

  11. bon, impossible de paramétrer le smtp, j’ai testé pleins de configs, mais impossible de faire partir un mail du serveur.
    J’ai testé la config (gmail) sur ce site (https://www.smtper.net/) et elle fonctionne, donc je ne comprends pas pourquoi, si vous avez une idée, je prends …

  12. Bonjour,

    Merci pour ce tuto.

    Malheureusement pour moi, cela ne fonctionne pas. Je ne sais pas pourquoi mais lorsque j’essaie de me connecter sur la page http://192.168.1.2:82 rien ne se passe. J’ai un message  » Ce site est inaccessible »

    J’ai pourtant suivi scrupuleusement le tuto avec les même ports (3012 et 82 en local et conteneur). Ces 2 ports sont dispo sur mon NAS.

    Si quelqu’un à une idée je suis preneur.

    Merci

  13. pour moi cela fonctionne en accès extérieur avec synology.me, j’ai suivi exactement le tuto et tout est OK, à par le mail, je planche dessus encore

  14. Merci pour ce petit tuto! Par contre, ma config doit être bancale car il semble que le container a des problèmes de résolution de nom de domaine… Surement dû à ma config DNS Server que j’ai configuré pour résoudre mes sous-domaines lié à différent service afin qu’il soit accessible à l’intérieur comme à l’extérieur du réseaux sans avoir à faire le switch entre IP intranet et extranet… Bref! Si quelqu’un a une idée

    1. Le nom de domaine est-il bien renseigné dans la page admin, menu « General settings/Domain URL »? Sous la forme http(s)://mondomaine.fr/port
      Je constate que sur le mien, j’ai laissé l’adresse en http et non https, je ne sais pas si cela peut jouer mais ça fonctionne ainsi même en https depuis l’intérieur ou l’extérieur.

      1. Le problème était ailleurs! J’ai trouvé … et je suis nul…. vraiment nul de ne pas y avoir pensé plus tôt! u_u’
        En effet, après avoir installé docker, j’ai oublié de configuré le pare-feu du Syno pour lui laisser l’accès aux services comme je sais pas! Le serveur DNS…

  15. Bonjour,
    Alors, je dois être le seul a bloquer sur le conf mais mon install plante…. Tout va bien jusqu’à l’ouverture de la page web de bitwarden. Mais lorsque je veux créer un nouveau compte, j’arrive bien sur la page du formulaire mais lorsque je veux valider, il ne se passe rien du tout…..
    A savoir que tout comme Cachem, j’ai choisi la même config de port. Le port 80 étant occupé.
    Alors que se passe t-il selon vous ?

    1. Salut Ruthenesis,
      Alors j’ai eu se problème, et c’était le fait d’être en http et pas HTTPS, Bitwarden t’oblige à être en HTTPS, ce qui partait logique en fait, j’espère que cela t’aidera
      @+

  16. Bonjour,
    Je suis preneur d’une solution pour l’envoi de mails.
    Ca ne marche pas.. j’ai activé la page admin, j’ai tenté avec une conf gmail et autre smtp..
    rien à faire.
    En grattant il apparaît que la conf doit apparaître dans le fichier :
    ./bwdata/env/global.override.env, mais je n’ai qu’un pauvre fichier uid.env.
    Bref tout était parfait sinon.
    Merci pour votre aide et pour ce super tuto

    1. Sauf erreur, d’après la structure de fichier que tu décris, tu sembles utiliser Bitwarden et non Bitwardenrs, qui est la variante décrite dans ce tuto. Je ne sais pas si cela pourra t’aider, mais quelques commentaires plus haut, « fred » explique qu’en plus d’un smtp bien configuré, il faut un abonnement payant pour les invitations.

  17. Bonjour,
    merci pour le tuto très clair et efficace.
    Néanmoins, comment configurer l’application PC pour pointer vers le NAS local ?
    Enfin j’ai importer mes mots de passe venant de KeePass mais comment synchroniser sur le ‘cloud’ ? Quand j’utilise mon login/mot de passe le compte n’existe pas en dehors de mon instance local …

    Merci.

  18. Salut Fox59,
    Avant de te connecter, tu à un engrenage en haut à gauche qui te permet de paramétrer ton serveur sur le NAS, soit avec IP:port, ou ton adresse en xxx.synology.me:port.
    Voilou, @+

  19. Bonjour,

    Docker ne m’est pas proposé dans les paquets de la communautés pourtant j’ai bien un processeur Intel (Intel Atom CE5335, j’utilise un DS415play).

    Auriez-vous un lien pour que je puisse télécharger et l’installer manuellement Docker SVP ?

    Cordialement.

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.