Blog / Infraestrutura

Backup externo criptografado para Proxmox com rclone

· atualizado em · 3 min de leitura · Equipe N3XUS

Corredor de servidores em um data center

Artigo

Ter backup diário das máquinas virtuais é o primeiro passo. Mas, se todas as cópias ficam no mesmo equipamento, um defeito de disco, um incêndio ou um ransomware levam tudo junto.

A regra 3-2-1, recomendada pela CISA, resume o mínimo: 3 cópias de cada arquivo importante, em 2 tipos de mídia diferentes, sendo 1 fora do local.

Em resumo

  • O vzdump do Proxmox VE faz o backup diário local de cada VM, com retenção por job.
  • Uma rotina semanal envia as cópias mais recentes para armazenamento externo com o rclone, usando o backend crypt: conteúdo e nomes de arquivo são criptografados antes de sair do servidor.
  • Depois do envio, o rclone cryptcheck confere a integridade sem precisar baixar e descriptografar os arquivos.
  • As senhas de criptografia ficam fora do servidor, e a restauração foi testada antes de ligar o agendamento.

A arquitetura

VMs -> vzdump (diário, local) -> rclone crypt (semanal) -> armazenamento externo
                                       |
                                       +-> cryptcheck + retenção + e-mail de resultado
  • Backup local: um job de vzdump por VM, em horários diferentes, para não disputar disco e rede.
  • Cópia externa: um script semanal pega o arquivo mais recente de cada VM e envia ao destino criptografado.
  • Acesso mínimo: o destino é acessado por uma conta de serviço com permissão apenas na pasta de backups.

A configuração do rclone crypt

O crypt é um remote que “embrulha” outro remote. Tudo o que passa por ele é criptografado antes do envio. Exemplo simplificado, com um drive acessado por conta de serviço:

[externo]
type = drive
service_account_file = /root/.config/rclone/conta-de-servico.json

[externo-crypt]
type = crypt
remote = externo:backups-proxmox
filename_encryption = standard
directory_name_encryption = true
password = <gerado pelo rclone config, guardado fora do servidor>
password2 = <idem>

Verificar, não só copiar

Copiar sem conferir é confiar demais. O rclone cryptcheck compara o arquivo local com o criptografado no destino: ele lê o nonce de cada arquivo remoto, criptografa o arquivo local com o mesmo nonce e compara os checksums.

rclone copy /var/lib/vz/dump/vzdump-qemu-100-*.vma.zst externo-crypt:vm-100/ --bwlimit 12M
rclone cryptcheck /var/lib/vz/dump/ externo-crypt:vm-100/ --one-way

O script também aplica a retenção (mantemos as duas cópias mais recentes de cada VM) e envia o resultado por e-mail pelo sistema de notificações do próprio Proxmox.

Cuidados importantes

  • Guarde as senhas do crypt fora do servidor. Sem elas, ninguém consegue restaurar o backup, nem você.
  • Limite a banda (--bwlimit) para não saturar o link em horário de uso.
  • Teste a restauração. Antes de ativar o agendamento, enviamos um arquivo de teste, baixamos de volta e comparamos o hash com o original.
  • Monitore o resultado. Um backup que falha em silêncio é pior que nenhum, porque dá falsa sensação de segurança.

Backup que nunca foi restaurado é só uma suposição.

Referências

Quer revisar a estratégia de backup da sua empresa? Fale com a gente.