Instale o gerenciador de senhas Vaultwarden no Ubuntu 20.04, 22.04

Vaultwarden é uma alternativa não oficial ao gerenciador de senhas Bitwarden, escrito em Rust, é mais leve e roda em servidores com configurações mais “modestas”.

A instalação será feita no Ubuntu 20.04/22.04 com Docker e docker-compose, e usa o Caddy para gerar o certificado SSL.

Pré requisitos

Servidor com Ubuntu 20.04 ou 22.04
Docker e docker-compose
Acesso SSH ao servidor
domínio, pago ou grátis (.tk, .ml, etc)
porta 443 aberta no servidor.

Iniciando

Remova quaisquer versões mais antigas do Docker e do Docker compose.

$ sudo apt remove docker docker.io containerd runs

Atualiza o snapd.

$ sudo snap install core; sudo snap refresh core

Instale o Docker usando o snap

$ sudo snap install docker

Contâiner Docker

Crie um diretório chamado vaultwarden e entre nele

$ mkdir ~/vaultwarden
$ cd ~/vaultwarden

Crie um novo arquivo docker-compose.yml

$ sudo nano docker-compose.yml

Adicione o conteúdo a seguir no arquivo

version: '3'

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: always
    environment:
      - WEBSOCKET_ENABLED=true
    volumes:
      - ./vw-data:/data

  caddy:
    image: caddy:2
    container_name: caddy
    restart: always
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - ./caddy-config:/config
      - ./caddy-data:/data
    environment:
      - DOMAIN=
      - EMAIL=
      - LOG_FILE=/data/access.log

Adicione o domínio ou subdomínio na linha DOMAIN e e-mail na linha EMAIL em environment do Caddy
Exemplo:

environment:
  - DOMAIN=dominio.com
  - [email protected]

Para salva e sair digite CTRL + X, (command + X no Mac)digite Y e em seguida ENTER

Arquivo de configuração do Caddy

Crie e abra um novo Caddyfile

$ sudo nano Caddyfile

Adicione no arquivo:

{$DOMAIN}:443 {
  log {
    level INFO
    output file {$LOG_FILE} {
      roll_size 10MB
      roll_keep 10
    }
  }

  # Get a cert by using the ACME HTTP-01 challenge.
  tls {$EMAIL}

  encode gzip

  # Headers to improve security.
  header {
  # Enable HSTS
  Strict-Transport-Security "max-age=31536000;"

  # Enable cross-site filter (XSS)
  X-XSS-Protection "1; mode=block"

  # Disallow the site to be rendered within a frame (clickjacking protection)
  X-Frame-Options "DENY"

  # Prevent search engines from indexing
  X-Robots-Tag "none"

  # Remove Caddy branding
  -Server
  }

  # Redirect notifications to the WebSocket.
  reverse_proxy /notifications/hub vaultwarden:3012

  reverse_proxy vaultwarden:80 {
       header_up X-Real-IP {remote_host}
  }
}

Para salva e sair digite CTRL + X, (command + X no Mac)digite Y e em seguida ENTER

O Caddyfile configura o Caddy para encaminhar solicitações HTTPS da porta 443 para o Vaultwarden e adiciona cabeçalhos adicionais para melhorar a segurança, como a proteção HTTP Strict Transport Security (HSTS) e Cross-Site Scripting (XSS).

Executando a instalação

Instale executando o docker-compose. Isso pode demorar alguns segundos.

$ sudo docker-compose up -d

Verifique se o container do Vaultwarden está sendo executado:

$ sudo docker ps

o status deve ser UP:

STATUS
Up x seconds/minutes

Acesse o domínio ou subdomínio de instalação.
Exemplo: https://vault.dominio.com ou https://dominio.com e clique em criar conta para criar um usuário.

Configurações adicionais de segurança:

Desativando o registro de novos usuários

Por padrão, qualquer pessoa que acesse sua instância do Vaultwarden pode criar uma conta. Isso é útil ao criar sua instância pela primeira vez, mas pode representar um risco de segurança mais tarde.

Depois de criar sua conta, você pode desativar o registro definindo a variável de ambiente SIGNUPS_ALLOWED como false no arquivo docker-compose.yml.

services:
  vaultwarden:
    ... other configuration ...
    environment:
      - SIGNUPS_ALLOWED=false
      ... other configuration ...

Desabilitando convites

O Vaultwarden também permite que usuários registrados convidem outros novos usuários para criar contas no servidor. Esse recurso não é um risco de segurança, desde que você confie em seus usuários. No entanto, se você é o único usuário, pode querer desativar isso.

Você pode desativar os convites definindo a variável INVITATIONS_ALLOWED como false em docker-compose.yml

services:
  vaultwarden:
    ... other configuration ...
    environment:
      - INVITATIONS_ALLOWED=false
      ... other configuration ...

Desabilite as dicas de senha

As dicas de senha do Bitwarden geralmente são enviadas por e-mail. Mas as dicas de senha podem revelar informações pessoais, caso seja configurado o serviço de envio de emails.

Se você quiser desativar as dicas de senha, defina a variável SHOW_PASSWORD_HINT como false em docker-compose.yml

services:
  vaultwarden:
    ... other configuration ...
    environment:
      - SHOW_PASSWORD_HINT=false
      ... other configuration ...

Etapas finais:

Reiniciando o Vaultwarden

Se você alterou qualquer uma das variáveis de ambiente das etapas acima, deve reiniciar o Vaultwarden. Para fazer isso, siga estes passos:

Pare o Vaultwarden usando o docker-compose:

$ sudo docker-compose down

Inicie o Vaultwarden usando o docker-compose:

$ sudo docker-compose up -d

As configurações serão salvas.

Usando o Vaultwarden

Acesse seu cofre pelo domínio que você configurou:

https://dominio.com

Usando os aplicativos oficiais do Bitwarden

Pata usar os aplicativos oficiais do Bitwarden, altere o servidor de US para Self Hosted:

Altere para a URL do seu cofre:

Fontes:


https://github.com/dani-garcia/vaultwarden

https://www.vultr.com/docs/how-to-install-vaultwarden-on-ubuntu-20-04/

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *