This site uses cookies! Learn More

Ce site utilise des cookies !

En continuant à utiliser ce site, vous vous engagez à nous permettre de stocker des cookies sur votre ordinateur.

 

Si nous utilisons des cookies et retenons des données anonymes, c’est pour nous aider à mieux gérer notre mesure d’audience, aider nos partenaires commerciaux à nous rémunérer et nos partenaires publicitaires à proposer des annonces qui vous correspondent.

 

Grâce à ces cookies, le forum est en mesure de savoir qui écrit un message et utile pour le système d'authentification.

 

En cliquant sur « J'accepte », vous acceptez l'utilisation par NAS-Forum de cookies publicitaires et de mesure d'audience fine.

Balooforever

[TUTO] Installer Bitwarden

Messages recommandés

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.

Tout d'abord, nous allons créer un dossier "Bitwarden" dans le dossier Docker.
Créer maintenant un certificat Lets Encrypt pour votre sous domaine bitwarden (sousdomaine.toto.com par exemple)
Connecter vous sur le site de bitwarden afin d'obtenir un ID :
https://bitwarden.com/host
ID d'installation: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Clé d'installation: xxxxxxxxxxxxxxx

Maintenant connecter vous en SSH :
sudo -i
Votre mot de passe Root puis
cd /volumeX/docker/bitwarden

Nous allons maintenant récupérer le script d'installation :
 

curl -s -o bitwarden.sh https://raw.githubusercontent.com/bitwarden/core/master/scripts/bitwarden.sh&& sudo chmod u+x bitwarden.sh 

 


Puis

 

 

./bitwarden.sh install

 



Pendant l'installation :
- Domaine pour l'instance bitwarden: sousdomaine.votredomaine.com
- Letscrypt devrait-il créer un certificat ? n
- entrer l'ID d'installation
- entrer la clé d'installation
- avez-vous un certificat : y
- utiliser les ports par défaut : n
- Entrez le port HTTP : 81 (utilisez un port libre !)
- Entrez le port HTTPS : 444
- derrière le proxy inverse : n (sauf si reverse proxy de Synology)
- notifications push : n
- Diffie Hellmann : n
- votre certificat est il approuvé : y

Maintenant aller dans le répertoire docker/bitwarden (en smb ou avec File Station) puis créer les dossiers suivants dans le dossier bwdata :
/volumeX/docker/bitwarden/bwdata/letsencrypt
/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
/volumeX/docker/bitwarden/bwdata/ca-certificates
/volumeX/docker/bitwarden/bwdata/nginx
/volumeX/docker/bitwarden/bwdata/identity
/volumeX/docker/bitwarden/logs
/volumeX/docker/bitwarden/logs/admin
/volumeX/docker/bitwarden/logs/api
/volumeX/docker/bitwarden/logs/identity
/volumeX/docker/bitwarden/logs/mssql
/volumeX/docker/bitwarden/logs/nginx


Maintenant nous allons copier les certificats LetsEncrypt. Il faut les renommer comme ci-dessous et les inserer dans "ssl/votredomaine":

privkey.pem /volume1/docker/bitwarden/bwdata/ssl/votredomaine/private.key
cert.pem /volume1/docker/bitwarden/bwdata/ssl/votredomaine/certificate.crt
chain.pem /volume1/docker/bitwarden/bwdata/ssl/votredomaine/ca.crt

Maintenant (c'est presque fini) en SHH :

./bitwarden.sh start

Puis :

./bitwarden.sh updateself
./bitwarden.sh update
./bitwarden.sh updatedb

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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] 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant