Instalación de Vaultwarden con certificado let's encrypt

Instalación de Vaultwarden con certificado let's encrypt

¿Qué es vaultwarden?

Vaultwarden (bitwarden en realidad) es un servicio de administración de contraseñas gratuito y de código abierto que almacena información confidencial, como las credenciales del sitio web, en una bóveda encriptada. Funciona sólo sobre conexiones https si lo tenemos alojado en nuestras máquinas tal y como lo haremos en este tutorial. En el router tenemos que tener abiertos lo puertos 80 y 443 a la dirección ip de nuestro NAS. Si no lo tenemos abierto no podremos crear ni renovar nuestro certificado.

Creación del certificado

Antes de instalar nada, vamos a empezar con la creación del certificado let's encrypt.

Son unos certificados que se pueden obtener gratuitamente y que gracias al ddns de synology, podremos asociarlo a un subdominio y así acceder de forma segura (https) al servicio que queremos instalar.

Todos tenemos un ddns de synology

Cuando activamos nuestros nas para acceder desde internet, lo hacemos con este ddns.

Tiene la estructura nombre.synology.me

Para crear un certificado que nos valga para todos los subdominios, vamos a aprovechar y crearemos un certificado wildcard que nos permitirá que funcione bajo https este docker y los que queramos crear.

Para verlo accedemos a nuestro NAS a través de la web y una vez dentro del NAS, tenemos que abrir el Panel de control.

El procedimiento es igual en DSM 6 y 7

Una vez abierto el panel de control hacemos click en el icono de seguridad

Pulsamos en la pestaña certificado

Pulsamos en el botón que dice agregar.

Esto nos abrirá una nueva ventana de diálogo.

Tenemos que segur tres pasos

1.-Le damos un nombres a este certificado, yo lo he llamado Wildcard

2.-Pulsamos en la opción de obtener certicado de Let´s Encrypt

3.-Pulsamos en siguiente

En la siguiente ventana

1.-Le damos un nombre de dominio que debe de ser nombreElegido.synology.me

2.-En el correo electrónico, le ponemos donde queramos recibir las notificaciones. Si tenemos alguno añadido al NAS, le damos al desplegable y lo seleccionamos.

3.-en nombre alternativo de sujeto metemos *.nombreElegido.synology.me que es el dominio comodín.

Pulsamos en aplicar. Pensará un poco y ya lo tenemos creado. Búscalo en el listado.

En el listado debes de tener uno así.

Instalación de Vaultwarden

Una vez creado el certificado y teniéndolo disponible en el NAS, vamos a comenzar instalando docker y después instalaremos la imagen de Vaultwarden. Levantaremos el contenedor y lo configuraremos.

Una vez hayamos levantado el servicio, lo haremos funcionar con nuestro certificado creado para poder acceder por https de forma segura, ya que bitwarden no funciona con http.

Volvemos a nuestro NAS

Si no tienes docker instalado, el lo primero que tenemos que hacer.

Vamos a MENÚ y elegimos CENTRO DE PAQUETES.

En el buscador escribimos DOCKER e instalamos.

Si no te aparece, puede ser que tu NAS sea de una gama que no permite la instalación de DOCKER, que normalmente lo permiten las series + y los NAS más potentes.

Nos toca entrar en File Station  y buscamos una carpeta que se llama docker y dentro de esta creamos otra con el nombre del contenedor.

En este caso la llamo Bitwarden-ejemplo y como veis tengo una carpeta adicional en el directorio de docker.

Aquí vamos a guardar la configuración de nuestro contenedor y en el caso de tener que restaurarlo, no perderemos la configuración.

Entramos en la app de docker:

1.-Pulsamos en registro

2.-Vamos a la barra del buscador y ponemos vaultwarden y pulsamos INTRO

3.- Elegimos el resultado que nos muestra en este caso en tercer lugar y hacemos doble click.

Con este doble click, vamos a poner a descargar esa imagen.

Nos vamos a la pestaña Imagen y una vez se haya descargado completa (ocupa unos 180 megas) haremos doble click y se nos abrirá la ventana para comenzar la configuración del contenedor.

En esta ventana de configuración, lo primero que vamos a hacer es ponerle un nombre al contenedor. En mi caso lo llamo Bitwarden-server-ejemplo porque ya tengo otro Bitwarden instalado. Antes de pulsar en siguiente, pulsamos en configuración avanzada para configurar nuestro contenedor.

Vamos a ir configurando el contenedor por orden de pestañas.

En la pestaña de configuración avanzada, marcamos “habilitar el reinicio automático”. Esto lo hacemos por si el contenedor se para por el motivo que sea, se reinicia y vuelve a levantar automáticamente.

En la pestaña volumen lo primero que haremos será pulsar en el botón de “Agregar carpeta” y luego vamos abriendo el árbol de carpetas hasta que podamos seleccionar la carpeta que habíamos creado anteriormente.

Pulsamos en seleccionar.

Una vez hayamos pulsado el botón de seleccionar, veremos que se nos pone directamente en el sitio de Archivo/carpeta.

Hacemos click en Ruta de montaje y escribiremos /data

Nos saltamos la pestaña Red porque no hay que configurar nada en esa pestaña. Vamos directamente a la de configuración de puertos.

En la pestaña Configuración de puertos, veremos que tenemos dos opciones.

El puerto 3012 del contenedor lo podemos dejar como automático en el puerto local.

En el puerto 80 del contenedor, tenemos que cambiarlo. Aquí voy a elegir el 5151, aunque puedes elegir cualquiera que esté libre.

Saltamos la pestaña Link porque no configuramos nada y vamos a la de Medio Ambiente (variables de entorno)

En la pestaña medio ambiente pulsamos en + y añadimos una variable con el texto SIGNUPS_ALLOWED y con el valor true.

Os explicaré luego porqué hacemos esto y os adelanto que es una medida de seguridad.

Ya sólo queda pulsar en Aplicar.

Nos manda a la primera ventana de configuración y pulsaremos en Siguiente.

Nos abrirá otra ventana.

En esta última ventana de resumen, marcaremos el check de la casilla ejecutar este contenedor cuando finalice el asistente y pulsamos en aplicar.

Esto nos volverá a la ventana de docker en la pestaña de Imagen. Picamos en la pestaña de Contenedor y tras una breve espera, veremos como el contenedor se nos muestra como iniciado. Si se nos reinicia constantemente un contenedor, es porque ha habido un error en la configuración.

Comprobamos que el contenedor está operativo y accesible.

Vamos a un navegador y dentro de nuestra red local escribimos nuestraiplocal:5151 que es el puerto que hemos elegido antes. Debe de cargarnos la pantalla de login de Bitwarden. Si nos carga es que hemos hecho todas los pasos correctos.

¿Y ahora?

EN DSM 6

Vamos a configurar un proxy inverso con el servicio y el certificado que hemos creado antes. Esto lo vamos a hacer para que en lugar de poder usarlo solo desde nuestra red local, esté accesible desde internet.

Para empezar, vamos al panel de control, pulsamos en el icono de Portal de aplicaciones y luego entramos en la pestaña Proxy inverso.

Pulsaremos en el botón crear.

En DSM 7

Accedemos al Panel de control y pulsamos en la pestaña de PORTAL DE INICIO DE SESION. Seleccionamos la pestaña de avanzado, y pulsamos primero sobre el botón de Proxy Inverso y luego en el botón CREAR.

Rellenamos la ventana de las Reglas del proxy inverso

En descripción le ponemos un nombre identificativo. En la parte de origen,

en protocolo, abrimos el desplegable y elegimos HTTPS. En nombre de host pondremos el subdominio con el que accederemos al servicio. Os acordáis eso de *.nombreDelNas.synology.me pues sustituimos el asterisco por la palabra que queramos.

En puerto debemos elegir, el puerto https que es el 443. Marcamos los checks HSTS y HTTP/2.

En Destino, en protocolo elegimos HTTP, en nombre del host escribimos localhost y en puerto, el que hayamos elegido en la configuración de Bitwarden. En mi caso del ejemplo , el 5151.

Pulsamos OK para aceptar.

En DSM 7 es igual solo que no tenermos que marcar los checks de Habilitar HSTS y HTTP/2.

Volvemos al Seguridad en el panel de control

iremos a la pestaña de certificados de nuevo.

En este caso vamos a pulsar en el botón de configurar.

Buscamos el nombre del proxy inverso que creamos antes

¿Os acordáis del nombre que le pusimos en la descripción?

Lo buscamos en la ventana que nos sale en la parte de Servicios. En la parte de certificado, abrimos el  desplegable y elegimos el certificado Wildcard que habíamos creado.

Pulsamos sobre él y después en OK.

Volvemos al navegador

Escribimos el nombre del servicio de la siguiente manera en la barra de navegación

https://passwords.nombreDelNas.synology.me

Nos debe acceder y con el candado y certificado SSL .

Comenzamos con la creación de nuestro usuario

En la web pulsamos en el botón de crear cuenta.

En la ventana siguiente introducimos los datos que nos pide. Nuestro email, nuestro nombre, una contraseña fuerte, la verificación de ésta, una pista para que no acordemos (opcional) y marcamos el check de aceptación. Pulsaremos en enviar y nuestro usuario estará creado.

Nos volverá a la pantalla de login

Y nos aparecerá una notificación en verde si todo ha ido OK.

Si tenemos que registrar otro usuario, es momento de hacerlo.

¿Os acordáis de la variable que creamos con valor true?

Pues una vez creado los usuarios que queramos, entramos en nuestro NAS, vamos a la app de docker y en listado de Contenedores, seleccionamos el que hemos creado y lo detenemos.

Una vez parado, lo seleccionamos y pulsamos en Editar, vamos a la pestaña Medio Ambiente y cambiamos el valor true a false. Guardamos e iniciamos de nuevo el contenedor.

¿Qué hace este cambio?

Con el cambio de esta variable vamos a evitar que alguien que adivine nuestra dirección web pueda crearse una cuenta sin permiso y acceda a nuestros datos.

Si ahora intentamos crear una nueva cuenta nos dará un error y la cuenta no se creará.

Vamos a acceder y a crear nuestra primera contraseña

Accedemos con los datos de usuario que nos hayamos registrado antes durante la creación de la cuenta.

En la ventana principal de la aplicación pulsamos en Añadir Elemento. Se nos abrirá otra ventana.

Rellenamos los datos que tengamos en la web

Vamos a rellenar los campos con nuestros datos de usuario.

El tipo de elemento, elegimos inicio de sesión.

El nombre, es el nombre descriptivo de la web.

Usuario y contraseña de la web. La clave de autentificación es para poner el valor de la identificación de doble factor si la tiene, y la uri es la web donde está la pagina de registro.

Guardamos y ya tenemos la primera contraseña creada.

¿Y cómo lo utilizo?

Bitwarden tiene extension para los navegadores Chrome y Safari. Para los demás los desconozco.

También tienen app para iOS y Android.

Una vez instalada la extension o la app en los móviles, debemos pasar a configurarlas. Las dos se configuran igual.

Pulsamos en la rueda dentada

En la url del servidor, ponemos la web con la que nos conectamos a nuestro Bitwarden, es decir, https://subdominio.nombredelnas.synology.me

Pulsamos en guardar.

Pulsamos en identificarse

E introducimos el usuario y la contraseña que registramos en pasos anteriores.

Una vez introducidos esos datos, pulsamos en Identificarse.

Vemos nuestra primera contraseña

Si todo lo has configurado correcto, en el apartado de mi caja fuerte, nos mostrará las contraseñas creadas.

Si pulsamos en el botón de la flecha, nos llevará a la pagina web y si está correcta nos rellenará los datos automáticamente.

Cuando hagamos login en otra web

Nos saldrá una barra en la que nos dice si queremos que Bitwarden guarde esa contraseña.

Elegimos si y la tendremos añadida a nuestro servidor.

Seguid bicheando la app porque tiene cosas interesantes como un generador de contraseñas seguras.

Si queremos configurarlo por defecto en iOS

Entramos en Ajustes, Contraseñas, Autorrellenar contraseñas y en el menú elegimos los que queramos.