Cómo instalar el gestor de contraseñas Bitwarden en Ubuntu 20.04

Bitwarden es un gestor de contraseñas de código abierto. No sólo almacena o crea contraseñas seguras, sino que también las sincroniza en múltiples dispositivos. Bitwarden ofrece aplicaciones para Windows, macOS, Linux, Android, iPhone junto con extensiones de navegador y también es accesible a través de la web.

Bitwarden te permite proteger tu cuenta mediante la autenticación de dos factores y también puede almacenar claves 2FA.

Bitwarden se puede gestionar en su alojamiento en la nube o puedes instalarlo en tu servidor, lo que te ofrece una ventaja ya que tus datos permanecen contigo.

En este tutorial, aprenderás a instalar Bitwarden en un servidor Ubuntu 20.04.

Requisitos previos

  1. Un servidor basado en Ubuntu 20.04 con un usuario no root con privilegios sudo.
  2. Un nombre de dominio que apunte a dicho servidor.
  3. Actualizar el sistema
    $ sudo apt update && sudo apt upgrade
    

Configurar el cortafuegos

Ubuntu 20.04 viene con Uncomplicated Firewall(UFW) por defecto. En caso de que no lo tenga, instálalo primero.

$ sudo apt install ufw

Habilita el puerto SSH.

$ sudo ufw allow "OpenSSH"

Activa el cortafuegos.

$ sudo ufw enable

Abre también los puertos HTTP y HTTPS que necesitaremos más adelante.

$ sudo ufw allow http
$ sudo ufw allow https

Comprueba el estado del cortafuegos.

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)

Instala Docker

Bitwarden se incluye como una imagen Docker. Docker es una aplicación que puede ejecutar aplicaciones en un proceso aislado de recursos llamado contenedores. Son similares a las máquinas virtuales, pero más portátiles y con menos recursos.

Antes de instalar Docker, primero tenemos que instalar algunas dependencias y paquetes que requiere.

$ sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

Añade la clave GPG oficial de Docker.

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Añade el repositorio oficial de Docker en Ubuntu.

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs)  stable"

Instala el motor Docker.

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

Verifica que Docker está instalado correctamente.

$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:8c5aeeb6a5f3ba4883347d3747a7249f491766ca1caa47e5da5dfcf6b9b717c0
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

El comando anterior descargará una imagen de prueba y la ejecutará.

Ejecutar Docker sin Sudo

Por defecto, Docker sólo se puede ejecutar a través del usuario root o utilizando los privilegios de sudo. También existe otra forma, que consiste en ejecutar un usuario que forme parte del grupo docker, creado durante la instalación.

Si quieres evitar utilizar sudo cada vez que ejecutes el comando docker, utiliza el siguiente comando para añadir el usuario actual de tu sistema al grupo docker.

$ sudo usermod -aG docker ${USER}

Para aplicar el cambio, debes cerrar la sesión y volver a iniciarla.

$ su - ${USER}

Se te pedirá tu contraseña para continuar.

Confirma que tu usuario se ha añadido al grupo docker.

$ id -nG
username sudo docker

Instalar Docker Compose

Docker Compose es una herramienta para definir y ejecutar aplicaciones Docker multicontenedor. Compose utiliza un archivo YAML para configurar la aplicación.

Puedes instalar Compose directamente desde el repositorio de Ubuntu, pero está desactualizado. Puedes obtener la última versión de Compose desde su repositorio de Github.

Descarga la versión estable actual de Docker Compose.

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

En el momento de escribir este tutorial, 1.27.4 era la última versión disponible de Compose. Puedes elegir una versión diferente consultando la página de versiones del repositorio de Compose.

El comando anterior descarga y mueve el binario de Compose al directorio /usr/local/bin.

Haz ejecutable el binario.

$ sudo chmod +x /usr/local/bin/docker-compose

Comprueba si se ha instalado correctamente.

$ docker-compose --version
docker-compose version 1.27.4, build 40524192

Instala el script de finalización de comandos para el shell bash.

$ sudo curl -L https://raw.githubusercontent.com/docker/compose/1.27.4/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose

Instalar Bitwarden

El primer paso es descargar el script de instalación de Bitwarden.

$ curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh

A continuación, da permiso de ejecutable al script de instalación.

$ chmod +x bitwarden.sh

Antes de pasar al siguiente paso de la instalación, necesitas generar el ID de instalación de Bitwarden y la clave de instalación.

Abre el sitio Bitwarden Host(https://bitwarden.com/host) para generar la clave.

Página de acogida de Bitwarden

Introduce tu dirección de correo electrónico y pulsa el botón Enviar.

Deberías ver tu ID de instalación y tu clave en la siguiente pantalla. Anótalos.

Clave de instalación de Bitwarden

Ejecuta el instalador de Bitwarden.

$ ./bitwarden.sh install

Se te pedirá el nombre de dominio de Bitwarden desde el que quieres acceder al sitio. Bitwarden puede instalar un certificado SSL para tu sitio utilizando el servicio Let’s Encrypt o puedes elegir tu propio certificado o utilizar un certificado autofirmado.

Te recomendamos que utilices el certificado Let’s Encrypt, así que introduce «y» cuando se te pida. Si deseas proporcionar tu propio certificado o utilizar uno autofirmado, introduce n y proporciona la ruta a tu certificado o utiliza Bitwarden para generar un certificado autofirmado más tarde.

Una vez finalizada la instalación, puedes realizar cambios antes de iniciar la aplicación Bitwarden.

Aquí puedes introducir tu certificado personalizado o cambiar el dominio o incluso añadir la configuración SMTP.

Todas las configuraciones se almacenan en el directorio /home/<username>/bwdata.

El archivo de configuración principal se encuentra en ~/bwdata/config.yml. Este archivo contiene el dominio y los ajustes SSL. Si quieres hacer cambios en el archivo de configuración por defecto de Nginx, puedes hacerlo modificando el archivo ~/bwdata/nginx/default.conf.

Si quieres añadir ajustes SMTP, edita el archivo ~/bwdata/env/global.override.env.

Una vez que estés satisfecho con tus cambios, reconstruye Bitwarden.

$ ./bitwarden.sh rebuild

A continuación, puedes ejecutar el siguiente comando.

$ ./bitwarden.sh update

A continuación, inicia Bitwarden.

$ ./bitwarden.sh start

Puedes comprobar si todos los servicios se están ejecutando correctamente, una vez finalizado el proceso de arranque.

$ docker ps

Verás la siguiente pantalla.

Bitwarden Verifica

Tu instalación de Bitwarden debería estar funcionando en https://bitwarden.example.com

Página de Bitwarden

Haz clic en el botón Crear Cuenta para crear tu primera cuenta.

Pantalla de registro de Bitwarden

Una vez hecho esto, ya puedes acceder a tu cuenta de Bitwarden y empezar a utilizarla.

Página de inicio de Bitwarden

Configurar SMTP

Lo primero que notarás es que se te pide que verifiques tu dirección de correo electrónico. Bitwarden necesita tus datos SMTP para hacerlo.

Hay dos formas de hacerlo. Puedes configurar tu propio servidor SMTP o puedes utilizar cualquier servicio de terceros.

Si quieres configurar tu propio servicio SMTP.

Para nuestro tutorial, utilizaremos un servicio de correo electrónico de terceros, SES(Simple Email Service), de Amazon. Puedes utilizar cualquier servicio de tu elección.

SES es muy asequible y sólo cuesta 0,1$ por cada 1000 correos que envíes. Y si estás alojado en un servidor Amazon EC2, los primeros 62000 correos electrónicos son gratuitos para siempre.

Ahora, tenemos que abrir el archivo /home/<username>/bwdata/env/global.override.env para editarlo.

$ nano /home/<username>/bwdata/env/global.override.env

Tienes que configurar los siguientes ajustes en el archivo.

[email protected]
globalSettings__mail__smtp__host=REPLACE
globalSettings__mail__smtp__username=REPLACE
globalSettings__mail__smtp__password=REPLACE
globalSettings__mail__smtp__ssl=true
globalSettings__mail__smtp__port=587

Sustituye los valores de host, nombre de usuario y contraseña que hayas obtenido de tu proveedor SMTP.

Guarda el archivo pulsando Ctrl+X e introduciendo Y cuando se te solicite.

Cuando hayas cambiado la configuración, reinicia tu instalación de Bitwarden.

$ ./bitwarden.sh restart

Registro de usuarios

Puedes utilizar tu instalación de Bitwarden para permitir que tus familiares y amigos creen sus cuentas individuales. Pero si quieres conservar la instalación para ti, es una buena práctica de seguridad desactivar el Registro de Usuarios.

Para ello, de nuevo, abre el archivo /home/<username>/bwdata/env/global.override.env para editarlo.

$ nano /home/<username>/bwdata/env/global.override.env

Cambia el valor de la variable disableUserRegistration por true.

globalSettings__disableUserRegistration=true

Guarda el archivo pulsando Ctrl+X e introduciendo Y cuando se te solicite.

Reinicia tu instalación de Bitwarden.

$ ./bitwarden.sh restart

Seguirás viendo el enlace para crear una cuenta y el formulario, pero ahora al enviarlo se generará un error.

Portal de Administración

Bitwarden proporciona un portal de administración donde puedes

  • Ver la configuración del entorno de instalación
  • Ver las versiones actualmente instaladas y las últimas disponibles
  • Ver todos los usuarios registrados e información sobre ellos
  • Eliminar usuarios registrados
  • Examinar todas las organizaciones e información sobre ellas
  • Borrar organizaciones

Está disponible en https://bitwarden.yourdomain.com/admin pero por defecto está desactivada.

Para activarla, tienes que hacer el cambio en el archivo /home/<username>/bwdata/env/global.override.env.

Busca la configuración adminSettings__admins y añade las direcciones de correo electrónico de los usuarios que pueden acceder a la página de administración.

[email protected],[email protected]

Reinicia el servidor Bitwarden cuando hayas terminado de hacer los cambios.

Siempre que quieras acceder al Portal de Administración, visita https://bitwarden.yourdomain.com/admin e introduce tu dirección de correo electrónico. Recibirás un enlace de inicio de sesión temporal que será válido durante 15 minutos.

Panel de administración de Bitwarden

Como puedes ver, nuestro panel de administración te está indicando que actualices Bitwarden. Veamos cómo hacerlo.

Actualizar Bitwarden

Si quieres actualizar tu instalación de Bitwarden, puedes hacerlo ejecutando los siguientes comandos.

./bitwarden.sh updateself
./bitwarden.sh update

El primer comando actualiza el script instalador de Bitwarden y el segundo comando actualiza todos los contenedores y bases de datos y los reinicia.

Clientes de Bitwarden

Los clientes de Bitwarden están disponibles para los sistemas operativos Windows, macOS, Linux, Android e iOS junto con las extensiones. Normalmente los clientes están configurados para conectarse al servicio en la nube de Bitwarden, pero puedes cambiar su configuración para que se conecten a tu instalación autoalojada.

Sólo tienes que introducir tu URL de Bitwarden (`https://bitwarden.yourdomain.com) en el menú de configuración del cliente y podrás empezar a utilizarlos,

Conclusión

Con esto concluye nuestro tutorial sobre la instalación del servidor Bitwarden en Ubuntu 20.04. Si tienes alguna pregunta, publícala en los comentarios a continuación.

También te podría gustar...