Mejor Gestor de Contraseñas: Cuál es el Más Seguro y Fácil
Vaultwarden es un servidor compatible con Bitwarden que puedes montar en tu Proxmox en poco tiempo. Aquí explico cómo lo tengo yo y qué hay que saber antes de lanzarse.
Tienes Proxmox: no necesitas pagar por contraseñas
Si ya tienes un servidor en casa corriendo Proxmox —o aunque sea un NAS con Docker—, probablemente ya te has preguntado por qué sigues pagando a una empresa para que guarde tus contraseñas en su nube. Tienes la infraestructura, tienes la conexión, y desconfías, con razón, de meter tus credenciales más críticas en servicios que no controlas del todo.
El problema es que montar tu propio gestor de contraseñas siempre ha sonado a proyecto de fin de semana: certificados TLS, reverse proxy, backups, actualizaciones… Demasiado lío para algo que solo quieres que funcione. O eso creías.
En este post te cuento cómo desplegar Vaultwarden —un servidor alternativo compatible con todos los clientes oficiales de Bitwarden— como LXC no privilegiado en Proxmox. Si ya tienes el homelab montado y un dominio propio con certificado TLS, es cuestión de una tarde corta. Lo que ganas: control total de tu vault, ningún tercero con acceso a tus credenciales, y sin cuota mensual. Lo que asumes: la responsabilidad de los backups y las actualizaciones. Te lo explico todo.
Por qué importa
Cero euros al año
Bitwarden Premium cuesta 10 USD/año; 1Password desde 2,99 USD/mes. Con Vaultwarden en tu propio hardware pagas cero de suscripción.
Cifrado en el cliente
El vault se cifra en tu dispositivo antes de llegar al servidor. Vaultwarden nunca maneja tu clave de descifrado.
10-30 MB en reposo
Consume entre 10 y 30 MB de RAM en reposo. Funciona sin problema en un LXC no privilegiado de Proxmox.
2FA sin coste extra
Soporta TOTP y WebAuthn/FIDO2 de serie. Puedes añadir llave de seguridad física o app de autenticador desde el primer día.
Por qué plantearse salir de la nube (sin dramatizar)
Los gestores de contraseñas en la nube funcionan bien para la mayoría de la gente. El problema no es que sean inseguros por diseño, sino que concentran un volumen enorme de vaults en un único objetivo muy apetecible.
En diciembre de 2022, LastPass publicó un aviso oficial en el que confirmaba que los atacantes habían extraído vaults cifrados junto con metadatos en claro: URLs de los sitios guardados, nombres de usuario, direcciones IP. El vault seguía cifrado, pero la información de contexto ya no. Bitwarden y KeePass no estuvieron afectados en ese incidente.
Menciono esto no para asustar, sino para poner sobre la mesa qué modelo de amenaza estás gestionando cuando eliges dónde guardar tus contraseñas. Self-hostear no es la respuesta para todo el mundo. Pero si ya tienes un Proxmox en casa y un dominio propio, añadir Vaultwarden al stack tiene mucho sentido: control total sobre tus datos, sin pagar suscripción, y con los mismos clientes que ya conoces.
Qué es Vaultwarden y qué no es
Vaultwarden es una reimplementación de la API de Bitwarden escrita en Rust por la comunidad. Es compatible con todos los clientes oficiales de Bitwarden —extensión de navegador, app de iOS, Android y desktop— sin necesidad de modificarlos. Solo cambias la URL del servidor en la configuración del cliente.
Importante: Vaultwarden no es un producto de Bitwarden Inc. ni cuenta con su soporte oficial. Es un proyecto de terceros no afiliado. Si algo falla, el soporte viene de la comunidad y de los issues del repositorio en GitHub. Eso hay que tenerlo claro antes de montar nada en producción.
Lo que ofrece Vaultwarden de serie:
- Arquitectura zero-knowledge: el cifrado ocurre en el cliente con PBKDF2-SHA256 o Argon2id. El servidor almacena solo el vault ya cifrado y nunca maneja tu clave de descifrado.
- SQLite como base de datos por defecto. En reposo consume entre 10 y 30 MB de RAM.
- Segundo factor con TOTP y WebAuthn/FIDO2.
- Soporte para organizaciones y colecciones compartidas.
Lo que no tiene, o tiene de forma limitada respecto al Bitwarden oficial: SSO empresarial, políticas avanzadas de organización y soporte oficial. Si gestionas contraseñas para un equipo con requisitos de auditoría, eso importa y hay que valorarlo.
La clave de cifrado se deriva de tu master password en el cliente. El servidor solo ve datos que ya llegan cifrados. Sin tu contraseña maestra, los datos almacenados no se pueden descifrar.
Requisitos reales antes de empezar
El «lo montas en diez minutos» es verdad si ya tienes esto en marcha. Si no, el tiempo es considerablemente mayor.
Lo que necesitas sí o sí
- Proxmox VE operativo con acceso a la interfaz web o SSH.
- Dominio propio con un subdominio apuntando a tu IP pública.
- Certificado TLS válido: Vaultwarden requiere HTTPS obligatorio. Sin certificado válido, los clientes Bitwarden no se conectan, sin excepción. Let’s Encrypt con Caddy o Nginx Proxy Manager es la opción más cómoda.
- Un puerto abierto hacia internet, o VPN si prefieres no exponer nada directamente.
Opcional pero recomendable
- Un reverse proxy delante de Vaultwarden (Caddy, Nginx, Traefik) para centralizar la gestión de certificados.
- Acceso SSH configurado con clave, no contraseña.
- Un destino remoto para backups automáticos: un bucket S3, Backblaze B2, o cualquier almacenamiento fuera del servidor.
Desplegar Vaultwarden en Proxmox
Hay dos caminos principales: un contenedor LXC no privilegiado o Docker dentro de una VM o LXC existente. Yo uso LXC porque es más ligero y encaja mejor con cómo tengo organizado el homelab. Docker también funciona perfectamente si ya tienes un host Docker montado.
Opción A: LXC no privilegiado
Crea un LXC desde la interfaz de Proxmox usando una plantilla Debian 12 o Ubuntu 22.04. Asígnale al menos 512 MB de RAM (con 256 MB arranca, pero las actualizaciones y la compilación necesitan margen), 2 vCPUs y 4 GB de disco. Para uso personal es más que suficiente.
Dentro del contenedor, el proceso básico es:
- Instala las dependencias mínimas:
apt install curl unzip -y. - Descarga el binario pre-compilado de Vaultwarden desde los releases del repositorio
dani-garcia/vaultwardenen GitHub, eligiendo la variante correcta para tu arquitectura (amd64 o aarch64). - Crea el fichero de configuración
/etc/vaultwarden.envcon al menos las variablesDOMAIN,ADMIN_TOKENySIGNUPS_ALLOWED=false. - Crea un servicio systemd para arrancarlo automáticamente con el servidor.
Poniendo SIGNUPS_ALLOWED=false desde el primer momento evitas registros no deseados si la instancia queda expuesta antes de terminar de configurar el firewall. El ADMIN_TOKEN protege el panel de administración; usa algo generado con openssl rand -base64 48, no una contraseña manual.
La documentación oficial del repositorio tiene las instrucciones actualizadas. Merece la pena leerla entera antes de ejecutar nada; el proyecto avanza rápido y los detalles cambian entre versiones.
Opción B: Docker Compose
Si tienes un host Docker ya en marcha, el punto de partida es el docker-compose.yml que mantiene el propio repositorio de Vaultwarden. Monta el volumen de datos en un directorio con backup automatizado y define las variables de entorno en un fichero .env.
services:
vaultwarden:
image: vaultwarden/server:latest
volumes:
- ./vw-data:/data
env_file: .env
restart: unless-stopped
El contenedor en reposo consume alrededor de 10-15 MB de RAM. En un homelab donde cada megabyte cuenta, eso es prácticamente ruido de fondo.
Conectar los clientes Bitwarden a tu servidor
Esta parte es la más sencilla del proceso. Los clientes oficiales de Bitwarden tienen un campo específico para indicar un servidor alternativo. No necesitas ninguna versión modificada ni fork de la app.
En la extensión de navegador:
- Abre el popup de Bitwarden.
- Pulsa el icono de región o ajustes de servidor (varía según la versión del cliente).
- Selecciona «Self-hosted» e introduce la URL de tu instancia, por ejemplo
https://vault.tudominio.com. - Guarda y crea tu cuenta o inicia sesión con una ya existente.
En apps móviles el proceso es idéntico: ajustes → servidor → self-hosted. Funciona en iOS y Android sin pasos adicionales ni configuración especial.
La primera vez que me conecté desde el móvil pensé que algo había fallado porque fue demasiado rápido. La latencia al tirar contra un servidor local es mínima comparada con los servidores cloud.
Lo que asumes cuando te self-hosteas
Aquí es donde muchos tutoriales pasan de puntillas, y donde creo que hay que ser directo.
Al montar Vaultwarden en casa, la responsabilidad de lo siguiente pasa a ser completamente tuya:
- Backups: si el disco muere y no tienes copia, pierdes el vault. La base de datos de SQLite es un único fichero en
/data/db.sqlite3. Cópialo a un destino remoto de forma automática y regular. Yo usorclonehacia un bucket de almacenamiento externo con retención de siete días. - Actualizaciones: Vaultwarden publica parches de seguridad con cierta frecuencia. Tienes que estar al tanto y aplicarlos. No es difícil, pero requiere atención activa.
- Disponibilidad: si el servidor se cae, el acceso al vault se interrumpe. Los clientes Bitwarden cachean el vault localmente, pero con limitaciones. Un proceso de monitorización básico y, si el homelab lo permite, un UPS, ayudan a reducir los sustos.
- Exposición a internet: si abres el puerto directamente, estás exponiendo un servicio con autenticación. Fail2ban, reglas de firewall restrictivas y segundo factor activado son el mínimo indispensable antes de abrir nada.
Dicho todo esto, para uso personal con un homelab ya operativo la carga de mantenimiento real es baja. Una vez en marcha toca poco. Pero esa responsabilidad existe y hay que asumirla de forma consciente, no porque un tutorial diga que es fácil.
En cuanto al coste económico: Bitwarden Premium en la nube son 10 USD al año, unos 0,83 USD al mes. Si ya tienes Proxmox encendido 24/7 de todas formas, el coste marginal de añadir Vaultwarden es prácticamente cero. Si montaras el servidor únicamente para esto, el cálculo sería diferente.
Preguntas frecuentes
Q: ¿Qué pasa si el servidor se cae y necesito mis contraseñas?
A: Los clientes de Bitwarden guardan una copia local del vault mientras están logueados, así que puedes acceder a tus contraseñas aunque el servidor esté caído temporalmente. El riesgo real es a largo plazo: si el servidor muere sin backup previo, pierdes el vault. El self-hosting traslada a ti la responsabilidad de backups, actualizaciones y disponibilidad.
Q: ¿Vale Vaultwarden sin dominio propio ni certificado TLS?
A: Sin HTTPS con certificado TLS válido, los clientes oficiales de Bitwarden rechazan directamente la conexión; no es un ajuste opcional. Necesitas un dominio propio y un certificado válido —Let's Encrypt funciona bien— como prerequisito antes de levantar el contenedor. Sin esos dos elementos, el setup no arranca, aunque todo lo demás esté perfecto.
Q: ¿Por qué Vaultwarden y no el Bitwarden cloud oficial?
A: Bitwarden cloud es una opción legítima y segura, pero el plan Premium cuesta 10 USD/año y tus datos viven en servidores de terceros. Con Vaultwarden en Proxmox, el vault cifrado nunca sale de tu red, el coste es prácticamente cero y el cifrado es idéntico: zero-knowledge, con clave derivada por PBKDF2-SHA256 o Argon2id. La contrapartida es que tú gestionas backups y actualizaciones.
Q: ¿Cuánto consume Vaultwarden en un Proxmox casero?
A: Vaultwarden está escrito en Rust y ronda los 10-30 MB de RAM en reposo, lo que lo hace ideal para un LXC no privilegiado con recursos mínimos. Un contenedor con 256 MB asignados es más que suficiente para uso doméstico con varios usuarios. SQLite como base de datos por defecto añade un overhead prácticamente imperceptible.
Q: ¿Qué pasa si dejo de mantener el servidor activo?
A: Vaultwarden es un proyecto comunitario, no el servidor oficial de Bitwarden; si dejas de aplicar actualizaciones, acumulas vulnerabilidades potenciales y puedes perder compatibilidad con los clientes cuando estos se actualicen. El mantenimiento es sencillo —actualizar la imagen Docker o el LXC—, pero es tu responsabilidad. Abandonarlo sin exportar primero el vault a otro gestor es el escenario de riesgo real.







![¿Cuál es la Nube que Menos se Cae? Análisis de Fiabilidad [2025]](https://javierin.com/wp-content/uploads/2025/12/cual-es-la-nube-que-menos-se-cae.jpg)







Deja una respuesta