A día de hoy, me parece increíble todavía el ver que la gente no usa todavía un gestor de contraseñas con las que poder asegurarnos que van a estar siempre guardadas en una base de datos encriptada. Pero aún peor, me parece que los que nos dedicamos al mundillo de IT, hay muchos que no conocen este tipo de herramientas.
Para el que no las conozca, un gestor de contraseñas te permite guardar todas las passwords en una base de datos que está encriptada. De esta manera, nos evitamos el tenerlas escritas en papelotes, a la vista y que puedan ser comprometidas.
Existen dos tipos de gestor de contraseñas, como servicio (online) o completamente offline. Mi consejo es NO contratar ningún servicio online, pese a lo atractivo que pueda parecer el tener accesible desde cualquier dispositivo y lugar del mundo el acceso a ellas. Al final, estás guardando tus secretos más valiosos en un servido el cual no administras y que muchas veces son hackeados y se publica.
En este artículo, cubrimos Passbolt, que no solo nos cubre la parte de gestión de passwords, sino que también nos da otra mucha funcionalidad, como la de poder compartir contraseñas, entre miembros del equipo sin necesidad de enviarlas en texto plano vía mensaje, email, chat…
Passbolt lo podemos instalar en Linux, bare metal, pero también como un contenedor Docker. En este vídeo y artículo nos centramos en la vía Docker.
Docker Compose
Imprescindible que cambiéis contraseñas, la URL, etc.. Siempre hay que poner las cosas en producción sin valores por defecto.
version: "3.9"
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
#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.local
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:
- 80:80
- 443:443
#Alternatively for non-root images:
# - 80:8080
# - 443:4433
volumes:
database_volume:
gpg_volume:
jwt_volume:
Vídeo
Si tienes alguna duda de los pasos a seguir o configurar, puedes echar un vistazo a este vídeo del canal.