Site Vaultwarden: https://github.com/dani-garcia/vaultwarden/
Site Bitwarden: https://bitwarden.com/
Aqui temos um passo-a-passo para instalar e executar o gerenciador de senhas Bitwarden (Vaultwarden) no seu NAS da Synology. Caso queira, pode pular diretamente para as etapas, senão, continue lendo para mais detalhes.
- Introdução
- Instalação
- Configurando acesso externo
- Observações
Introdução
O Bitwarden é um gerenciador de senhas que andou crescendo muito em popularidade nos últimos anos. Parte se deve pela conscientização das pessoas sobre se protegerem de ataques cibernéticos, como também pelo excelente trabalho da equipe do Bitwarden, criando um ecossistema saudável tanto para o usuário comum como para os mais experientes.

Além de ser um aplicativo de código aberto, com a sua documentação bem detalhada, ele facilita a instalação da sua plataforma em qualquer servidor sem custo – claro, para liberar todos os recursos precisa pagar, mas terá os recursos básicos completos sem restrição (que já seria o suficiente para muitos).
O grande problema da imagem oficial do Bitwarden é que ele exige uma configuração alta de hardware e utiliza muitos recursos do seu sistema. Isso o torna um pouco exigente para os sistemas menos potentes (como os modelos mais básicos do Synology). A solução para isso veio com o Vaultwarden. Uma imagem docker criada pelo Dani Garcia tendo como base o código do Bitwarden. Importante ressalvar que ele não tem nenhum vínculo com o Bitwarden, apenas criou essa ramificação com base no código original.
As vantagens do Vaultwarden é enorme, pois ele foi criado para ser usado em sistemas menos potentes, eliminando assim uma das limitações impostas pela imagem original, permitindo a distribuição em ambientes mais variados, além de ser mais simples a instalação considerando que é montado apenas uma única imagem (Bitwarden oficial precisa de múltiplas imagens para funcionar). Outro fator que o torna tão popular entre os usuários é que ele tem desbloqueado TODOS os recursos do Bitwarden. Importante ressalvar também é que isso não é nada ilegal, visto que o código do Bitwarden é aberto e ramificações criadas para o uso não-lucrativo são permitidos.
Reflexão
Gerenciador de senhas é um tópico quente que gera bastante polêmica e opiniões fortes. Para mim tudo é resumido em uma palavra – confiança. Em qual gerenciador você confia? É isso que você deva perguntar a si mesmo, e mantêr-se firme na sua crença pois não existe certo ou errado. Eu digo isso porque muitos comentam que utilizando o gerenciador de senhas instalado no seu sistema é muito mais seguro que entregá-las a uma grande corporação que teria o poder de copiar, vender e fazer outras coisas horríveis com os seus dados.
Mas será que podemos confiar no Dani Garcia? Se eu fosse um desenvolvedor, analista de software, etc. poderia auditar o código e confirmar se posso (ou não), mas não sou nada disso, tendo então que confiar em um indivíduo. Será que é melhor confiar em uma grande empresa que tem mais recursos em manter meus dados seguros? O LastPass já mostrou que isso também não é garantia. Não existe nada garantido, portanto, apenas escolha algo que você se sinta confortável em usar.
O futuro terá um mundo digital onde senhas não existirão, temos apenas que nos adaptar na melhor forma possível.
Instalação
Passo 1 – Criando as pastas
Crie uma pasta dentro da pasta compartilhada “Docker” e nomeie-a de “vaultwarden” (caso queira, pode usar bitwarden, mas não esqueça de alterar os dados no script):

Passo 2 – Baixando a imagem
Abra o Docker e clique em “Registro”. Procure por “vaultwarden”, selecione a imagem “vaultwarden/server” e clique para baixá-la.

Passo 3 – Organizando os parâmetros
A instalação exige que alguns parâmetros sejam definidos. Obtendo o script original:
docker run -d --name vaultwarden -v /vw-data/:/data/ -p 80:80 vaultwarden/server:latest
Podemos ainda organizar o script acima e incluir alguns parâmetros importantes para manter o contêiner rodando mesmo após um reinício do sistema:
docker run -d --name vaultwarden \
--restart=always \
-v /vw-data/:/data/ \
-e SIGNUPS_ALLOWED=TRUE \
-p 80:80 \
vaultwarden/server:latest
Passo 4 – Criando e executando a tarefa de instalação
Com a imagem já baixada no Passo 2, podemos agora abrir o “Painel de Controle” e entrar em “Programador de Tarefas”:

Em seguida selecione para “Criar > Tarefa agendada > Script definido pelo usuário”, siga os passos das imagens abaixo e insira o script de instalação (com seus valores reais).

Em seguida insira o código abaixo, lembrando que os itens em azul são apenas demonstrativos e devem ser substituídos pelos valores reais do seu sistema.
docker run -d --name vaultwarden \
--restart=always \
-v /volume1/docker/vaultwarden:/data/ \
-e SIGNUPS_ALLOWED=TRUE \
-p 4000:80 \
vaultwarden/server:latest



O aviso abaixo irá aparecer antes de concluir a criação da tarefa. Apenas clique em “Ok” que estará tudo pronto.

Com a tarefa criada, podemos agora executá-la. Não esqueça que para que ela seja realmente processada ela tem que ser agendada para uma data futura, senão, não será executada visto que o tempo de sua ativação já passou.

A partir desse ponto a instalação em si está concluída. Abra o seu navegador e navegue para o endereço do seu contêiner http://ip-do-seu-synology:porta-local/ (do exemplo – http://192.161.1.1:4000/) e encontrará a seguinte página:

Caso tente criar o seu usuário, possivelmente vai encarar esse pequeno erro no canto superior direito da tela:

Não se preocupe. Isso deve simplesmente porque não configuramos ainda o HTTPS, o que faremos a seguir.
Configurando acesso externo
Passo 5 – Pré-requisitos
Para os passos seguintes, de modo a não divergir muito do foco aqui deste post, vou assumir que:
- Já tenha feito/configurado o DDNS do seu Synology.
- Já tenha feito/configurado o roteamento de portas para o seu Synology.
Configurar o DDNS é simples e direto e também obrigatório para seguir os passos adiante. Já o roteamento de portas pode ser feito depois (não terá o acesso externo, mas ao menos já terá feito 70% do necessário e depois só precisará rotear as portas).
Passo 6 – Configurando o Proxy-Reverso
Abra o “Painel de Controle” e clique em “Portal de login”:

Selecione a aba “Avançado” e em seguida clique em “Proxy reverso”:

Depois clique em “Criar”:

Para a etapa seguinte vou assumir alguns valores para facilitar a compreensão do passo:
- DDNS = my.synology.me
- IP do Synology = 192.161.1.1
- Porta do Vaultwarden = 4000
Com os parâmetros acima como exemplo, podemos preencher os campos do proxy reverso assim:

Note que coloquei “vaultwarden” antes do DDNS. Esse vai ser o endereço ao qual você usará para acessar o cofre. A “Porta” da seção “Origem” com valor 443 deve ser mantido, pois será pelo roteamento dessa porta que você terá acesso ao Vaultwarden pela internet. Fique atento a todos os campos acima. Volto a dizer que os valores são meramente demonstrativos (exceto a porta 443) para que facilite o input com os valores reais do seu sistema. As outras abas não são necessárias alterar, mas pode fazê-lo ao seu critério. Agora clique em “Salvar” e vamos adiante.
Passo 7 – Obtendo o certificado para HTTPS
Agora no “Painel de Controle”, clique em “Segurança” e siga para a aba “Certificado”. Nela clique em “Adicionar”:

Depois selecione “Adicionar um novo certificado” e clique em “Avançar”:

Selecione “Obter um certificado do Let’s Encrypt” e clique em “Avançar”:

Insira agora o “nome do host” que você escolheu (Passo 6) e coloque-o no “nome de domínio” e clique em “Concluído”:

Continuando na aba “Certificados”, você poderá verificar que terá pelo menos dois certificados presentes:
- Certificado do DDNS do seu sistema.
- Certificado recém criado para o Vaultwarden (como exemplo: vaultwarden.my.synology.me)
Agora clique em “Configurações”. Aparecerá uma janela com serviços aos quais usam o DDNS. Vá para o serviço com o endereço do Vaultwarden e selecione o certificado correspondente e clique em “OK”:

Pronto, seu Bitwarden (Vaultwarden) já está instalado e configurado para ser acessado externamente.
Passo 8 – Crie o usuário
Agora com as devidas configurações, abra o seu navegador e navegue para o endereço https://vaultwarden.ddns-do-seu-synology/ (do exemplo – https://vaultwarden.my.synology.me/) e crie o seu usuário.

Passo 9 – Impedindo criação de novos usuários
Uma vez criada, é importante impedir que outras pessoas não autorizadas consigam entrar e criar contas indevidamente. Para isso precisamos agora alterar o parâmetro “SIGNUPS_ALLOWED” para “FALSE”.
Para isso é preciso ir no Docker e “Parar” o contêiner do Vaultwarden e depois clique em “Editar:

Selecione a aba “Ambiente” e procure o parâmetro “SIGNUPS_ALLOWED”. Troque o valor “TRUE” por “FALSE” e estará pronto! Aproveite!

Observações
Segue algumas observações que acho interessante compartilhar sobre esse processo:
- O procedimento de instalação do Vaultwarden pode ser todo através do GUI do pacote de Docker no Synology, ele não tem nenhuma restrição ou limitação quanto a isso, mas o procedimento através do script é mais rápido. Se tiver demanda para o passo-a-passo pelo GUI, entre em contato que farei um só nesse formato.
- Para a sincronização com os outros aplicativos (celular, windows ou Mac) do Bitwarden, siga as instruções localizadas na documentação: https://bitwarden.com/help/change-client-environment/.
- Caso queira criar novos usuários no futuro, é só reverter o parâmetro “SIGNUPS_ALLOWED” para “TRUE” que estará liberado (só não vá esquecer de desabilitar novamente).
- Qualquer ajuda para a manutenção desse site é muito bem vinda: Contribuições.