Bitwarden é um gerenciador de senhas gratuito e de código aberto que armazena informações confidenciais em um cofre criptografado. Ele é desenvolvido em C#, utilizando .NET Core e ASP.NET Core, e sua base de dados é baseada em T-SQL/SQL Server.
O Bitwarden é um serviço em nuvem acessível por meio de diversos aplicativos clientes, tornando-o multiplataforma: na web, em aplicativos desktop (Windows, macOS, Linux), aplicativos móveis, extensões de navegador (Chrome, Firefox, Safari, Edge, Opera, Vivaldi, Brave, Tor) e também via linha de comando (CLI).
Um dos principais motivos para usar o Bitwarden é evitar gerenciadores de senha de terceiros, onde dados sensíveis ficam armazenados em servidores externos. Em vez disso, é possível hospedar o Bitwarden no seu próprio servidor seguro.
O Bitwarden é composto por um conjunto de contêineres, e cada contêiner contém um componente funcional do sistema — como o banco de dados ou o servidor web. Portanto, para instalar e executar o Bitwarden, é necessário um sistema de containerização, neste caso, o Docker.
Código aberto (open source)
Criptografia AES de 256 bits para proteger os dados do usuário
Suporte a autenticação de dois fatores (2FA)
Sistema de auditoria e verificação de senhas
Suporte a autenticação biométrica
Possibilidade de hospedar o servidor localmente
Aplicativos clientes multiplataforma em todos os sistemas populares
Este tutorial utiliza comandos para sistemas UNIX-like, em especial Debian/Ubuntu, amplamente usados para deploys de servidores.
Antes de instalar e configurar o Bitwarden, garanta que os pacotes do sistema estejam atualizados:
sudo apt update
sudo apt upgrade
Se o servidor for novo, instale algumas ferramentas básicas:
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
Em seguida, certifique-se de ter Docker e Docker Compose instalados para gerenciar os contêineres do Bitwarden.
Adicione a chave GPG oficial do Docker, usada para assinar pacotes:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Depois, adicione o repositório do Docker para obter a versão mais recente:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Atualize novamente o sistema:
sudo apt update
Por fim, instale o Docker e o Docker Compose:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose
Para aumentar a segurança, crie um usuário dedicado com permissões limitadas.
Crie o diretório do Bitwarden:
sudo mkdir /opt/bitwarden
Crie o usuário:
sudo adduser bitwarden
Defina as permissões e o proprietário do diretório:
sudo chmod -R 700 /opt/bitwarden
sudo chown -R bitwarden:bitwarden /opt/bitwarden
Permita que o usuário Bitwarden execute comandos Docker:
sudo usermod -aG docker bitwarden
Em seguida, troque para o usuário Bitwarden:
su bitwarden
cd /opt/bitwarden
Mesmo que você não tenha experiência com Docker, os desenvolvedores do Bitwarden fornecem um script de instalação automatizado.
Baixe o script e torne-o executável:
curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh && chmod 700 bitwarden.sh
Execute o script:
./bitwarden.sh install
Durante a instalação, o script pedirá várias informações, como:
O domínio do servidor Bitwarden
O nome do banco de dados
Se deseja usar o Let’s Encrypt para emitir um certificado SSL gratuito
Você também precisará informar um ID de instalação e uma chave, que podem ser gerados no site oficial do Bitwarden.
Embora seja opcional, é recomendável configurar um servidor SMTP para permitir o envio de e-mails administrativos. Edite o arquivo ./bwdata/env/global.override.env e adicione as variáveis de configuração, por exemplo:
globalSettings__mail__smtp__host=smtp.gmail.com
globalSettings__mail__smtp__port=587
globalSettings__mail__smtp__ssl=true
globalSettings__mail__smtp__username=seu_email@gmail.com
globalSettings__mail__smtp__password=sua_senha
adminSettings__admins=seu_email@gmail.com
Se você já domina Docker, pode utilizar um servidor de e-mail em contêiner, como o docker-mailserver, que funciona muito bem com o Bitwarden. Em um cenário mais simples (embora menos seguro), é possível usar um servidor público como o Gmail:
globalSettings__mail__replyToEmail=seu_email@gmail.com
globalSettings__mail__smtp__host=smtp.gmail.com
globalSettings__mail__smtp__username=seu_email
globalSettings__mail__smtp__password=sua_senha
globalSettings__mail__smtp__ssl=true
globalSettings__mail__smtp__port=587
globalSettings__mail__smtp__useDefaultCredentials=false
globalSettings__disableUserRegistration=true
Após configurar, o Bitwarden enviará notificações por meio da sua conta do Gmail. Certifique-se de ativar a opção “permitir aplicativos menos seguros” em sua conta, caso contrário o Google poderá bloquear o envio.
Se estiver usando outro provedor de e-mail, consulte as configurações SMTP (endereço do host, porta, SSL, etc.) e adicione-as de forma equivalente. Se o envio falhar, utilize uma ferramenta de teste SMTP online para validar e ajustar as configurações.
Inicie o servidor com o mesmo script:
./bitwarden.sh start
Abra o navegador e acesse o servidor usando o IP ou domínio configurado. Para abrir o painel de administração, adicione /admin ao final da URL.
A página solicitará o endereço de e-mail configurado no arquivo global.override.env. O servidor de e-mail enviará um link para login sem senha, que dá acesso direto ao painel administrativo.
A partir daí, você pode utilizar qualquer cliente Bitwarden — desktop, web ou mobile — para conectar-se ao seu servidor e gerenciar senhas com segurança.
Caso surjam problemas ou você deseje reinstalar o Bitwarden, interrompa completamente o serviço:
./bitwarden.sh stop
Remova o diretório de dados:
rm -r ~/bwdata
E reinstale, se necessário:
./bitwarden.sh install
A instalação do Bitwarden é simples, já que o script fornecido pelos desenvolvedores automatiza grande parte do processo. Após configurá-lo, você poderá proteger seus dados sensíveis com este gerenciador de senhas robusto, utilizando DNS, SSL e SMTP conforme necessário. Para mais detalhes e boas práticas, consulte a documentação oficial do Bitwarden.