Contenido· ¿Por qué autoalojar tu gestor de contraseñas?1/22
  1. 01¿Por qué autoalojar tu gestor de contraseñas?
  2. 02Ventajas principales
  3. 03Requisitos previos
  4. 04Desplegar Vaultwarden en 5 pasos
  5. 05Configurar SMTP y 2FA por correo electrónico
  6. 06Configurar SMTP correctamente
  7. 07Compatibilidad cliente/servidor y errores silenciosos
  8. 08Síntomas de un desajuste de versión cliente/servidor
  9. 09Diagnosticar y resolver el desajuste
  10. 10Caja fuerte vacía tras actualizar a los clientes Bitwarden 2026.8.0: diagnóstico y solución
  11. 11Síntomas de este fallo de compatibilidad
  12. 12Diagnosticar y reparar una caja fuerte vacía
  13. 13Actualización 1.37.4: siete correcciones de seguridad y cambios incompatibles
  14. 14Los siete avisos de seguridad de la 1.37.4
  15. 15Antes de pasar a la 1.37.4: lo que puede romperse
  16. 16Bitwarden pasa a doble licencia: qué cambia y qué no
  17. 17Qué cambia y qué no para Vaultwarden
  18. 18No confundas la licencia de los clientes con la del servidor
  19. 19Regresión en 1.37.1: cambio de contraseña maestra bloqueado
  20. 20Trampa SIGNUPS_ALLOWED=false: solo ponlo después de crear la primera cuenta de administrador
  21. 21Copias de seguridad diarias en una línea de cron
  22. 22Documentación oficial

¿Por qué autoalojar tu gestor de contraseñas?

Los gestores de contraseñas en la nube cobran por usuario y mes, almacenan tu bóveda cifrada en servidores que no controlas, y pueden desaparecer o subir precios de la noche a la mañana. Vaultwarden invierte este modelo: un contenedor en tu VPS, un volumen Docker que respaldar, y un número ilimitado de cuentas de usuario a un coste de infraestructura fijo. Como Vaultwarden habla el protocolo Bitwarden, cada cliente Bitwarden — extensión de Chrome, complemento de Firefox, iOS, Android, Windows, Linux, CLI — se conecta a tu instancia autoalojada sin ninguna modificación.

Ventajas principales

  • 100% compatible con todos los clientes oficiales de Bitwarden — sin fork, sin app personalizada, nada que reaprender
  • Cifrado AES-256 de extremo a extremo: tu contraseña maestra nunca sale de tu dispositivo
  • Menos de 50 MB de RAM en reposo — funciona sin problema en un VPS de 512 MB junto a otros servicios
  • Todos los usuarios y bóvedas de organización, con uso compartido cifrado y acceso basado en roles
  • Autenticador TOTP integrado: sustituye Google Authenticator por una alternativa autoalojada
  • Acceso de emergencia — concede a un contacto de confianza acceso de lectura después de un período de espera configurable

Requisitos previos

Necesitas un VPS con al menos 1 vCPU y 512 MB de RAM, con Docker instalado (se recomienda Ubuntu 22.04 LTS). También necesitas un nombre de dominio apuntando a tu VPS — los clientes Bitwarden rechazan bóvedas no HTTPS, así que HTTPS es obligatorio. Abre los puertos 80 y 443 en tu cortafuegos: ufw allow 80 && ufw allow 443.

Desplegar Vaultwarden en 5 pasos

  1. Instalar Docker

    Si Docker no está instalado: curl -fsSL https://get.docker.com | sh && systemctl enable --now docker. Verifica con docker --version.

  2. Arrancar Vaultwarden

    Lanza el contenedor: docker run -d --name vaultwarden --restart=always -v vaultwarden:/data -p 127.0.0.1:8000:80 -e WEBSOCKET_ENABLED=true vaultwarden/server:latest. El servidor arranca en menos de un segundo y escucha en el puerto 8000 en localhost.

  3. Configurar HTTPS con Caddy

    Instala Caddy: apt install -y caddy. Crea /etc/caddy/Caddyfile con: passwords.tu-dominio.com { reverse_proxy localhost:8000 }. Recarga Caddy: systemctl reload caddy. Se provisiona automáticamente un certificado TLS de Let's Encrypt y se renueva indefinidamente — cero configuración.

  4. Crear tu cuenta

    Abre https://passwords.tu-dominio.com en tu navegador. Haz clic en "Create Account", elige una contraseña maestra robusta (cifra todo localmente antes de que se envíe nada al servidor), y tu bóveda estará activa de inmediato.

  5. Bloquear los registros

    Una vez creadas todas las cuentas, detén el contenedor y vuélvelo a lanzar añadiendo -e SIGNUPS_ALLOWED=false al comando docker run. Tu instancia ahora es solo por invitación. Para la gestión continua de usuarios, activa el panel de administración añadiendo -e ADMIN_TOKEN=$(openssl rand -base64 48).

  6. Primer inicio de sesión

    Al abrir la URL por primera vez, Vaultwarden muestra la bóveda web de Bitwarden: haz clic en "Create account" y establece tu propio correo y contraseña maestra (no es recuperable por nadie, ni siquiera por nosotros). Hazlo INMEDIATAMENTE: el registro está abierto.

Configurar SMTP y 2FA por correo electrónico

Vaultwarden puede enviar correos para la verificación de dirección, el restablecimiento de contraseña, las invitaciones de organización y la autenticación de dos factores por correo (_ENABLE_EMAIL_2FA=true). Este último punto merece atención: si el SMTP no está configurado o está mal configurado, la 2FA por correo se declara activa pero nunca envía nada — el código no llega, el usuario no puede iniciar sesión, y Vaultwarden no muestra ningún error visible.

La confusión más frecuente afecta a los puertos y el cifrado. Dos valores coexisten y no son intercambiables:

- Puerto 465 con SMTP_SECURITY=force_tls — conexión TLS desde el inicio (antes llamada «SMTPS»). Compatible con la mayoría de los ISP y relés corporativos.
- Puerto 587 con SMTP_SECURITY=starttls — conexión en texto plano que escala a TLS mediante el comando STARTTLS. Valor esperado por la mayoría de los proveedores SMTP modernos (SendGrid, Brevo, Postmark, Gmail SMTP).

Usar force_tls en el puerto 587 — o starttls en el 465 — hace fallar la conexión SMTP en silencio: Vaultwarden no registra nada, los correos no salen, y la interfaz muestra «enviado» si pruebas desde el panel de administración. La única señal es la ausencia del correo en el destinatario.

Configurar SMTP correctamente

  1. Elige puerto y seguridad según tu proveedor

    Consulta la documentación de tu relé SMTP (Gmail, Brevo, Postmark, SendGrid…). Regla práctica: si tu proveedor indica el puerto 465 → SMTP_SECURITY=force_tls; si indica el puerto 587 → SMTP_SECURITY=starttls. Nunca los mezcles.

  2. Pasa las variables SMTP al contenedor

    Vuelve a lanzar el contenedor con las variables necesarias:

    docker run -d --name vaultwarden --restart=always \
      -v vaultwarden:/data \
      -p 127.0.0.1:8000:80 \
      -e SMTP_HOST=smtp.tu-proveedor.com \
      -e [email protected] \
      -e SMTP_PORT=587 \
      -e SMTP_SECURITY=starttls \
      -e SMTP_USERNAME=tu_login \
      -e SMTP_PASSWORD=tu_contraseña \
      vaultwarden/server:latest
  3. Prueba el envío desde el panel de administración

    Abre https://passwords.tu-dominio.com/admin, desplázate hasta la sección SMTP Email Settings y usa el botón Send test email. Si el correo no llega en 60 segundos, revisa los registros del contenedor: docker logs vaultwarden 2>&1 | grep -i smtp. Un mensaje Connection refused indica un puerto incorrecto; TLS handshake error indica un conflicto de seguridad.

  4. Activa la 2FA por correo solo después de validar el envío

    Solo activa _ENABLE_EMAIL_2FA=true una vez confirmado el envío de prueba. Si lo activas antes, los usuarios cuyo cliente solicita un código no reciben nada y quedan bloqueados. Para desbloquear una cuenta bloqueada: abre /admin, localiza al usuario y haz clic en Deactivate TOTP para desactivar temporalmente la 2FA.

Compatibilidad cliente/servidor y errores silenciosos

Los clientes Bitwarden recientes introdujeron un nuevo flujo de autenticación inicial que llama al endpoint /identity/accounts/prelogin/password. Las instancias de Vaultwarden fijadas en una versión anterior a 1.36.0 no conocen este endpoint y devuelven un 404 sin mensaje explícito — el cliente simplemente muestra un fallo de conexión genérico. La trampa es insidiosa: los dispositivos ya conectados antes de la actualización del cliente siguen funcionando normalmente, porque su sesión ya está establecida y no pasa por la nueva ruta de autenticación. Solo los dispositivos nuevos fallan. Si ejecutas curl https://your-domain.com/identity/accounts/prelogin/password -X POST -d '{"email":"[email protected]"}' -H 'Content-Type: application/json' y obtienes un 404, tu servidor es demasiado antiguo.

Síntomas de un desajuste de versión cliente/servidor

  • Imposible iniciar sesión en un nuevo dispositivo o navegador, mientras los dispositivos existentes funcionan con normalidad
  • Mensaje de error genérico sin indicación de causa ("An error has occurred" o "Invalid username or password")
  • La extensión de Chrome o Firefox recién instalada falla, pero la misma versión en otro equipo funciona
  • La bóveda web de Bitwarden alojada en tu instancia devuelve 404 en /identity/accounts/prelogin/password
  • Sin errores en los registros de Vaultwarden en el servidor — el endpoint no existe, no hay nada que registrar
  • El problema apareció tras una actualización automática del cliente Bitwarden en el nuevo dispositivo

Diagnosticar y resolver el desajuste

  1. Verifica la versión de tu servidor

    Consulta el endpoint de versión: curl https://your-domain.com/api/version. Si la respuesta muestra una versión anterior a 1.36.0, tu servidor no soporta el nuevo flujo de autenticación de los clientes recientes.

  2. Actualiza a la imagen más reciente

    La solución más segura es usar siempre vaultwarden/server:latest y mantener la imagen actualizada. Para actualizar: docker pull vaultwarden/server:latest && docker stop vaultwarden && docker rm vaultwarden, luego vuelve a ejecutar el mismo docker run que usaste en la instalación. Vaultwarden preserva los datos en el volumen — no se necesita migración manual.

  3. Verifica que la actualización surtió efecto

    Tras reiniciar, consulta de nuevo curl https://your-domain.com/api/version y confirma que la versión es 1.36.0 o superior. Luego prueba el inicio de sesión desde una nueva pestaña de navegación privada.

  4. Fija una versión si la estabilidad es la prioridad

    Si prefieres controlar las actualizaciones manualmente, usa una etiqueta versionada: vaultwarden/server:1.37.2 por ejemplo. En ese caso, monitorea las releases en GitHub y actualiza cuando se despliegue una nueva versión del cliente Bitwarden — ambas están acopladas.

Caja fuerte vacía tras actualizar a los clientes Bitwarden 2026.8.0: diagnóstico y solución

Si tras actualizar una aplicación de Bitwarden a la 2026.8.0 el inicio de sesión funciona pero la caja fuerte aparece vacía, el culpable no es el cifrado. Las incidencias del repositorio de Vaultwarden (#7607 y #7612, cerradas en agosto de 2026) apuntan a un fallo de compatibilidad en los datos de políticas de organización: el cliente 2026.8.0 espera una fecha de revisión que el servidor no enviaba, lanza un error y abandona la visualización de la caja fuerte. El servidor no escribe nada en sus registros, lo que hace el problema engañoso. La corrección del lado del servidor llegó en Vaultwarden 1.37.2 (publicada en agosto de 2026), cuyas notas indican que es necesaria para los clientes 2026.8.0 y posteriores. Si usas la 1.37.4 o una más reciente ya la tienes; si la caja sigue vacía, lo primero es limpiar el estado local del cliente. Una precisión importante: una versión anterior de este artículo atribuía el síntoma a un «nuevo formato EncString» que Vaultwarden no sabría leer. No hemos encontrado rastro de eso en las incidencias oficiales y esa explicación se ha retirado.

Síntomas de este fallo de compatibilidad

  • El inicio de sesión se acepta, pero la caja fuerte está vacía o no termina de cargar tras la sincronización
  • Sin sugerencias de autorrelleno, aplicación de escritorio que se cierra o extensión que muestra «failed to fetch»
  • En la consola del navegador, el error RangeError: Invalid time value en toSdkPolicyView (visto en la incidencia #7612)
  • Ningún error en los registros del servidor Vaultwarden
  • Casos reportados sobre todo en cuentas de una organización con al menos una política configurada, incluso desactivada; la web vault servida por Vaultwarden funciona

Diagnosticar y reparar una caja fuerte vacía

  1. Comprobar la versión del servidor

    Abre /admin/diagnostics o ejecuta docker exec vaultwarden /vaultwarden --version. Hace falta la 1.37.2 como mínimo para los clientes 2026.8.0+. Asegúrate también de que solo hay una instancia en marcha: un archivo compose duplicado ya causó síntomas idénticos.

  2. Actualizar el servidor si hace falta

    Usa el mismo procedimiento que para cualquier actualización (descargar la imagen, recrear el contenedor sobre el mismo volumen). Ve directamente a la última versión: consulta la sección sobre la 1.37.4 más abajo.

  3. Limpiar el estado local del cliente

    Cierra sesión por completo y vuelve a iniciarla. Si la caja sigue vacía, vaciar el almacenamiento de la extensión (las entradas policies) o desinstalarla y reinstalarla resuelve la mayoría de los casos. En macOS, algunos usuarios tuvieron que borrar los datos del contenedor de la aplicación de escritorio antes de volver a entrar.

  4. Revisar el entorno antes de bajar de versión

    Consulta /admin/diagnostics por si faltan cabeceras (un fallo de TOTP se corrigió así), mantén el panel de administración y la caja fuerte en el mismo dominio y prueba sin bloqueadores de anuncios. Solo como último recurso, vuelve los clientes a la 2026.7.0, la versión que funcionaba para los primeros afectados, hasta actualizar el servidor.

Actualización 1.37.4: siete correcciones de seguridad y cambios incompatibles

Vaultwarden 1.37.4 se publicó el 5 de octubre de 2026. Sus notas enumeran siete avisos de seguridad, publicados primero en privado y pendientes de asignación de CVE: en el momento de la publicación no se daba ningún número CVE, solo identificadores GHSA. La mayoría afecta a las organizaciones (miembros, invitaciones, registros, claves de API) y a las funciones de compartición. Si gestionas organizaciones o usas Sends, actualiza sin esperar; para una caja fuerte estrictamente personal el riesgo es menor, pero la actualización sigue recomendada.

Los siete avisos de seguridad de la 1.37.4

  • Revocación de miembros de una organización: gravedad alta, 8.1 (GHSA-69q9-v8p6-xvx3)
  • Autenticación en dos pasos: gravedad media, 6.8 (GHSA-7jg8-8m5x-6j9r)
  • Invitaciones de organización: gravedad media, 6.8 (GHSA-v576-3wvq-xh3c)
  • Archivos adjuntos: gravedad media, 6.5 (GHSA-q5x6-grh5-fqgc)
  • Registros de eventos de organización: gravedad media, 4.3 (GHSA-64mc-4p6f-r7x9)
  • Compartición de elementos: gravedad media, 4.3 (GHSA-7ccc-c43j-4p36)
  • Clave de API de organización: gravedad baja, 3.8 (GHSA-qwx4-wcv4-mpcv)

Antes de pasar a la 1.37.4: lo que puede romperse

  1. Proxy inverso e IP del cliente

    Con IP_HEADER=X-Forwarded-For, la dirección que se conserva es ahora la más a la derecha que no figura en IP_HEADER_TRUSTED_PROXIES (antes era la más a la izquierda). Si hay varios proxies seguidos delante de Vaultwarden, enuméralos todos en IP_HEADER_TRUSTED_PROXIES; si no, tus registros y límites de tasa verán una dirección equivocada.

  2. Sends y CLI

    bw send receive ya no funciona con el CLI 2026.4.2 y anteriores. Crear y gestionar Sends sigue funcionando en todos los clientes: actualiza el CLI si recibes Sends por línea de comandos.

  3. MariaDB o MySQL sin TLS

    Si tu servidor de base de datos no admite conexiones TLS nativas, la imagen Alpine puede no conseguir conectarse. Añade MARIADB_TLS_DISABLE_PEER_VERIFICATION=1 al entorno de Vaultwarden. Con SQLite, la opción por defecto de esta guía, no te afecta.

  4. Opciones y puntos de acceso eliminados

    Se han eliminado varios indicadores experimentales (por ejemplo ssh-agent o mutual-tls): si siguen en EXPERIMENTAL_CLIENT_FEATURE_FLAGS, el arranque registra una advertencia y guardar los ajustes del panel de administración falla hasta que los quites. DUO_USE_IFRAME se elimina y se ignora. Los antiguos puntos de acceso POST /identity/accounts/register y POST /api/accounts/prelogin desaparecen; las notas indican que ningún cliente actual los usa.

  5. Rotar la clave de API de la organización

    Antes de esta versión, los administradores de una organización también podían ver su clave de API. Si alguno no es de plena confianza, rota la clave tras actualizar (consola de administración, Ajustes, Rotar clave de API).

Bitwarden pasa a doble licencia: qué cambia y qué no

El 9 de octubre de 2026, Bitwarden anunció en su foro comunitario que, a partir de la próxima versión, las aplicaciones publicadas en las tiendas serán las compilaciones con licencia comercial; las descargas directas desde su sitio siguen la misma regla. El código sigue desarrollándose y publicándose bajo GPLv3 en GitHub. El repositorio de los clientes ya incluía dos licencias: GPLv3 por defecto y la licencia Bitwarden v1.0 limitada a la carpeta bitwarden_license. La novedad afecta, pues, sobre todo a los binarios distribuidos, no al código. El boletín semanal de selfh.st del 16 de octubre señaló este giro, observando que la frase «todas las funciones actuales están disponibles en ambas versiones» no dice nada de las funciones futuras. Ese es el punto a vigilar.

Qué cambia y qué no para Vaultwarden

  • No cambia: Bitwarden afirma que no hay cambios para el autoalojamiento; el servidor Vaultwarden es un proyecto independiente, bajo licencia AGPL-3.0, y no le afecta la licencia de los clientes
  • No cambia: las funciones actuales siguen disponibles en ambas versiones de los clientes, plan gratuito incluido; no se pide ninguna acción a los usuarios existentes
  • A vigilar: Bitwarden avisa de que algunos componentes futuros solo se publicarán bajo licencia comercial y de que cada función nueva se evaluará caso por caso; los clientes de las tiendas y la versión GPLv3 podrían divergir
  • A vigilar: si una función futura solo existe en la compilación comercial, nada garantiza que funcione con un servidor de terceros; prueba cada actualización de cliente en una cuenta secundaria antes de generalizarla
  • Si quieres seguir con código GPLv3, puedes compilar los clientes desde el repositorio de GitHub, a costa de mantenerlos tú mismo

No confundas la licencia de los clientes con la del servidor

El cambio anunciado afecta a cómo Bitwarden distribuye sus aplicaciones. Vaultwarden sigue siendo un proyecto de software libre distinto, que reimplementa el protocolo en el lado del servidor bajo licencia AGPL-3.0. El despliegue descrito en esta guía no tiene nada que modificar hoy. Anota la fecha de las versiones de cliente que validas: te permitirá detectar el día en que las dos compilaciones diverjan. Si migras desde el servicio alojado de Bitwarden, la lista de comprobación de migración de esta guía sigue siendo válida tal cual.

Regresión en 1.37.1: cambio de contraseña maestra bloqueado

La versión 1.37.1 contiene una regresión conocida (issue de GitHub #7659): la solicitud de cambio de contraseña maestra devuelve HTTP 422 con el mensaje missing field newMasterPasswordHash. La operación falla en el servidor sin que el cliente proporcione información útil. La corrección está en la versión 1.37.2, publicada poco después. Si has fijado la versión 1.37.1, actualiza directamente a 1.37.2 — el comando es el mismo que para cualquier actualización: docker pull vaultwarden/server:1.37.2 && docker stop vaultwarden && docker rm vaultwarden, luego reinicia el contenedor con la nueva etiqueta.

Trampa SIGNUPS_ALLOWED=false: solo ponlo después de crear la primera cuenta de administrador

Un error común en la instalación: poner -e SIGNUPS_ALLOWED=false antes de crear la cuenta de administrador. Resultado — tu propia instancia rechaza la creación de cuenta y ya no puedes iniciar sesión. El orden es imperativo: (1) inicia sin este parámetro, (2) crea inmediatamente tu cuenta de administrador desde la interfaz web, (3) solo entonces reinicia el contenedor con SIGNUPS_ALLOWED=false. Si ya te has bloqueado, la salida de emergencia es activar el panel de administración con -e ADMIN_TOKEN=$(openssl rand -base64 48) e invitar al usuario administrador desde /admin.

Copias de seguridad diarias en una línea de cron

Añade esto al crontab de root (crontab -e): 0 3 * * * docker run --rm -v vaultwarden:/data -v /backup:/out busybox tar czf /out/vaultwarden-$(date +%F).tar.gz /data. Ejecútalo cada noche a las 3 AM — el contenido completo de la bóveda (fichero SQLite + adjuntos) aterrizará en /backup como un archivo con marca de tiempo. Envía este directorio a S3 o Backblaze B2 con rclone para protección fuera del sitio.

Documentación oficial

Para la configuración avanzada y las opciones específicas de la herramienta, consulta la documentación oficial de Vaultwarden. Esta guía cubre el despliegue en VPS; la documentación del editor sigue siendo la referencia para ajustes finos, actualizaciones mayores y casos de uso específicos.

Despliegue Vaultwarden en su VPS

Pida un VPS de ServOrbit, despliegue Vaultwarden en unos minutos y hágase dueño de su bóveda de contraseñas para siempre.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva