3
Configuración Inicial
groales edited this page 2025-12-03 13:51:37 +01:00

Configuración Inicial

Una vez desplegado Vaultwarden, sigue estos pasos para configurarlo correctamente.

📋 Lista de Verificación

Antes de empezar, asegúrate de haber completado:

  • Vaultwarden desplegado con Traefik o NPM
  • Acceso a https://vaultwarden.tudominio.com
  • ADMIN_TOKEN generado y configurado
  • Certificado SSL válido

🔐 1. Acceder al Panel de Administración

Acceso Inicial

  1. Abre tu navegador
  2. Ve a: https://vaultwarden.tudominio.com/admin
  3. Introduce tu ADMIN_TOKEN
  4. Haz clic en Enter

⚠️ Importante: Si no puedes acceder, verifica que ADMIN_TOKEN está correctamente configurado en las variables de entorno.

Recuperar ADMIN_TOKEN

Si olvidaste tu token:

# Ver el token actual
docker compose exec vaultwarden env | grep ADMIN_TOKEN

# O revisa el archivo .env
cat .env | grep ADMIN_TOKEN

Cambiar ADMIN_TOKEN

Si quieres cambiar el token:

  1. Genera uno nuevo: openssl rand -base64 48
  2. Actualiza la variable de entorno:
    • Portainer: Stack → Environment variables → Editar
    • CLI: Editar .env y ejecutar docker compose up -d
  3. Accede a /admin con el nuevo token

⚙️ 2. Configuración General

En el panel de administración, ve a General Settings.

Domain URL

Campo: Domain URL
Valor: https://vaultwarden.tudominio.com (tu dominio completo con protocolo)

Este valor es importante para:

  • Links de verificación de email
  • Redirecciones después del login
  • Funcionalidades de la API

⚠️ Nota: A diferencia de versiones anteriores, ahora se configura únicamente desde el panel de administración, no desde variables de entorno.

Iconos de Servicios

Campo: Icon Download Timeout
Valor recomendado: 10 (segundos)

Vaultwarden puede descargar iconos de servicios (Google, GitHub, etc.) para mostrarlos en la interfaz.

Opciones:

  • Dejar activado: Mejor experiencia visual
  • Desactivar: Añadir ICON_SERVICE=none en variables de entorno (más privacidad)

Permitir Invitaciones

Campo: Invitation Organization Name
Valor: Nombre de tu organización (ej: "Mi Empresa IT")

Aparecerá en los emails de invitación cuando añadas usuarios.

👥 3. Configuración de Usuarios

Todas estas opciones están en General Settings del panel de administración.

Permitir Nuevos Registros

Campo: Allow new signups
Valor recomendado: Desactivado (false)

Razones:

  • 🔒 Evita registros no autorizados
  • 🔒 Control total sobre quién accede
  • 🔒 Previene abuso del servidor

Métodos alternativos para añadir usuarios:

  1. Invitaciones (recomendado): Desde /admin → Users → Invite User
  2. Registro temporal: Activa SIGNUPS_ALLOWED=true temporalmente, crea las cuentas, desactívalo

Verificación de Email

Campo: Require Email Verification
Recomendado: Activar (requiere SMTP configurado)

Beneficios:

  • Verifica que el email es válido
  • Previene cuentas con emails falsos
  • Mejora la recuperación de cuenta

Mostrar Pistas de Contraseña

Campo: Show password hints
Valor recomendado: Desactivado

Las pistas de contraseña son un riesgo de seguridad. Mejor usar:

  • Contraseñas generadas aleatoriamente
  • Notas cifradas en Vaultwarden
  • Organizaciones para compartir

🔐 4. Configuración de Seguridad

Activar 2FA (Autenticación de Dos Factores)

Vaultwarden soporta varios métodos de 2FA:

Para Usuarios

  1. Cada usuario debe configurarlo desde su cuenta:
    • Login → Configuración → Seguridad → Two-step Login
  2. Métodos disponibles:
    • Authenticator App (TOTP): Google Authenticator, Authy, etc.
    • Email: Código enviado por email (requiere SMTP)
    • Yubikey: Llaves de seguridad hardware

Para el Admin Panel

Considera proteger /admin adicionalmente:

Con Traefik (middleware de autenticación):

labels:
  - "traefik.http.routers.vaultwarden-admin.rule=Host(`${DOMAIN_HOST}`) && PathPrefix(`/admin`)"
  - "traefik.http.routers.vaultwarden-admin.middlewares=admin-auth"
  - "traefik.http.middlewares.admin-auth.basicauth.users=admin:$$apr1$$hashedpassword"

Con NPM (Access List en la interfaz)

Desactivar el Admin Panel (Producción)

En entornos de alta seguridad, una vez configurado todo:

# Añadir a variables de entorno
ADMIN_INTERFACE_ENABLED=false

Esto desactiva completamente el panel de administración. Solo hazlo si:

  • Has completado toda la configuración
  • Tienes backups
  • No necesitas hacer cambios frecuentes

Para reactivarlo, cambia a true y redesplega.

🔄 5. WebSocket y Notificaciones

Verificar WebSocket

WebSocket permite sincronización en tiempo real entre dispositivos.

docker compose logs vaultwarden | grep -i websocket

Deberías ver:

[INFO] WebSocket server listening on 0.0.0.0:3012

Probar desde Cliente

  1. Abre Vaultwarden en un navegador
  2. Abre la app móvil en otro dispositivo
  3. Añade una contraseña en uno
  4. Debería aparecer inmediatamente en el otro

Si tarda minutos:

  • Con Traefik: Debería funcionar automáticamente
  • Con NPM: Verifica que WebSocket Support está activado en el Proxy Host

📊 6. Monitorización y Logs

Configurar Nivel de Logs

En variables de entorno:

LOG_LEVEL=warn  # Valores: error, warn, info, debug, trace

Recomendaciones:

  • Producción: warn (por defecto)
  • Debugging: debug o trace

Ver Logs en Tiempo Real

# Logs generales
docker compose logs -f vaultwarden

# Logs de acceso
docker compose exec vaultwarden cat /data/vaultwarden.log

# Filtrar por nivel
docker compose logs vaultwarden | grep ERROR

Rotación de Logs

Vaultwarden no rota logs automáticamente. Para evitar que crezcan infinitamente:

Opción 1: Límite de Docker

Edita /etc/docker/daemon.json:

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

Reinicia Docker: sudo systemctl restart docker

Opción 2: Logrotate

Crea /etc/logrotate.d/vaultwarden:

/var/lib/docker/volumes/vaultwarden_data/_data/vaultwarden.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
}

🌐 7. Usuarios y Organizaciones

Invitar Primer Usuario

Si SIGNUPS_ALLOWED=false:

  1. Ve a /admin
  2. UsersInvite User
  3. Introduce el email
  4. El usuario recibirá un email de invitación (requiere SMTP)
  5. Sin SMTP, muestra un link que puedes copiar y enviar manualmente

Crear una Organización

Las organizaciones permiten compartir contraseñas de forma segura:

  1. Login como usuario normal (no admin)
  2. NewOrganization
  3. Nombre de la organización
  4. Invita miembros
  5. Crea colecciones (categorías de contraseñas)
  6. Comparte ítems con la organización

Casos de uso:

  • 🏢 Contraseñas del equipo de IT
  • 💼 Accesos compartidos de clientes
  • 👨‍👩‍👧‍👦 Contraseñas familiares

📧 8. SMTP (Opcional pero Recomendado)

Configurar SMTP permite:

  • Verificación de emails
  • Invitaciones automáticas
  • Notificaciones de seguridad
  • Recuperación de cuenta (emergencias)

Ver detalles completos en Personalización - Configurar SMTP.

9. Verificación Final

Completa esta checklist antes de dar por finalizada la configuración:

Checklist de Seguridad

  • ADMIN_TOKEN es fuerte (mín. 32 caracteres)
  • SIGNUPS_ALLOWED=false configurado
  • HTTPS funcionando (certificado válido)
  • WebSocket funcionando (sincronización instantánea)
  • Panel /admin accesible solo por ti
  • SMTP configurado (o método alternativo para invitaciones)
  • Primer usuario creado y puede hacer login
  • 2FA activado en cuenta de admin
  • Backup inicial realizado

Checklist de Funcionalidad

  • Puedes crear una nueva entrada de contraseña
  • La entrada se sincroniza a otro dispositivo inmediatamente
  • Puedes instalar la extensión del navegador
  • La extensión auto-rellena formularios correctamente
  • Puedes crear una organización
  • Puedes invitar a otro usuario
  • El generador de contraseñas funciona

📖 Siguientes Pasos

🆘 Problemas Comunes

No puedo acceder a /admin

Causa: ADMIN_TOKEN incorrecto o no configurado

Solución:

# Ver token actual
docker compose exec vaultwarden env | grep ADMIN_TOKEN

# Verificar que coincide con el que introduces

Los emails no se envían

Causa: SMTP no configurado o configurado incorrectamente

Solución: Ver Personalización - SMTP

WebSocket no funciona

Causa: Configuración del proxy

Solución:


Última actualización: Diciembre 2025