Installer Passbolt avec Docker
Passbolt

Installer Passbolt avec Docker

Table des matières

Passbolt
Open source password manager for teams. Passbolt has 68 repositories available. Follow their code on GitHub.

Retenir ses mots de passe peut s'avérer fastidieux. Surtout s'ils sont complexes et qu'ils ne sont pas communs à tous vos comptes utilisateurs.

Heureusement on vit une époque formidable où il y a une application pour presque tout!

Aujourd'hui nous allons parler de Passbolt! Un gestionnaire de mot de passe orienté Team mais qui peut tout à fait être utilisé par une seule personne. Mais oui!

Une fois installée et configurée, Passbolt est intuitif & facile d'utilisation.


⚡Caractéristiques

Il y en a pas mal, alors pour que ça reste lisible et propre:

Browser | Passbolt documentation.
Passbolt browser extension essential features

Mobile

TOTP | Passbolt documentation.
How to create a TOTP on Mobile application

💾 L'installation

  1. Créez votre docker-compose.yml dans le dossier où vous comptez installer xxx:
sudo nano docker-compose.yml
  1. Collez ça dedans en prenant soin d'adapter les ports et les volumes suivant votre configuration:
version: "3.9"
services:
  db:
    image: mariadb:10.11
    restart: unless-stopped
    environment:
      MYSQL_RANDOM_ROOT_PASSWORD: "true"
      MYSQL_DATABASE: "passbolt"  #1
      MYSQL_USER: "passbolt"      #2
      MYSQL_PASSWORD: "P4ssb0lt"  #3
    volumes:
      - database_volume:/var/lib/mysql

  passbolt:
    image: passbolt/passbolt:latest-ce
    #Alternatively you can use rootless:
    #image: passbolt/passbolt:latest-ce-non-root
    restart: unless-stopped
    depends_on:
      - db
    environment:
      APP_FULL_BASE_URL: https://passbolt.mondomaine.com
      DATASOURCES_DEFAULT_HOST: "db"
      DATASOURCES_DEFAULT_USERNAME: "passbolt"  #2
      DATASOURCES_DEFAULT_PASSWORD: "P4ssb0lt"  #3
      DATASOURCES_DEFAULT_DATABASE: "passbolt"  #1
      EMAIL_DEFAULT_FROM_NAME: "belginux"
      EMAIL_DEFAULT_FROM: "zarev@belginux.com"
      EMAIL_TRANSPORT_DEFAULT_HOST: "smtp.xxx.xxx"
      EMAIL_TRANSPORT_DEFAULT_PORT: "587"
      EMAIL_TRANSPORT_DEFAULT_USERNAME: "zarev@belginux.com"
      EMAIL_TRANSPORT_DEFAULT_PASSWORD: "MontMotDePasse"
      EMAIL_TRANSPORT_DEFAULT_TLS: "tls"
    volumes:
      - gpg_volume:/etc/passbolt/gpg
      - jwt_volume:/etc/passbolt/jwt
    command:
      [
        "/usr/bin/wait-for.sh",
        "-t",
        "0",
        "db:3306",
        "--",
        "/docker-entrypoint.sh",
      ]
    ports:
      - 8074:80
      - 4943:443
    #Alternatively for non-root images:
    # - 80:8080
    # - 443:4433

volumes:
  database_volume:
  gpg_volume:
  jwt_volume:

Veillez à changer:

  • APP_FULL_BASE_URL: https://passbolt.mondomaine.com => Replacez https://passbolt.mondomaine.com par votre domaine.
  • #1, #2, #3 => Tout cela se change par paire, pour vous aider j'ai donc mis #1, #2 et #3, qui corresponde respectivement à: #1 le nom de la base de donnée, #2 le nom d'utilisateur de la base de données et enfin, #3 le mot de passe.

Pour la partie mail, facultative mais fortement conseillée, soit vous avez déjà votre serveur mail et vous êtes en possession des informations nécessaires, soit vous voulez utiliser Gmail, Outlook,... Dans ce cas voyez ici comment faire:

Configurer le SMTP pour envoyer un mail avec une application Docker
Tutoriel pour configurer le SMTP afin d’envoyer un mail à partir de vos applications self-hosted.
  • EMAIL_DEFAULT_FROM_NAME: "belginux" => Le nom qui s'affiche quand vous recevez un e-mail.
  • EMAIL_DEFAULT_FROM: "zarev@belginux.com" => Indiquez votre adresse e-mail.
  • EMAIL_TRANSPORT_DEFAULT_HOST: "smtp.xxx.xxx" => Le nom du serveur mail.
  • EMAIL_TRANSPORT_DEFAULT_PORT: "587" => Le port du serveur mail.
  • EMAIL_TRANSPORT_DEFAULT_USERNAME: "zarev@belginux.com" => Votre e-mail complet.
  • EMAIL_TRANSPORT_DEFAULT_PASSWORD: "MontMotDePasse" => Le mot de passe de l'e-mail.
  • EMAIL_TRANSPORT_DEFAULT_TLS: "tls" => tls.

On va déployer l'application:

docker compose -f docker-compose-ce.yaml up -d
  1. Rendez-vous sur votre domaine:
http://ip:4943/

ou votre domaine:

https://mondomaine.com

👤 Création du compte administrateur

Pour cela il faudra vous placer à la racine du dossier ou vous avez mis votre docker-compose.

  1. Tapez cette commande:
docker compose -f docker-compose-ce.yaml \

Ce qui donne:

  1. Ensuite tapez cette commande à côté du >:
exec passbolt su -m -c "/usr/share/php/passbolt/bin/cake \

Ce qui donne:

  1. Tapez également cette commande à côté du >:
passbolt register_user \

Ce qui donne:

  1. Tapez cette commande en prenant soin de mettre votre adresse e-mail à la place de la mienne, toujours à côté du >:
-u zarev@belginux.com \

Ce qui donne:

  1. Tapez cette commande en prenant soin de choisir votre nom/pseudo, toujours à côté du >:
-f zarev \

Ce qui donne:

  1. Tapez cette commande en prenant soin de choisir votre nom de famille/pseudo seondaire, toujours à côté du >:
-l skaya \

Ce qui donne:

  1. Vous aimez copier coller des commandes? Allez alors, on continue! Ici il faut copier coller tel quel, oui, toujours à côté du >:
-r admin" -s /bin/sh www-data

Ce qui donne:

Après avoir tapé cette dernière commande, vous allez avoir un retour comme ceci:

Cela va donc retourner un lien si tout s'est bien déroulé. Faites CTRL + clic gauche pour ouvrir la page et terminer l'installation/configuration de Passbolt:

https://passbolt.mondomaine.com/setup/install/1eafab88-a17d-4ad8-97af-77a97f5ff552/f097be64-3703-41e2-8ea2-d59cbe1c15bc

🔧 Terminer l'installation et la configuration

Lorsque vous avez cliqué sur le lien vous êtes donc redirigé vers votre instance Passbolt, qui vous invite avant toute chose de télécharger l'extension en rapport avec votre navigateur:

Je vais donc télécharger et installer l'extension. Quand c'est fait, retournez sur la page de votre instance Passbolt.

Vous devrez indiquer une phrase de passe, choisissez-là avec soin, quand c'est fait, cliquez sur Suivant:

Quand vous aurez cliqué sur suivant, ça va d'office télécharger un kit de récupération content une clé secrète. Conserver-le bien précieusement. Cliquez sur Suivant:

Il vous sera demandé de choisir 3 lettres et une couleur, cliquez sur Suivant:

Félicitations! Vous êtes sur votre tableau de bord:


📫 Tester le serveur mail

C'est un test que j'estime important à faire car si un jour vous devenez amnésique et que vous avez oublié votre mot de passe maître et que vous avez égaré le code de récupération, il faudra bien d'une manière ou d'une autre que vous puissiez reprendre le dessus.

C'est pourquoi un test du serveur mail s'impose. Mais avant cela, une petite vérification.

J'ai constaté que, juste après l'installation de Passbolt, le paramètre TLS est sur non alors que je l'ai explicitement demandé dans le docker-compose, allons vérifier cela.

Cliquez en haut à gauche sur Administration:

Rendez-vous partie Serveur mail:

Dans la partie TLS, si c'est sur Non et que vous utilisez le TLS, mettez-le sur oui:

Enregistrez vos paramètres en cliquant sur Enregistrer les paramètres:

Dans la foulée, profitez-en pour envoyer un e-mail de test dans cliquant sur Envoyer un e-mail de test:

Manifestement, tout est bon:


🔒 Multi Factor Authentication (MFA)

Ajouter une couche de sécurité sur ce type d'instance n'est (vraiment) pas du luxe. Il est possible de permettre 3 MFA:

  • Mot de passe à usage unique basé sur le temps (TOPT)
  • Yubikey
  • Duo

N'ayant pas de Yubikey ni Duo, je vais donc rendre disponible l'option Mot de passe à usage unique basé sur le temps (TOPT).

Toujours dans Administration, cliquez sur Multiple Facteurs d'Authentification:

Cochez Mot de passe à usage unique basé sur le temps (TOPT):

Cliquez sur Enregistrer les paramètres:

Je vais me rendre en haut à droite sur mon compte et choisir Profil:

Ensuite sur Multiple Facteurs d'Authentification, où on peut retrouver l'authentification par TOPT que nous avons activé précédemment. On va cliquer dessus....

...et suivre les instructions. je clique donc sur démarrer:

J'entre mon code de vérification, je clique sur Validate:

On est bon!



🔑 Ajouter un site | générer un mot de passe

Lorsque vous êtes face à un formulaire d'inscription, cliquez sur la clé rouge et cliquez sur Créer un nouvel identifiant, ce qui va ouvrir une fenêtre de configuration que vous pouvez configurer comme vous voulez. C'est vraiment très facile d'utilisation.

C'est exactement de la même manière que vous pourrez entrer les informations de votre compte quand il est déjà créé.


👥 Création d'un utilisateur

Soit vous utilisez Passbolt seul ou avec des autres personnes.

Dans le cas où vous voudriez ajouter des utilisateurs, rendez-vous dans la partie utilisateurs:

Cliquez sur Créer:

Entrez son prénom et son nom, son adresse e-mail et cliquez sur Enregistrer:

L'utilisateur recevra par e-mail, un lien l'invitant à terminer la création de son compte sur votre instance:


📱 Connecter son smartphone à votre instance Passbolt

La première chose à faire est d'installer l'application sur votre smartphone.

Android

Passbolt - password manager – Applications sur Google Play
Sécurisé et open source. Emportez vos mots de passe en toute sécurité avec vous lors de vos déplacements

iOS

‎Passbolt - password manager
‎Take your team’s passwords with you wherever you go by downloading Passbolt’s open-source mobile app. It offers all the beloved features of the web application, including industry-leading password sharing security, form autofill, plus biometric and multi-factor authentication. Why choose Passbolt m…

Lorsque vous lancer l'application mobile pour la première fois, il faudra cliquer sur Connect to an existing account:

Ensuite l'application vous demande de scanner un QR Code:

Pour cela il faudra vous rendre sur votre instance, cliquer sur Profil:

Ensuite sur Configuration mobile et pour finir, sur Démarrer:

Vous devrez scanner le QR Code avec votre smartphone. Quand c'est terminé vous allez recevoir une confirmation sur votre instance Passbolt:

Du côté du smartphone également:

Cliquez sur Continue et vous allez devoir entrer votre phrase de passe, si vous avez configuré la 2FA, votre code et ensuite vous aurez la possibilité d'ajouter votre emprunte digitale.


zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.