🔐Instalar y configurar Passbolt en Docker paso a paso

Hoy vamos a ver cómo instalar y configurar Passbolt en un contenedor Docker. Para quienes no lo conozcan, Passbolt es un gestor de contraseñas de código abierto orientado a equipos. Es una herramienta muy útil si trabajas en entornos colaborativos donde compartir credenciales de forma segura es imprescindible.

Icono Passbolt

Lo mejor de todo es que lo podemos desplegar en pocos minutos usando Docker.

Requisitos previos

Antes de empezar, asegúrate de tener lo siguiente:

  • Docker y Docker Compose instalados en tu sistema.
  • Un dominio (opcional pero recomendado si quieres usar HTTPS).
  • Puertos 80 y 443 libres. Tambien puede servir otro puerto si tenemos los anteriores puertos ocupados

Puedes instalar Docker y Docker Compose en la mayoría de distribuciones Linux con los siguientes comandos:

sudo apt update
sudo apt install docker.io docker-compose -y

NOTAS: Este post esta instalado en una NAS Synology pero se podria instalar en cualquier entorno que tenga instalado docker.

Crear el archivo docker-compose.yml

Vamos a crear un directorio para Passbolt y dentro de él el archivo de configuración docker-compose.yml.

mkdir passbolt && cd passbolt
nano docker-compose.yml

Pega el siguiente contenido:

services:
  db:
    image: mariadb:10.11
    restart: unless-stopped
    environment:
      MYSQL_RANDOM_ROOT_PASSWORD: "true"
      MYSQL_DATABASE: "passbolt"
      MYSQL_USER: "passbolt"
      MYSQL_PASSWORD: "P4ssb0lt"
    volumes:
      - database_volume:/var/lib/mysql

  passbolt:
    image: passbolt/passbolt:latest-ce # Imagen en formato root, pero se puede instalar sin non-root
	#image: passbolt/passbolt:latest-ce-non-root
    restart: unless-stopped
    depends_on:
      - db
    environment:
      APPAPP_FULL_BASE_URL: http://passbolt.domain.com #
      PASSBOLT_SSL_FORCE: false
      DATASOURCES_DEFAULT_HOST: "db"
      DATASOURCES_DEFAULT_USERNAME: "passbolt"
      DATASOURCES_DEFAULT_PASSWORD: "P4ssb0lt"
      DATASOURCES_DEFAULT_DATABASE: "passbolt"
    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:
      - 8011:80 #Se puede cambiar los puertos sin ningun problema XXXX:80
      - 4423:443 #Se puede cambiar los puertos sin ningun problema XXXX:443

volumes:
  database_volume:
  gpg_volume:
  jwt_volume:

Iniciar los contenedores

Una vez configurado todo, ejecutamos:

docker-compose up -d

Esto descargará las imágenes necesarias y levantará los contenedores de Passbolt y MariaDB. Puedes comprobar que todo está corriendo con:

docker ps

Inicializar Passbolt

Accede a tu navegador y abre http://localhost o https://direccionIP según hayas configurado el docker-compose. Te aparecerá el asistente de configuración de Passbolt:

Para funcionar la primera vez tendrás que ejecutar la siguiente linea de comandos, dentro del docker para que pueda generarse un enlace en especifico con los datos que se solicitan.

sudo docker exec "docker_ID" su -m -c "bin/cake passbolt register_user -u "Correo asociado" -f "Nombre" -l "Apellido" -r "rol_definido""-s /bin/sh www-data
  1. Docker ID: Numero de ID asociado al docker de Passbolt
  2. Correo asociado: Deberemos de incluir un correo para la hora del login.
  3. Nombre: Introducir un nombre del usuario
  4. Apellido: Introducir un apellido del usuario

En la siguiente imagen podemos ver que nos indica lo que tenemos que introducir en la url del passbolt

Comando Passbolt

Una vez tengas la URL completa y la hayas introducido en el navegador, os saldrá una imagen como esta:

Contraseña Passbolt

En la siguiente imagen, se puede ver que os descarga de forma automática un kit de recuperación. Es importante que este kit, se guarde de forma segura y que no se pierda. Una vez que lo tengas guardado, tendras que habilitar la casilla de «He guardado mi kit de recuperacion de forma segura» y darle a siguiente.

Kit de recuperación Passbolt

En el siguiente paso, nos pedirá escoger un color y introducir tres caracteres. Esto sirve para que cuando nos solicite la contraseña de acceso, venga del passbolt y no sea una posible ataque de Phishing.

Token y colores seguridad Passbolt

Por ultimo, cuando hayáis terminado con todo el proceso. Os saldrá una pagina como la siguiente imagen, que os indica que ya esta funcionando correctamente el passbolt.

Pagina inicial Passbolt

Consejos extra

  • Si quieres usar HTTPS, puedes usar un proxy inverso con Nginx y Let’s Encrypt (por ejemplo, con NGINX Proxy Manager).
  • Realiza backups regulares del volumen ./db donde se guarda la base de datos.
  • Mantén las imágenes actualizadas con docker-compose pull.

Conclusión

Passbolt es una solución potente para la gestión de contraseñas en equipos. Y gracias a Docker, su despliegue es muy sencillo. En pocos pasos puedes tener un entorno funcional, seguro y accesible desde cualquier lugar.

Si tienes dudas o quieres compartir tu experiencia, puedes dejar un comentario para que podamos leerte o ayudarte sin problemas.

Scroll al inicio
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

WordPress Appliance - Powered by TurnKey Linux