Bitwarden est un gestionnaire de mots de passe. Vaultwarden est sa version open source pour particulier. Ici nous allons installer la partie serveur Vaultwarden sur le NAS. Malheureusement pour nous Qnap a modifié son serveur web pour vous rendre la tâche un peu plus ardue. Nous allons cependant voir comment procéder.
Création du container:
Dans container station, installez le container nommé Vaultwarden/server.
Perso, je l’ai configuré pour qu’il aille sur le port 800, puis lancez le.
Pensez à cocher autostart.
Ajouter la variable d’environnement ADMIN_TOKEN = VOTRE_PASSWORD afin de vous permettre ensuite d’aller règler l’outil via l’url /admin
A noter qu’une fois lancé, vous ne pourrez plus modifier vos variables d’environnement. Pour pouvoir le faire quand même, il vous faudra éteindre le container, puis lancer « docker ps » pour voir l’identifiant du docker concerné. Puis ensuite modifier, le fichier qui se trouvera dans :
more /share/CACHEDEV1_DATA/nas/vm/container/container-station-data/lib/docker/containers/IDENTIFIANT_CONTAINER/config.v2.json
Redémmarrez le NAS ou container station pour sa prise en compte (/etc/init.d/container-station.sh restart).
Charger les modules Proxy:
Dans le fichier /etc/config/apache/apache/conf, ajoutez les lignes suivantes:
A noter que si vous les ajoutez dans un autre fichier comme celui ci (/etc/config/apache/extra/httpd-ssl-vhosts-user.conf), elles seront supprimées au redémarrage du serveur web.
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
<VirtualHost *:443>
ServerName passwords.VOTREDOMAINE.fr
ProxyPass / http://IPNAS:800/
ProxyPassReverse / http://IPNAS:800/
SSLEngine on
SSLCipherSuite EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:!MD5
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCertificateChainFile "/etc/stunnel/uca.pem"
SSLCertificateFile "/etc/stunnel/stunnel.pem"
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
</VirtualHost>
Créer votre sous domaine sur votre registrar et prévoyez un accès en SSL
Vous êtes obligé de passer en SSL, sinon Bitwarden ne fonctionnera pas.
Dans la conf ci-dessus, j’ai choisi passwords.VOTREDOMAINE.fr
Ensuite, lancez letsencrypt dessus pour générer le certificat. Pour savoir comment faire, référez-vous à ce tutoriel.
Redémarrez le tout avec la commande /etc/init.d/Qthttpd.sh restart
Installer l’extension navigateur:
Installer l’extension Bitwarden, et n’oubliez pas d’aller dans les paramètres pour y indiquer votre serveur. Voici ce que ca donne.
Quelques réglages de sécurité:
Si vous avez bien ajouté la variable ADMIN_TOKEN comme indiqué, alors vous pourrez accéder à la page admin, et désactiver « Allow new signups » et « Allow invitations ».
Vous auriez pu aussi les rajouter en variable d’environnement comme:
SIGNUPS_ALLOWED=false et INVITATIONS_ALLOWED=false
Conclusion:
L’extension (compatible sur tous les navigateurs) et l’interfaçe serveur de Bitwarden sont vraiment bien réalisés. Cependant pour moi, cette technologie demeure plutôt orientée entreprise (avec son approche multi utilisateurs). Pour un particulier, monter un serveur docker nécessite d’avoir un ordinateur tout le temps allumé, et quelques compétences informatiques. Je pense donc conserver ma solution à base de 1password, et de réplication du fichier de mot de passes via dropbox. Cela permet d’avoir une solution portable, et ultra simple à installer. Bon, ok il faut payer un abonnement 1password (ce qui n’était pas le cas avec ma vieille version). Mais au pire Keepass fait la même chose en gratuit.
Comment le problème d’HTTPS est il réglé ? Car sur les nas syno, ont est obliger de passer par un reverse proxy pour « forcer » l’HTTPS…
Ça se gère via cet autre tutoriel https://www.gameandme.fr/divers/installation-dun-nas-qnap-253d/ (paragraphe serveur web)