Como você pode hospedar o Bitwarden (quase) sem custo usando o Google Cloud
Um gerenciador de senhas é uma das maneiras mais fáceis de proteger sua identidade online contra atores mal-intencionados e roubo. Da miríade de opções disponíveis, projetos de código aberto como Bitwarden e Keepass são universalmente considerados os mais confiáveis.
Mas e se você quiser dar um passo adiante? Você pode hospedar o Bitwarden em um servidor privado para aumentar sua segurança?
Por que Self-Host Bitwarden?
O Bitwarden oferece uma solução hospedada conveniente para a maioria dos usuários que qualquer um pode usar gratuitamente ou por uma taxa mensal nominal – dependendo do conjunto de recursos de que você precisa. Como suas senhas são armazenadas em um formato criptografado, nem mesmo os desenvolvedores da Bitwarden podem acessá-las.
No entanto, pessoas mais criteriosas e orientadas para a privacidade ainda podem querer ter controle total sobre suas senhas, criptografadas ou não. Para esse fim, a Bitwarden oferece uma opção auto-hospedada, que permite implantar todo o software de gerenciamento de senha em seu próprio hardware. O gerenciador de senhas suporta oficialmente essa opção "local".
O maior obstáculo para a auto-hospedagem, no entanto, é encontrar um computador sempre disponível para implantar o software. Embora seja possível usar um computador sobressalente ou até mesmo um Raspberry Pi como servidor doméstico, eles estão longe de ser confiáveis.
Um serviço off-site, por outro lado, garante uptime. O Google Cloud, por exemplo, garante que seus servidores estarão disponíveis pelo menos 99% do tempo sob seu contrato de nível de serviço do Compute Engine .
Além disso, se o seu servidor ficar inoperante, você não ficará sem destino de sincronização até que o corrija. A ativação de uma nova instância de servidor em nuvem, por outro lado, é rápida e não requer uma ampla solução de problemas de hardware.
Auto-hospedagem também significa que você está no controle da segurança do seu gerenciador de senhas. Mesmo se o serviço público da Bitwarden for vítima de uma violação de segurança no futuro, seu banco de dados permanecerá privado e não será afetado.
Qual provedor de armazenamento em nuvem você deve escolher?
Google Cloud, Microsoft Azure e Amazon AWS são os três maiores provedores de serviços de nuvem por participação de mercado.
Felizmente para nós, todos os três também têm camadas gratuitas – permitindo que você hospede um pequeno número de serviços sem nenhum custo. Naturalmente, existem algumas restrições, como as especificações de hardware e a localização geográfica, mas não devem ser muito importantes para o simples auto-alojamento do Bitwarden.
De nossas três opções disponíveis, no entanto, o Google Cloud é o único serviço que oferece um nível sempre gratuito além do período de teste inicial de 12 meses. A maior limitação desse servidor é que ele vem com pouca largura de banda e permissões de armazenamento. No entanto, como o estamos usando apenas para hospedagem de senha, nenhuma dessas limitações será um problema.
Mais especificamente, o Google Cloud oferece uma instância de servidor f1-micro gratuitamente, contanto que você a hospede em regiões específicas. No momento da publicação, as opções eram limitadas a Oregon, Iowa e Carolina do Sul.
Mesmo que você more longe dessas regiões, a usabilidade do Bitwarden não será afetada tanto. A distância física entre você e o data center é muito mais importante para aplicativos que envolvem arquivos grandes, como streaming de vídeo.
Por fim, o Google provisiona apenas 1 GB de largura de banda de rede de saída para sua instância gratuita todos os meses. A interface da web do Bitwarden usa alguns megabytes de dados cada vez que você carrega, mas simplesmente sincronizar suas senhas regularmente não deve ultrapassar esse limite.
Observação: embora o nível gratuito do Google permita que você alugue hardware gratuitamente, você terá que pagar uma pequena taxa para reservar um endereço IP estático. Isso ocorre porque a Internet já está sem endereços IPv4. Como a demanda excede a oferta, o Google Cloud atualmente cobra US $ 0,002 por endereço IP por hora. Se você executar seu servidor Bitwarden 24 horas por dia, 7 dias por semana, durante um mês inteiro, será cobrado $ 1,44.
Primeira etapa: provisionando um servidor para Bitwarden
Para começar, vá para o console do Google Cloud e faça login em sua conta do Google. Em seguida, navegue até a seção do mecanismo de computação da plataforma e clique no botão 'Criar' para ativar uma nova instância de máquina virtual.
Digite um nome para a máquina e selecione uma das regiões mencionadas no menu suspenso. Em seguida, na seção Configuração da máquina, certifique-se de selecionar 'f1-micro' como seu tipo de servidor. Essas configurações garantirão que seu servidor caia no nível Sempre gratuito do Google.
Por fim, basta selecionar 'Debian' ou 'Ubuntu' como imagem de inicialização de sua máquina virtual e definir um tamanho de disco de 30 GB – o máximo permitido. Após confirmar a criação de sua nova máquina virtual, aguarde alguns minutos para que ela apareça na lista de VMs.
Em seguida, você terá que atribuir um endereço IP estático à sua máquina virtual. Dessa forma, você pode acessar sua instância do Bitwarden a partir do mesmo IP todas as vezes. Para fazer isso, basta seguir esta página de documentação .
Depois de ter seu IP estático, navegue até seu provedor de domínio e configure um registro DNS apontando para o mesmo endereço. As instruções para esta etapa variam de acordo com o provedor que você usa – basta consultar a documentação.
Supondo que você tenha configurado tudo corretamente, seu nome de domínio (abc.xyz) logo apontará diretamente para sua VM do Google Cloud.
Agora estamos prontos para instalar o Bitwarden nesta máquina virtual! Volte para a lista de VMs clicando aqui e conecte-se a ela clicando no botão SSH.
Implante Bitwarden em seu servidor
Depois de se conectar com sucesso à sua máquina virtual, execute os seguintes comandos para atualizar o sistema operacional de base.
Sudo apt-get update
Sudo apt-get upgrade
Em seguida, instale o Docker digitando:
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
Caso o script de instalação acima falhe, instale o Docker manualmente ou siga a documentação oficial .
Nesse ponto, tudo o que resta fazer é baixar a imagem Docker do Bitwarden e executá-la. Os comandos a seguir realizam exatamente isso:
docker pull bitwardenrs/server:latest
docker run -d --name bitwarden -v /bw-data/:/data/ -p 80:80 bitwardenrs/server:latest
Neste ponto, o Bitwarden está totalmente instalado em seu servidor. No entanto, os clientes externos ainda não podem se conectar à sua instância do Bitwarden. Para isso, você terá que fornecer ao servidor da web um certificado TLS válido. Esse requisito é para garantir que suas senhas permaneçam seguras enquanto são enviadas e recebidas.
Proxy reverso e SSL com Caddy
Caddy é um proxy reverso de código aberto que abstrai grande parte dessa complexidade para nós. Desde que o seu domínio esteja configurado corretamente, a Caddy irá gerar e renovar automaticamente os certificados necessários.
Para instalar o Caddy via Docker, basta inserir o seguinte comando:
docker pull caddy/caddy:alpine
Em seguida, crie um diretório para o Caddy executar e armazenar seus certificados e arquivos. O segundo comando cria um arquivo de configuração em branco:
sudo mkdir /etc/caddy
sudo nano /etc/Caddyfile
Cole o seguinte conteúdo:
yourbitwardendomain.com {
reverse_proxy /notifications/hub/negotiate 0.0.0.0:80
reverse_proxy /notifications/hub 0.0.0.0:3012
reverse_proxy 0.0.0.0:80
}
Não se esqueça de substituir 'yourbitwardendomain.com' no bloco acima pelo seu próprio domínio. Pressione Ctrl + X para salvar.
Em seguida, basta iniciar o contêiner do Docker:
sudo docker run -d --name caddy -v /etc/Caddyfile:/etc/caddy/Caddyfile -v /etc/caddy:/root/.local/share/caddy --net host --restart on-failure caddy/caddy:alpine
E é isso! Visitar seu domínio agora deve levá-lo direto para Bitwarden – por meio de uma conexão segura, nada menos.
Se a página não carregar por algum motivo, você pode ter perdido uma etapa ou configurado o Caddy incorretamente. Lembre-se de que o Bitwarden só funcionará em uma conexão HTTPS, portanto, não pode ser acessado diretamente navegando até o endereço IP público do seu servidor.
Comece a fazer backup de suas senhas para o Bitwarden
Assim que seu servidor auto-hospedado Bitwarden estiver instalado e funcionando, você estará livre para começar a enviar e armazenar suas senhas com segurança.
Maxim Zhgulev / Unsplash