Aller au contenu

Messages recommandés

Posté(e) (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 😉

Qnwl3Pl.png

 

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.

jssCl44.png

 

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é par Balooforever
  • 3 semaines aprĂšs...
Posté(e) (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é par InfoYANN
Posté(e) (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é par Balooforever
Posté(e) (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é par InfoYANN
Posté(e) (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é par Balooforever
Posté(e)

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.

Posté(e) (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é par InfoYANN
Posté(e) (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é par Balooforever
Posté(e)

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.

Posté(e)

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.

Posté(e)

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] 

 

 

Posté(e) (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é par InfoYANN
Posté(e)

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

Posté(e)

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

 

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.

Invité
Répondre à ce sujet


×   CollĂ© en tant que texte enrichi.   Coller en tant que texte brut Ă  la place

  Seulement 75 Ă©moticĂŽnes maximum sont autorisĂ©es.

×   Votre lien a Ă©tĂ© automatiquement intĂ©grĂ©.   Afficher plutĂŽt comme un lien

×   Votre contenu prĂ©cĂ©dent a Ă©tĂ© rĂ©tabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insĂ©rez-les depuis une URL.

×
×
  • CrĂ©er...

Information importante

Nous avons placĂ© des cookies sur votre appareil pour aider Ă  amĂ©liorer ce site. Vous pouvez choisir d’ajuster vos paramĂštres de cookie, sinon nous supposerons que vous ĂȘtes d’accord pour continuer.