Haz copia de seguridad de tu Bitwarden/Vaultwarden

One Tx
4 min readJan 26, 2024

--

Mantén tus contraseñas a salvo

Hola a todos, para todos los que guardamos nuestra contraseña en un servicio como Bitwarden y que somos un poco paranoicos, queremos conservar nuestras contraseñas en nuestro poder.

Hoy os voy a enseñar cómo hacer un backup de vuestras contraseñas para no perderlas y tenerlas siempre a buen recaudo. El servicio se puede montar de varias formas, voy a explicar cómo montarlo como un servicio Docker con Docker Compose y cómo utilizar una plantilla para UNRAID para usarlo en este sistema operativo.

Preparación

Antes de comenzar, necesitamos obtener algunos datos de nuestra cuenta en Bitwarden/Vaultwarden. Para ello, iniciaremos sesión en la web de nuestro vault, ya sea Bitwarden o Vaultwarden y recuperaremos nuestros tokens de autenticación, tranquilos que os explico como hacerlo paso a paso. Estos tokens son esenciales para poder realizar el backup de nuestras contraseñas.

Para obtener los tokens, seguimos estos pasos

  • Nos dirigimos a la dirección de nuestro vault e iniciamos sesión con nuestra cuenta de Bitwarden/Vaultwarden.
  • Accedemos a nuestro perfil de usuario y seleccionamos ‘Configuración de la cuenta’.
  • Dentro de esta opción, seleccionamos ‘Seguridad’.
  • Dentro de ‘Seguridad’, seleccionamos ‘Claves’ y luego ‘Ver clave API’.
  • En este punto, podremos ver y copiar el ‘client_id’ y el ‘client_secret’, guardaremos estos valores que utilizaremos más adelante en el servicio para hacer el backup.

Configuración del Servicio

A continuación, copiaremos el Docker Compose de ejemplo de aquí y lo adaptaremos con nuestra información personal.

services:
bw-export:
container_name: bw-export
image: 0netx/bw-export
volumes:
- ./export:/var/data
- ./export:/var/attachment
environment:
- BW_CLIENTID=<CLIENT ID FROM BITWARDEN API>
- BW_CLIENTSECRET=<CLIENT SECRET FROM BITWARDEN API>
- BW_PASSWORD=<BITWARDEN PASSWORD>
# Optional: Own Vaultwarden/Bitarden selfhosted server
#- BW_URL_SERVER=<YOUR VAULTWARDER URL SERVER>
# Optional: By default, /var/data/
# - OUTPUT_PATH=<Output path i.e. /var/data/ >
# Optional: By default, /var/attachment/
# - ATTACHMENTS_PATH=<attachment path i.e. /var/attachment/ >
- EXPORT_PASSWORD=<Export password. Export will be encrypted with this password>
# Optional: If not provided, the service will export all organizations in vault.
# - BW_ORGANIZATIONS_LIST=<Organization list id, comma separated>

Tenemos que hacer varios cambios:

  1. En la opción ‘volumen’, debemos mapearla a la ruta de nuestro servidor donde queremos dejar la copia de seguridad.
  2. En las opciones `BW_CLIENTID` y `BW_CLIENTSECRET` introducimos los códigos que recuperamos en el paso anterior.
  3. En la opción ‘BW_PASSWORD’, informamos nuestra contraseña del servicio Bitwarden/Vaultwarden.
  4. En la variable ‘EXPORT_PASSWORD’, indicamos la contraseña con la que queremos encriptar nuestro backup.

Las demás variables son opcionales y no las informaremos por el momento.

Ejecución del Backup

Una vez hecho esto, levantaremos nuestro Docker Compose con el comando docker compose up y observamos cómo se realiza la copia de seguridad. El servicio inicia sesión en el vault de seguridad, extrae todas las contraseñas, las encripta en la ruta donde hemos especificado y cierra sesión.

La copia de seguridad se encuentra encriptada con la contraseña definida en EXPORT_PASSWORD

Tanto Bitwarden como Vaultwarden se pueden respaldar si así lo deseáis, pues el servicio utiliza el cliente oficial de Bitwarden, que funciona con los dos.

Despliegue en Unraid

Finalmente, explicaremos cómo montar este mismo servicio en el sistema operativo Unraid. Para ello, seguimos estos pasos:

  • Nos dirigimos a nuestro servidor Unraid y en la pestaña ‘Apps’, buscamos la aplicación llamada ‘Bitwarden Export’.
  • Hacemos clic en ‘Install’ e informamos las claves de configuración requeridas, principalmente ‘ClientID’, ‘Client Secret’, ‘Bitwarden password’ y ‘Exportpassword’.
  • Por defecto, la aplicación hará backup en la ruta ‘appdata’, que es la ruta por defecto, pero se puede adaptar a la que vosotros prefiráis.
  • Una vez que arranquéis el contenedor o le deis a ‘Play’, se realizará un backup de la cuenta en la ruta indicada.

Programar el backup

El servicio no se encuentra corriendo constantemente, sino solo realiza copia de seguridad cuando se ha ejecuta puntualmente.

Si queremos que se ejecute cada cierto tiempo, podemos irnos a los UserScripts y programar un script de ejecución que levante el contenedor cuando nos interese. Para ello crearemos un user script con el siguiente contenido:

Nota: Importante debéis poner el nombre que habéis dado al contenedor.

# docker start<nombre de nuestro servicipo>
docker start bitwarden-export

Espero que este manual sea de ayuda. Si tienes alguna pregunta o necesitas más asistencia, no dudes en preguntar.

--

--