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/