Vaultwarden, cómo instalar o hostear un gestor de contraseñas

He trabajado muchos años con diferentes herramientas de gestión de contraseñas y animo a todos mis allegados a olvidarse de la «contraseña para todo» y sensibilizar de la importancia de tener claves potentes.

Este año he decido cambiar mi viejo gestor de contraseñas por uno más moderno y tras haber realizado un análisis, me he decantado por Vaultwarden, que es la alternativa abierta / open source de Bitwarden. De hecho, todos las apps cliente de Bitwarden son compatibles con Vaultwarden.

Vaultwarden es conocida, según su claim, como «El gestor de contraseñas creado por la comunidad«.

Al margen de las garantías y seguridad de este proyecto creado y promovido por Dani García, me ha gustado mucho su sencillez de uso y la facilidad de instalación.

En este artículo explico cómo instalar Vaultwarden en Linux utilizando tecnología Docker para facilitar la instalación, mantenimiento y seguridad del servicio.

Cómo instalar Vaultwarden en Ubuntu con Docker

Para empezar, la instalación es tremendamente simple. Pero eso sí, como buena política de Vaultwarden, necesitarás securizar la aplicación e instalarla bajo un proxy HTTPS.

En mi caso, utilizo el proxy inverso Nginx que manejo con el contenedor de Nginx Proxy Manager e integro la creación de certificados con Let’s Encrypt, que te permite hacerlo de manera grauita, es el propio Nginx Proxy Manager el que se encarga de la renovación automática de los mismos…

Una vez tenemos identificada la solución para este único requisito de ciberseguridad, que es el tema TLS, vamos con la instalación. Así de fácil, hacemos un pull del proyecto de docker y lo arrancamos.

docker pull vaultwarden/server:latest

Después de un ratito, cuando termine de descargarse las fuentes, podremos arrancarlo con el siguiente comando:

docker run -d --name vaultwarden -v /var/opt/contenedores/vaultwarden/:/data/ -v /var/opt/contenedores/vaultwarden_plantillas:/data/templates/email --restart unless-stopped -p 82:80 -e ADMIN_TOKEN=CONTRASEÑA_TOKEN_SUPERSEGURO -e TEMPLATES_FOLDER=/data/templates vaultwarden/server:latest

En este comando, vemos que le estamos dando de nombre vaultwarden al contenedor, ubicamos dos volúmenes para persistir sus datos y también algunas variables de entorno.

El volumen /data/ es donde vaultwarden almacena toda la información que necesitamos persistir (bases de datos, por ejemplo).

El volumen /data/templates/email es prescindible. Sirve para poner las plantillas de los correos en castellano o en cualquier otro idioma. Normalmente la verás como /data/templates pero dado que el idioma en Castellano no trae la carpeta «email», lo pongo así.

La variable de entorno TEMPLATES_FOLDER no estoy seguro de si es necesaria, pero por si acaso, la ponemos. Ahí especificamos dónde están los templates que se utilizan para enviar los correos.

La variable de entorno ADMIN_TOKEN sirve para acceder al Panel de administración, desde donde podremos activar o desactivar funcionalidades, configurar el SMTP, etc.

Cómo acceder al Panel de administración

Vaultwarden viene con un panel de administración que te deja hacer alguna que otra cosa como configurar el servidor de correo de SMTP y hacer cierta gestión de usuarios, así como revocar accesos, invitar o incluso bloquear la creación de nuevos usuarios.

Pero lo más importante es que configuremos el hostname de Vaultwarden para que los correos envíen enlaces correctos a los clientes.

Para acceder al panel de administración, tendrás que configurar la variable de entorno ADMIN_TOKEN en el docker run. El contenido que configuremos en dicha variable será la clave de acceso para el panel de administración, que está en la URL: https://mivaultwarden.com/admin

Cómo cambiar las plantillas de los correos de Vaultwarden al Castellano

Vaultwarden no se puede configurar para que envíe los correos en castellano con un click. Sus correos se mandan en base a unas plantillas que sólo están en inglés en una instalación limpia. Pero el propio Dani García ya nos explica que podemos descargar plantillas de terceros que vengan con las traducciones al idioma que deseemos.

Descargamos las plantillas en castellano, que ha hecho una tercera persona, lo hacemos en el directorio que queramos:

cd /var/opt/contenedores/

Finalmente, clonamos el proyecto de Javier Varez de github con todos sus templates:

git clone https://github.com/javier-varez/vaultwarden-lang-es.git vaultwarden_plantillas

Aquí le hemos especificado a git clone que ponga los resultados en el directorio vaultwarden_plantillas.

Cuidado, es importante que dentro de la carpeta de vaultwarden_plantillas exista un directorio email. Como en el caso del castellano no existe, configuramos el volumen en el docker run con /data/templates/email.

Y ya está, con esto ya tendremos Vaultwarden en funcionamiento. Espero que te haya servido, tienes la documentación oficial de Vaultwarden en la página de git de Dani García.

Ibai

Apasionado por la tecnología, el software, las interfaces de usuario (UX UI) y los sistemas. Utilizo este canal de comunicación para transmitir de manera informal, y muchas veces "rápido", pequeñas aportaciones a la comunidad software.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.

*

Artículos relacionados