S’il existe de nombreuses solutions pour stocker et gérer ses mots de passe, Vaultwarden sort du lot, de par ses nombreux avantages : logiciel libre, gratuit, avec des clients pour tous les navigateurs et OS mobiles et bureautiques.
(Anciennement appelé Bitwarden, Vaultwarden a été renommé pour évider la confusion, comme explique son auteur : « Ce projet était connu sous le nom de Bitwarden_RS et a été renommé pour se séparer du serveur officiel de Bitwarden dans l’espoir d’éviter toute confusion et tout problème de marque »)
Son point fort réside en outre dans la possibilité de l’auto-héberger ! Ainsi, vous allez pouvoir l’installer sur votre propre serveur, et ne plus dépendre d’un hébergeur, ce qui peut avoir ses avantages dans la situation présente : stocker ses identifiants / mots de passe.
Dans cet article, nous allons voir comment installer Vaultwarden sur notre serveur Synology, en utilisant un container Docker.
Prérequis
Le seul prérequis étant que votre NAS Synology soit compatible… Docker. Vous pouvez trouver la liste des NAS Synology compatibles ici.
Vous pouvez également anticiper les dernières étapes de ce tutoriel en choisissant un sous-domaine pour accéder à Vaultwarden (comme par exemple pass.hackabee.fr), en déclarant ce sous-domaine dans la zone DNS de votre registrar, puis en le faisant pointer sur l’IP de votre serveur.
Installation de Docker
Dans un premier temps, procédez à l’installation de Docker en passant par le centre de paquets de Synology. L’installation crée automatiquement un dossier partagé /docker dans le volume d’installation des paquets par défaut, vous pouvez modifier le volume depuis le panneau de configuration si vous le souhaitez !
Une fois Docker installé, ouvrez l’application, puis rendez-vous dans l’onglet « Registre« . Cherchez « vaultwarden« , et double-cliquez sur vaultwarden/server pour choisir la version (latest, dans notre cas), et procéder au téléchargement de l’image.
Vous pouvez suivre le téléchargement depuis l’onglet « Images« . Le paquet pèse environ 200 Mo.
Configuration de l’image Docker de Vaultwarden
Une fois le container téléchargé, cliquez sur « Lancer » : nous accédons au panneau de configuration de l’image Docker de Vaultwarden :
Sélectionnez bridge pour le réseau, puis cliquez sur Suivant.
Vous pouvez maintenant changer le nom de votre conteneur (facultatif), activer la limitation des ressources (utile si votre serveur ne dispose pas de beaucoup de RAM, ou si vous avez de nombreux services en route sur votre serveur), et cocher le redémarrage automatique !
Pas besoin de vous rendre dans les paramètres avancés, nous allons maintenant sélectionner le dossier dans lequel les données de Vaultwarden seront stockées. Cliquez sur « Ajouter un dossier« , puis créez un dossier « vaultwarden » dans le dossier racine « docker ». Une fois le dossier sélectionné, validez puis entrez « /data » dans la colonne « Chemin d’accès« .
Passons maintenant à la configuration des ports de Vaultwarden : il vous faudra choisir un port externe autre que le port 80 pour accéder à votre instance, afin de ne pas tout mélanger avec le serveur Web de votre Synology 😉 Dans notre cas ici, je choisis d’utiliser le port 8081 pour accéder à mon gestionnaire de mots de passe. Entrez le port de votre choix pour le port local, et laissez 80 pour le port du container.
Pas besoin de changer le port externe pour le port 3012 du container.
En cliquant sur Suivant, vous accédez au résumé de la configuration de votre image Docker de Vaultwarden.
Cliquez sur Effectué, votre instance de Vaultwarden est lancée ! Il ne reste plus qu’à mettre en place son accès distant en HTTPS : en effet, pour des raisons évidentes de sécurité, Vaultwarden vous empêche de configurer votre compte depuis une connexion non sécurisée.
Mise en place du proxy inversdé (reverse proxy)
Nous allons voir ici comment créer un accès à votre gestionnaire de mots de passe depuis un sous-domaine (exemple : pass.hackabee.fr). Pour rappel, vous devez déclarer ce sous domaine dans la zone DNS de votre registrar, puis faire pointer ce sous-domaine sur l’IP de votre serveur.
Rendez-vous dans le panneau de configuration de votre Synology, dans l’onglet « Portail de connexion », puis Avancé. Cliquez sur « Proxy inversé » pour créer votre entrée de reverse proxy :
Nommez votre règle, sélectionnez HTTPS, renseignez le sous-domaine créé précédemment, et indiquez bien le port 443 et activez le HSTS.
Terminez en renseignant l’IP locale de votre serveur en HTTP, et le port choisi dans la configuration de votre container, puis sauvegardez !
Sécurisation de l’accès à Vaultwarden
Il ne nous reste plus qu’à créer et assigner un certificat SSL à notre domaine ! Pour ce faire, rendez-vous dans l’onglet Sécurité du Panneau de Configuration du Synology
Dans l’onglet Certificats, cliquez sur Ajouter, nommez votre certificat et cochez l’obtention du certificat chez Let’s Encrypt. Indiquez ensuite le domaine choisi pour accéder à Vaultwarden, puis renseignez votre adresse email (obligatoire).
Dernière étape (Ouf !) : une fois le certificat créé, il faut l’assigner au sous-domaine : cliquez sur « Configurer », puis attribuez votre certificat au service Vaultwarden (d’où l’utilité de bien nommer ses certificats et ses services 😉 )
Vous pouvez désormais vous connecter en HTTPS à votre sous-domaine, et commencer la configuration de Vaultwarden 🙂
Entrez votre adresse mail puis les informations demandées pour créer votre coffre, et commencez à ajouter vos identifiants ! Nous verrons l’utilisation de Vaultwarden dans un prochain article !
Installer Nextcloud sur son NAS Synology en une poignée de minutes ! (Sur DSM 6)
Déployer Xpenology sur Proxmox (et ajouter les disques en passthrough)
Résoudre l’erreur PHP 7 depuis la console sur Synology pour pouvoir mettre à jour Nextcloud
Installer Vaultwarden sur Synology (DSM7) via Docker
Déployer Xpenology sur Proxmox (et ajouter les disques en passthrough)
Activer le copier / coller sur la console d’une machine virtuelle VMware ESXI
Installer Vaultwarden sur Synology (DSM7) via Docker
WordPress : attribuer les bonnes permissions aux dossiers et aux fichiers