Todos os sistemas operando normalmente 21 criptomoedas aceitas · Monero bem-vindo Política No-KYC
ChainVPS

Senhas · sem KYC

Hospede Vaultwarden em um VPS offshore

Execute seu próprio cofre de senhas compatível com Bitwarden em hardware que você controla, em uma jurisdição favorável à privacidade, pago em cripto sem vincular identidade.

O que é

Vaultwarden é um servidor Bitwarden leve e não oficial, escrito em Rust, que fala a mesma API do Bitwarden — por isso todos os clientes oficiais do Bitwarden (extensões de navegador, desktop, iOS/Android, CLI) sincronizam normalmente com ele. Ele armazena cofres criptografados de senhas, passkeys, sementes TOTP, cartões e notas seguras, com suporte a organizações, anexos e controles administrativos, usando apenas uma fração da RAM da stack oficial.

Por que hospedar offshore

Seu cofre de senhas é o ativo mais sensível que você possui, então quem controla o servidor e sob qual legislação importa tanto quanto a criptografia em si. Um VPS no-KYC, pago em cripto, em uma localização com foco em privacidade (NL/CH/RO/IS) significa que a máquina que armazena seus cofres criptografados não está vinculada à sua identidade legal, não está sujeita a uma intimação judicial dos EUA/Reino Unido e não pode ser bloqueada por um provedor de pagamento que decida suspender sua conta.

A implantação

Uma configuração de referência funcional

Copie isto para uma instância nova do ChainVPS. Substitua os placeholders e depois coloque no ar.

docker-compose.yml
# 1) DNS: aponte vault.example.com -> seu IP ChainVPS (registro A/AAAA)
# 2) Gere um ADMIN_TOKEN Argon2 (NÃO use uma string em texto puro):
#    docker run --rm -it vaultwarden/server /vaultwarden hash
#    cole a string resultante '$argon2id$...' como ADMIN_TOKEN abaixo (use aspas simples no .env)
# 3) Salve como docker-compose.yml, crie o Caddyfile mostrado e depois execute: docker compose up -d

services:
  vaultwarden:
    image: vaultwarden/server:1.32.7
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      DOMAIN: "https://vault.example.com"      # deve corresponder exatamente à URL pública
      SIGNUPS_ALLOWED: "false"                  # crie sua conta e depois mantenha isso como false
      INVITATIONS_ALLOWED: "true"
      ADMIN_TOKEN: "${ADMIN_TOKEN}"             # hash Argon2 da etapa 2, mantido no .env
      WEBSOCKET_ENABLED: "true"                 # sincronização em tempo real (servida na porta principal)
      SENDS_ALLOWED: "true"
      ROCKET_PORT: "80"
    volumes:
      - ./vw-data:/data                         # cofres, anexos, banco sqlite, chaves
    networks: [vw]
    # nenhuma porta do host publicada: apenas o Caddy se comunica com ele pela rede interna

  caddy:
    image: caddy:2
    container_name: vaultwarden-caddy
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"                           # HTTP/3
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - ./caddy-data:/data
      - ./caddy-config:/config
    networks: [vw]
    depends_on: [vaultwarden]

networks:
  vw:

# ---- Caddyfile (mesmo diretório) ----
# vault.example.com {
#     encode gzip
#     reverse_proxy vaultwarden:80
# }
# O Caddy obtém e renova um certificado Let's Encrypt automaticamente; HTTPS é obrigatório
# porque os clientes Bitwarden usam WebCrypto, que só funciona em uma origem segura.

Firewall

Portas a abrir

PortaProtocoloFinalidade
443TCPCofre HTTPS + sincronização de clientes + WebSocket (via Caddy); a única porta que precisa ser pública
80TCPRedirecionamento HTTP -> HTTPS e emissão de certificado ACME/Let's Encrypt
443UDPHTTP/3 (QUIC) opcional para sincronização de clientes mais rápida

Dimensionamento adequado

Qual plano você precisa

Leve (1-5 usuários, pessoal/família)

VPS Nano/Small (1 vCPU, 1-2 GB de RAM)

Em repouso, o Vaultwarden usa cerca de 15-30 MB de RAM com SQLite; um Nano já é confortável. O armazenamento é mínimo, a menos que você guarde anexos grandes.

Médio (equipe pequena / 10-40 usuários, organizações)

VPS Pro (2 vCPU, 4 GB de RAM)

Margem para sincronizações simultâneas, anexos e para rodar o Caddy junto com fail2ban/backups na mesma máquina.

Pesado (50+ usuários, muitas organizações, anexos grandes, backend MySQL/Postgres)

VPS Pro (tier superior) ou Dedicated de entrada

Migre de SQLite para Postgres/MySQL e coloque os anexos em um plano Storage ou disco maior; CPU dedicada mantém a latência de sincronização estável sob carga.

Melhores localizações: Escolha uma localização ChainVPS com foco em privacidade para o seu cofre: Suíça (CH) e Islândia (IS) têm forte tradição de proteção de dados e privacidade, a Holanda (NL) oferece excelente conectividade sob a lei de privacidade da UE, e Romênia (RO) ou Moldávia (MD) ficam fora dos blocos mais rígidos de compartilhamento de vigilância. Escolha a mais próxima geograficamente de onde você e seus usuários sincronizam para minimizar a latência, já que o cofre é criptografado no lado do cliente de qualquer forma.

Bloqueie tudo

Checklist de hardening

  • Mantenha SIGNUPS_ALLOWED=false depois de criar sua conta e use INVITATIONS para adicionar usuários; um endpoint de cadastro aberto em um cofre público é um convite ao abuso.
  • Sempre defina ADMIN_TOKEN como um hash Argon2 gerado com 'vaultwarden hash' (nunca uma string em texto puro), ou desative completamente o painel /admin deixando ADMIN_TOKEN sem definir depois de configurado. Considere restringir /admin ao seu IP via firewall.
  • Exija apenas HTTPS e deixe o Caddy gerenciar os certificados Let's Encrypt; os clientes Bitwarden se recusam a executar criptografia sobre HTTP puro, e um certificado válido evita downgrade/MITM na sincronização.
  • Faça backup do diretório ./vw-data (especialmente rsa_key.pem, config.json, db.sqlite3 e anexos) periodicamente para um local fora da máquina, como um plano Storage da ChainVPS; perder o rsa_key.pem invalida todas as sessões/tokens existentes.
  • Rode o fail2ban sobre o log do Vaultwarden (LOG_FILE + LOG_LEVEL) para banir tentativas de login por força bruta, e exija que todos os usuários ativem 2FA; exponha apenas as portas 80/443 via ufw/nftables e bloqueie todo o resto.

Perguntas

Hospedagem Vaultwarden — FAQ

O Vaultwarden é a mesma coisa que o Bitwarden?

É uma implementação de servidor separada e leve da API do Bitwarden. Não é feito pela Bitwarden Inc., mas os aplicativos e extensões oficiais do Bitwarden funcionam normalmente com ele, e ele suporta cofres, organizações, anexos, Sends e passkeys. É ideal para indivíduos e pequenas equipes que querem auto-hospedagem sem o consumo de recursos da stack de servidor oficial.

Meus dados estão seguros se o servidor for apreendido ou o host for comprometido?

Os cofres são criptografados e descriptografados no lado do cliente com uma chave derivada da sua senha mestra, então o servidor sempre armazena apenas texto cifrado. Hospedar em uma máquina no-KYC em uma jurisdição favorável à privacidade reduz quem pode forçar o acesso, mas você ainda precisa usar uma senha mestra forte, ativar 2FA e manter o DOMAIN em HTTPS para proteger o próprio fluxo de login.

Eu preciso de HTTPS, ou posso usar um IP simples?

Você precisa de HTTPS com um certificado válido e um nome de domínio. Os clientes Bitwarden usam a API WebCrypto do navegador, que só funciona em uma origem segura, então uma configuração com http:// simples ou IP puro falhará ao sincronizar. O serviço Caddy incluído emite e renova automaticamente um certificado Let's Encrypt gratuito.

SQLite ou MySQL/Postgres?

O SQLite (padrão) é perfeitamente adequado e o mais rápido para uso pessoal e pequenas equipes de até algumas dezenas de usuários. Mude para MySQL ou PostgreSQL apenas em implantações grandes com múltiplas organizações ou quando quiser backups e replicação centralizados do banco; configure DATABASE_URL conforme necessário.

Como adiciono usuários sem abrir cadastros públicos?

Mantenha SIGNUPS_ALLOWED=false e INVITATIONS_ALLOWED=true, e depois convide usuários a partir de uma Organization (ou pelo painel /admin). Os usuários convidados recebem um convite e podem se cadastrar mesmo com o cadastro público fechado, o que evita abuso do endpoint.

Posso pagar o VPS sem fornecer identificação?

Sim. A ChainVPS é no-KYC e aceita criptomoedas, então o servidor que guarda seus cofres criptografados não está vinculado à sua identidade legal nem a um processador de cartão que poderia congelar a conta.

Implante Vaultwarden
nos próximos 60 segundos.

Banda ilimitada · DDoS incluído · 21 criptomoedas · sem KYC.