Balooforever Posté(e) le 7 février 2018 Partager Posté(e) le 7 février 2018 (modifié) Bonjour à tous, Après une installation réussi hier soir de Bitwarden, je viens vous proposer un petit tuto pour l'installer. Tout d'abord, Bitwarden, qu'es ce que c'est ? Bitwarden est une application Open Source développer en C# et MSSQL (j'y reviendrais) qui permet de gérer ses mots de passe à la manière de 1Password, Lastpast, Keepass. Des extensions sont disponibles pour tout les navigateurs et iOS/Android. Vous aller me dire tout ça c'est bien joli mais quel intérêt ? L’intérêt, c'est qu'il est possible de s'auto héberger et donc d'avoir son propre gestionnaire de mot de passe à la maison sans passer par des serveurs bien plus exposé sur internet. Vous êtes toujours partant ? En premier lieu, quelque pré-requis : - Disposer d'un NAS sous architecture x86 (Intel) tout simplement car l'installation est réalisé avec Docker - Disposer de pas mal de RAM, l'application exécute une instance Microsoft SQL Server (très) gourmande en RAM (environ 700Mo, une version Ruby beaucoup plus légère existe mais c'est une adaptation et non une vrai branche) - Ne pas avoir peur de faire un peu de ligne de commande ? Vous êtes toujours là ? Allons y vous aller voir c'est très simple. Merci @InfoYANN pour avoir refait toute le tuto avec les dernières version de Bitwarden ! ***************************************************** Créer un dossier "bitwarden" dans le dossier "docker" dans FileStation. Créer un sous domaine pour votre instance bitwarden et faites en sorte que le certificat SSL de Let's Encrypt soit fonctionnel (rien à faire pour les certificats wildcard). Aller sur le site de Bitwarden afin d'obtenir un ID : https://bitwarden.com/host Entrer une adresse mail valide et copier : ID d'installation : xxxxxxxxxxxxxxxxxxxxxxxxxxxxx Clé d'installation : xxxxxxxxxxxxxxx Maintenant connecter vous en SSH (voir mon tuto si vous ne savez pas faire). Rendez-vous ici : cd /volumeX/docker/bitwarden Nous allons maintenant récupérer le script d'installation et le mettre dans le dossier bitwarden fraichement créé : curl -s -o bitwarden.sh https://raw.githubusercontent.com/bitwarden/core/master/scripts/bitwarden.sh&& sudo chmod u+x bitwarden.sh Puis on lance l'installation : ./bitwarden.sh install Pendant l'installation, nous allons devoir répondre à quelques questions (moins qu'auparavant) : *Les lignes en rouge seront les messages du système au fur et à mesure de l'installation ! (!) Enter the domain name for your Bitwarden instance (ex. bitwarden.company.com): sousdomaine.domaine.tld (!) Do you want to use Let's Encrypt to generate a free SSL certificate? (y/n): n (!) Enter your installation id (get at https://bitwarden.com/host): xxxxxxxxxxxxxx (!) Enter your installation key: xxxxxxxxxxxxx (!) Do you have a SSL certificate to use? (y/n): y !!!!!!!!!! NOTE !!!!!!!!!! Make sure 'certificate.crt' and 'private.key' are provided in the appropriate directory before running 'start' (see docs for info). (!) Is this a trusted SSL certificate (requires ca.crt, see docs)? (y/n): y Installation complete If you need to make additional configuration changes, you can modify the settings in `./bwdata/config.yml` and then run: `./bitwarden.sh rebuild` or `./bitwarden.sh update` Next steps, run: `./bitwarden.sh start` and then `./bitwarden.sh updatedb` Rendez-vous dans FileStation mais ne fermez pas votre fenêtre SSH. Nous allons renommer et copier les fichiers du certificat SSL dans le bon dossier : Renommer le fichier "privkey.pem" avec comme nom "private.key" puis le copier dans /volumeX/docker/bitwarden/bwdata/ssl/votredomaine/ ce qui donnera comme résultat : /volumeX/docker/bitwarden/bwdata/ssl/votredomaine/private.key Renommer le fichier "cert.pem" avec comme nom "certificate.crt" puis le copier dans /volumeX/docker/bitwarden/bwdata/ssl/votredomaine/ ce qui donnera comme résultat : /volumeX/docker/bitwarden/bwdata/ssl/votredomaine/certificate.crt Renommer le fichier "chain.pem" avec comme nom "ca.crt" puis le copier dans /volumeX/docker/bitwarden/bwdata/ssl/votredomaine/ ce qui donnera comme résultat : /volumeX/docker/bitwarden/bwdata/ssl/votredomaine/ca.crt Nous allons maintenant créer les dossiers qui seront manquants pour la suite de l'installation : /volumeX/docker/bitwarden/bwdata/logs /volumeX/docker/bitwarden/bwdata/logs/admin /volumeX/docker/bitwarden/bwdata/logs/api /volumeX/docker/bitwarden/bwdata/logs/icons /volumeX/docker/bitwarden/bwdata/logs/identity /volumeX/docker/bitwarden/bwdata/logs/mssql /volumeX/docker/bitwarden/bwdata/logs/nginx /volumeX/docker/bitwarden/bwdata/logs/notifications /volumeX/docker/bitwarden/bwdata/logs/events /volumeX/docker/bitwarden/bwdata/core /volumeX/docker/bitwarden/bwdata/core/attachments /volumeX/docker/bitwarden/bwdata/mssql /volumeX/docker/bitwarden/bwdata/mssql/data /volumeX/docker/bitwarden/bwdata/mssql/backups Nous allons éditer le fichier "global.override.env" qui se trouve dans "/volumex/docker/bitwarden/bwdata/env" afin de configurer le serveur SMTP pour que Bitwarden puisse envoyer les notifications. On va en profiter pour inscrire notre adresse mail pour la partie admin 😉 Il faut maintenant finir de configurer manuellement le fichier "config.yml" qui se trouve dans "/volumex/docker/bitwarden/bwdata" : Par défaut, les ports sont 80 et 443 mais en général, ils sont déjà utilisés sur DSM alors on va en mettre d'autres. Pour ma part, j'ai choisi le port 81 et 444. On retourne dans notre fenêtre SSH et on lance ensuite ces commandes une par une : ./bitwarden.sh update ./bitwarden.sh updatedb ./bitwarden.sh start Si ces commandes ne fonctionnent pas, faites d'abord : ./bitwarden.sh rebuild Vous pouvez maintenant accéder à votre instance Bitwarden via votre domaine : le port. Source : http://www.synology-forum.de/showthread.html?90435-Bitwarden-auf-der-Synology-(Docker)/page5 En complément, dans le dossier env (éditable via vi pour les plus aguerris) vous pouvez paramétrer le SMTP (pour l'envoi des mails) et bloquer les inscriptions supplémentaires sur votre serveur ci nécessaire. Modifié le 28 janvier 2020 par Balooforever 3 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 23 février 2018 Partager Posté(e) le 23 février 2018 Bonjour, Merci pour ce tuto. Je vais essayer de le mettre en place pour remplacer Keepass qui manque clairement de fonctions. Merci encore ! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 23 février 2018 Partager Posté(e) le 23 février 2018 (modifié) Bon, j'ai mit en place ton tuto. Premier soucis ; ta ligne d'installation ne fonctionnait pas chez moi car il ne trouvait pas "-s". J'ai donc tenté avec cette ligne de commande ci-dessous trouvé sur le site officiel et ça passait. curl -Ls -o bitwarden.sh https://bit.ly/bw-sh \ && sudo chmod u+x bitwarden.sh Ensuite, j'ai continué ton tuto et tout avait l'air d'aller jusqu'au moment du test final ou là, je n'ai pas accès via mon navigateur à Bitwarden via mon ndd "bitwarden.ndd.fr". J'ai mit les même ports que toi à savoir 81 et 444 (j'aurai d'ailleurs du réfléchir avant car je préfère rester sur du 80-443). J'ai fait le redirections dans mon routeur et le pare feu du nas et j'ai bien réglé mon reverse proxy dans le nas. Mais rien à faire, j'ai cette foutue erreur 502 Bad Gateway qui s'affiche dans le navigateur. Modifié le 23 février 2018 par InfoYANN 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Balooforever Posté(e) le 23 février 2018 Auteur Partager Posté(e) le 23 février 2018 (modifié) Tout tes containers sont bien démarrés ? Dans journal de Docker tu as tout les détails, normalement il t'indique ce qui ne fonctionne pas. Pour la ligne de commande, c'est étonnant c'est pourtant celle que j'ai utilisé (sans le > du début, je vais modifier). Visiblement si tu mets juste le 80-443, il y a un souci de conflit avec Photostation et Webstation,. Si tu fais https://tonip:444, tu as une 502 également ? Modifié le 23 février 2018 par Balooforever 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 23 février 2018 Partager Posté(e) le 23 février 2018 (modifié) En faites, c'était bien le signe > qui posait soucis et maintenant, je peux utiliser ta ligne de commande. J'ai essayé une réinstallation avec les ports 80 et 443 et en effet, il y a conflit nginx. J'ai donc tenté une réinstallation avec exactement les même paramètres que toi mais là non plus ça ne passe pas. L'installation se fait bien et dans ma fenêtre putty j'ai bien l'url de connexion avec le port 444 mais elle ne fonctionne pas. J'ai testé : bitwarden.ndd.fr:444 bitwarden.ndd.fr:81 Mais j'ai "Ce site est inaccessible. Pourtant mes sous domaines habituels fonctionnent sur le nas (drive, video, calendar, mail etc...). Je précise aussi que les ports sont ouverts sur mon routeur et le pare feu du nas. J'ai aussi créé une zone DNS CNAME dans mon compte OVH et dans mon serveur DNS sur le nas pour déclarer le sous domaine. Mon certificat est aussi à jour avec le sous domaine. Je comprend pas là ou ça pose soucis. Modifié le 23 février 2018 par InfoYANN 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Balooforever Posté(e) le 23 février 2018 Auteur Partager Posté(e) le 23 février 2018 (modifié) Et avec l'IP tu as accès ? Côté Docker tu as bien 7 container Bitwarden ? (oui il est un peu lourd :D) D'ailleurs depuis hier il y a une version Desktop en beta. Modifié le 23 février 2018 par Balooforever 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 23 février 2018 Partager Posté(e) le 23 février 2018 J'ai bien 7 conteneurs en cours d'utilisation pour Bitwarden par contre, j'ai "bitwarden-nginx" qui est en "redémarrage en cours..." et même en forçant le redémarrage, il redémarre mais revient sur la position "redémarrage en cours...". Je ne sais pas si c'est normal. Pour l'IP, non ça ne fonctionne pas plus ! Pour la version Desktop, je l'ai installé en effet mais elle ne fonctionne pas pour le moment puisqu'elle n'arrive pas à accéder à mon serveur. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Balooforever Posté(e) le 23 février 2018 Auteur Partager Posté(e) le 23 février 2018 J'ai déjà eu le bad gateway, s etait le container nginx qui ne démarrait pas, tu as accès au journal du container ? Je pense que ton souci vient de là. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 23 février 2018 Partager Posté(e) le 23 février 2018 (modifié) En effet, le soucis venait bien du container nginx et l'erreur était simple pour celui qui savait ou chercher. J'ai un de mes fichiers de certificat qui n'avait pas ou avait été mal édité au niveau du nom. Et nginx ne trouvait donc pas ce fichier et donc refusait carrément la connexion sur le script web. Après une vérification et une édition rapide dans File Station, le soucis a été résolu. Merci à toi en tout cas car ne connaissant pas bien Docker, je ne savais pas ou chercher pour mon soucis. J'ai ensuite trouvé le journal de ce container et j'ai pu trouver la solution. Maintenant je coince encore sur quelque chose. C'est sur l'envoi des mails. J'ai testé "vi" rapidement mais il est plus rapide d'éditer le fichier avec wordpad par exemple. Malgré que j'ai bien configuré mon serveur smtp dans le fichier et que ça me confirme l'envoi du mail, je ne le reçois pas du tout. Je suis pourtant certain de mon serveur smtp car c'est mon propre serveur mail et il tourne H24 sans soucis. Il y a un truc qui m'échappe... **************************************** Par contre, ATTENTION ! Ce fameux fichier contenant les informations contient en "clair" le mot de passe du compte smtp... Pas cool je trouve ça. J'ai donc du créer un compte spécial juste pour cette fonction et cette application afin d'éviter d'exposer mon vrai compte mail et mes données du nas. Modifié le 23 février 2018 par InfoYANN 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Balooforever Posté(e) le 24 février 2018 Auteur Partager Posté(e) le 24 février 2018 (modifié) Pour le SMTP, si tu es chez OVH, cherche pas c est incompatible. Plusieurs forums parlent de l implémentations ovh incompatible avec asp.net, visiblement il n y a rien a faire :/ Pour le mots de passe, il faut effectivement utiliser un mot de passe « application » ou un compte dédié. Apres normalement seul root a accès en lecture 😅 Apres pour être honnête, à par envoyer le mail d accueil, le smtp ne sert pas .. Modifié le 24 février 2018 par Balooforever 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 24 février 2018 Partager Posté(e) le 24 février 2018 Non, je n'ai que mon ndd chez ovh. Tout le reste concernant le mail est hebergé sur mon serveur chez moi avec Mail Plus Serveur. J'ai aussi essayé Gmail mais ça ne passait pas. Peut-être en effet qu'il faudrait que je test juste avec un mot de passe d'application pour voir. Ceux qui ont accès au dossier Docker sur File Station peuvent lire facilement le fichier avec un éditeur de texte. Quant à l'envoi du mail, il y a aussi le faite de valider le compte avec un envoi par mail. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Balooforever Posté(e) le 24 février 2018 Auteur Partager Posté(e) le 24 février 2018 (modifié) La lecture via le dossier Docker oui mais uniquement avec les droits root, donc normalement si tu n es pas en admin dans file station, tu ne peux pas l ouvrir. Modifié le 24 février 2018 par Balooforever 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 24 février 2018 Partager Posté(e) le 24 février 2018 Ok. Bon bah pour Gmail non plus ça ne passe pas. J'ai l'impression que c'est l'application web qui n'arrive tout simplement pas à envoyer les mails malgré la bonne configuration smtp. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Balooforever Posté(e) le 24 février 2018 Auteur Partager Posté(e) le 24 février 2018 (modifié) Regarde le journal dans bitwarden-api au moment d un envoi tu devrais avoir l erreur sinon tu le trouve comment à l usage ? Perso je ne m en passe plus 😅 Modifié le 24 février 2018 par Balooforever 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 24 février 2018 Partager Posté(e) le 24 février 2018 Voici le résultat avec Gmail : 2018-02-24 13:16:13 stdout at System.Net.Mail.SmtpClient.SendMailCallback(IAsyncResult result) 2018-02-24 13:16:13 stdout at System.Net.Mail.SendMailAsyncResult.End(IAsyncResult result) 2018-02-24 13:16:13 stdout at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 2018-02-24 13:16:13 stdout --- End of stack trace from previous location where exception was thrown --- 2018-02-24 13:16:13 stdout at System.Net.Mail.SendMailAsyncResult.SendMailFromCompleted(IAsyncResult result) 2018-02-24 13:16:13 stdout at System.Net.Mail.MailCommand.EndSend(IAsyncResult result) 2018-02-24 13:16:13 stdout at System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response) 2018-02-24 13:16:13 stdout System.Net.Mail.SmtpException: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required. Learn more at 2018-02-24 13:16:13 stdout Mail send failed. 2018-02-24 13:16:13 stdout [41m[30mfail[39m[22m[49m: Bit.Core.Services.SmtpMailDeliveryService[0] Voici le résultat avec mon propre serveur mail : Pour mon serveur mail, je suis sûr de moi. J'ai plusieurs clients configurés sur plusieurs machines avec la même configuration à chaque fois. 2018-02-24 13:25:00 stdout at System.Net.Mail.SmtpClient.SendMailCallback(IAsyncResult result) 2018-02-24 13:25:00 stdout at System.Net.Mail.SendMailAsyncResult.End(IAsyncResult result) 2018-02-24 13:25:00 stdout at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 2018-02-24 13:25:00 stdout --- End of stack trace from previous location where exception was thrown --- 2018-02-24 13:25:00 stdout at System.Net.Mail.SendMailAsyncResult.SendMailFromCompleted(IAsyncResult result) 2018-02-24 13:25:00 stdout at System.Net.Mail.MailCommand.EndSend(IAsyncResult result) 2018-02-24 13:25:00 stdout at System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response) 2018-02-24 13:25:00 stdout System.Net.Mail.SmtpException: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required. Learn more at 2018-02-24 13:25:00 stdout Mail send failed. 2018-02-24 13:25:00 stdout [41m[30mfail[39m[22m[49m: Bit.Core.Services.SmtpMailDeliveryService[0] 2018-02-24 13:24:59 stdout Request finished in 6.703ms 200 2018-02-24 13:24:59 stdout [40m[32minfo[39m[22m[49m: Microsoft.AspNetCore.Hosting.Internal.WebHost[2] 2018-02-24 13:24:59 stdout Executed action Bit.Api.Controllers.AccountsController.PostVerifyEmail (Api) in 3.952ms 2018-02-24 13:24:59 stdout [40m[32minfo[39m[22m[49m: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[2] 2018-02-24 13:24:59 stdout Executing action method Bit.Api.Controllers.AccountsController.PostVerifyEmail (Api) with arguments ((null)) - ModelState is Valid 2018-02-24 13:24:59 stdout [40m[32minfo[39m[22m[49m: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1] 2018-02-24 13:24:59 stdout Authorization was successful for user: d70cbb68-3659-480e-8c5f-a8900149e1ec. 2018-02-24 13:24:59 stdout [40m[32minfo[39m[22m[49m: Microsoft.AspNetCore.Authorization.DefaultAuthorizationService[1] 2018-02-24 13:24:59 stdout AuthenticationScheme: Bearer was successfully authenticated. 2018-02-24 13:24:59 stdout [40m[32minfo[39m[22m[49m: IdentityServer4.AccessTokenValidation.IdentityServerAuthenticationHandler[8] 2018-02-24 13:24:59 stdout AuthenticationScheme: BearerIdentityServerAuthenticationJwt was successfully authenticated. 2018-02-24 13:24:59 stdout [40m[32minfo[39m[22m[49m: Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler[8] 2018-02-24 13:24:59 stdout Successfully validated the token. 2018-02-24 13:24:59 stdout [40m[32minfo[39m[22m[49m: Microsoft.AspNetCore.Authentication.JwtBearer.JwtBearerHandler[2] 2018-02-24 13:24:59 stdout Policy execution successful. 2018-02-24 13:24:59 stdout [40m[32minfo[39m[22m[49m: Microsoft.AspNetCore.Cors.Infrastructure.CorsService[4] 2018-02-24 13:24:59 stdout Request starting HTTP/1.0 POST http://bitwarden.ndd.fr/accounts/verify-email application/json;charset=utf-8 0 2018-02-24 13:24:59 stdout [40m[32minfo[39m[22m[49m: Microsoft.AspNetCore.Hosting.Internal.WebHost[1] 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Balooforever Posté(e) le 24 février 2018 Auteur Partager Posté(e) le 24 février 2018 Tu as bien mis ssl à true ? globalSettings__mail__smtp__ssl=true Et le port SMTP ? globalSettings__mail__smtp__port=587 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 24 février 2018 Partager Posté(e) le 24 février 2018 (modifié) Oui tout à fait, voici ma config : globalSettings__mail__replyToEmail=noreply@***.fr globalSettings__mail__smtp__host=mail.***.fr globalSettings__mail__smtp__username=**** globalSettings__mail__smtp__password=**** globalSettings__mail__smtp__ssl=true globalSettings__mail__smtp__port=587 globalSettings__mail__smtp__useDefaultCredentials=false Modifié le 24 février 2018 par InfoYANN 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Balooforever Posté(e) le 24 février 2018 Auteur Partager Posté(e) le 24 février 2018 Pour le replytoemail, j avais eu une erreur si ce n'était pas la même adresse que l'envoi ça me jetais mais s'était bien indiqué dans les logs. La honnêtement, je sèche .. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 24 février 2018 Partager Posté(e) le 24 février 2018 J'ai aussi essayé en mettant ma propre adresse mais pareil, ça ne passe pas... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Balooforever Posté(e) le 24 février 2018 Auteur Partager Posté(e) le 24 février 2018 Tu peux écrire au créateur de bitwarden il réponds rapidement :) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 24 février 2018 Partager Posté(e) le 24 février 2018 Ok je ferai ça d'ici quelques jours. Pas mal de choses à faire entre temps. Merci encore une fois en tout cas pour ton tuto ;) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 2 mars 2018 Partager Posté(e) le 2 mars 2018 Bonjour, Petite question de débutant. L'appli se met à jour elle même ou il faut le faire nous même. Si il faut le faire, je suppose qu'il faut lancer de temps en temps les commandes : ./bitwarden.sh updateself ./bitwarden.sh update ./bitwarden.sh updatedb C'est bien ça ? Merci 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Balooforever Posté(e) le 2 mars 2018 Auteur Partager Posté(e) le 2 mars 2018 Effectivement je croyais l'avoir ajouté au tuto. Il faut lancer une tache planifié (à la fréquence de ton choix ou manuellement) avec : cd /volume1/docker/bitwarden ./bitwarden.sh updateself ./bitwarden.sh update 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
unPixel Posté(e) le 2 mars 2018 Partager Posté(e) le 2 mars 2018 Ok merci pour l'info ;) 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Balooforever Posté(e) le 2 mars 2018 Auteur Partager Posté(e) le 2 mars 2018 Je suis méfiant de le mettre en auto, on ne sait jamais si le script est modifié, ça pourrait compromettre le NAS.. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
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.