- Configuración de parámetros SMTP esenciales y resolución de errores de autenticación comunes.
- Implementación de medidas de seguridad avanzadas como Fail2Ban y restricción de registros.
- Estrategias de respaldo consistentes para bases de datos SQLite y archivos de configuración.
¿Cómo configurar el correo SMTP en Vaultwarden? Seguro que te ha pasado: intentas crear una contraseña segura y el sistema te pide que incluyas desde un carácter cirílico hasta el nombre de tu mascota en código morse. Es una auténtica pesadilla que nos empuja a caer en el error de usar la misma clave para todo o a confiar en una libreta de papel que, si se pierde, deja nuestra vida digital totalmente expuesta. Para evitar este dolor de cabeza, lo ideal es saltar a un gestor de contraseñas, una especie de caja fuerte digital donde solo tienes que recordar una clave maestra para acceder al resto.
Si eres de los que no se fía de dejar sus datos en la nube de una gran empresa y prefieres tener el control total, el autoalojamiento o self-hosting es el camino. Aquí es donde entra en juego Vaultwarden, una versión ligera y optimizada, escrita en Rust, que es totalmente compatible con los clientes de Bitwarden pero que no requiere los enormes recursos de hardware de la versión original, siendo perfecta para correr en un VPS o incluso en una Raspberry Pi 4.
Instalación y despliegue de Vaultwarden

Para montar este sistema, la opción más limpia es utilizar Docker y Docker Compose. Lo primero es organizar el terreno creando un directorio para los datos persistentes, por ejemplo en /opt/vaultwarden/data. Es fundamental que los datos no se borren al reiniciar el contenedor. Para gestionar la seguridad, es recomendable generar un token de administración mediante un hash de Argon2 (usando el comando de openssl o la propia imagen de Vaultwarden) para evitar guardar claves en texto plano en los archivos de configuración.
En el archivo de despliegue, es vital fortificar el contenedor. No basta con lanzarlo; hay que limitar la memoria (unos 512MB son más que suficientes), ejecutar el proceso como un usuario no-root (por ejemplo, UID 1000) y configurar el sistema de archivos como solo lectura, dejando únicamente los volúmenes necesarios como escribibles. Para que el servicio sea accesible desde internet de forma segura, se debe usar un proxy inverso como Nginx Proxy Manager o Caddy, que se encargue de gestionar el certificado SSL/TLS de Let’s Encrypt.
Configuración exhaustiva del SMTP

El correo electrónico es el corazón de las notificaciones y la seguridad de la bóveda. Sin un SMTP bien configurado, no podrás enviar invitaciones, restablecer cuentas ni activar la autenticación de doble factor (2FA) por email. Para configurarlo, debes acceder al panel de administración (/admin) o editar el archivo .env.
Los parámetros típicos para un servicio como Gmail son el host smtp.gmail.com, el puerto 587 con STARTTLS o el puerto 465 si prefieres TLS implícito (force_tls). Es crucial introducir correctamente el usuario y la contraseña de la aplicación. Si te encuentras con un error SMTP 5xx (535), generalmente significa que las credenciales son incorrectas o que el proveedor (como Proton Mail o Gmail) requiere una contraseña específica para aplicaciones y no la contraseña maestra de la cuenta.
Un punto clave es el Domain URL, donde debes poner la dirección completa (ej. https://vault.tudominio.com). Si esto no coincide, los enlaces que lleguen por correo no funcionarán. Para quienes quieran darle un toque más profesional, existen plantillas de correo en castellano que se pueden clonar desde GitHub y montar en un volumen específico para que los usuarios no reciban todo en inglés.
Seguridad avanzada y Hardening

Una vez que tú y tu equipo tengáis cuenta, lo más sensato es desactivar el registro público configurando SIGNUPS_ALLOWED=false. De este modo, nadie extraño podrá crear cuentas en tu servidor. Para protegerte contra ataques de fuerza bruta, es muy recomendable instalar Fail2Ban. Al estar en Docker, debes configurar Fail2Ban para que actúe sobre la cadena DOCKER-USER de iptables, ya que las reglas estándar de INPUT suelen ser ignoradas por el tráfico de contenedores.
Otras funciones vitales incluyen el Acceso de Emergencia, que permite que un contacto de confianza recupere tu bóveda tras un periodo de espera si tú no respondes. También es fundamental gestionar el token de administrador: una vez terminada la configuración, puedes eliminar la variable ADMIN_TOKEN y reiniciar el contenedor para que la ruta /admin devuelva un error 404 y sea invisible para el resto del mundo.
Mantenimiento, Backups y Recuperación

Tener todas tus claves en un solo sitio es cómodo, pero peligroso si no hay copias de seguridad. No sirve de nada copiar el archivo de la base de datos mientras el servidor está encendido, ya que podrías obtener un archivo corrupto. Lo correcto es usar el comando sqlite3 .backup para crear una instantánea consistente de db.sqlite3.
Un plan de backup robusto debería incluir la base de datos, la carpeta de adjuntos y el archivo .env. Para añadir una capa extra de seguridad, se pueden cifrar estas copias usando herramientas como age, enviándolas luego a un servidor remoto mediante rsync. En caso de desastre, la restauración implica detener el contenedor, limpiar los archivos temporales WAL y SHM de SQLite y sustituir la base de datos por la copia cifrada previamente descifrada.
Para mantener el sistema al día, evita usar el tag latest en Docker y fija siempre una versión específica. Así, cuando quieras actualizar, podrás leer las notas de la versión, hacer un backup previo y cambiar el tag manualmente, evitando que una actualización automática rompa tu configuración.
La implementación de Vaultwarden permite gestionar la privacidad de forma total, integrando un servidor de correo SMTP para alertas críticas, protegiendo el acceso con Fail2Ban y asegurando la persistencia de los datos mediante backups cifrados y consistentes, todo ello bajo un proxy inverso que garantiza el cifrado de la comunicación.
Apasionado de la tecnología desde pequeñito. Me encanta estar a la última en el sector y sobre todo, comunicarlo. Por eso me dedico a la comunicación en webs de tecnología y videojuegos desde hace ya muchos años. Podrás encontrarme escribiendo sobre Android, Windows, MacOS, iOS, Nintendo o cualquier otro tema relacionado que se te pase por la cabeza.