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
- Un servidor basado en Ubuntu 20.04 con un usuario no root con privilegios sudo.
- Un nombre de dominio que apunte a dicho servidor.
- 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.
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.
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.
Tu instalación de Bitwarden debería estar funcionando en https://bitwarden.example.com
Haz clic en el botón Crear Cuenta para crear tu primera cuenta.
Una vez hecho esto, ya puedes acceder a tu cuenta de Bitwarden y empezar a utilizarla.
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.
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.