Blog / Infraestrutura
Backup externo criptografado para Proxmox com rclone

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 cryptcheckconfere 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
- CISA: Data Backup Options (regra 3-2-1)
- Proxmox VE: Backup and Restore (vzdump)
- rclone: crypt e rclone cryptcheck
Quer revisar a estratégia de backup da sua empresa? Fale com a gente.