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 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.
[edit du 30 avril 2021] bitwardenrs devient vaultwarden. Rien ne change dans ce guide, sauf le nom de l’image 😉 Pour en savoir plus, rendez-vous sur la page Vaultwarden remplace Bitwarden_RS (docker / Synology)
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 : vaultwarden. 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.
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.
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.
Nous allons paramétrer notre installation (Créer le 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…
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.
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.
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).
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 !!!
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 😉
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.
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.
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…