Você pode fazer backup de um contêiner cifrado como um único objeto, ou montá-lo e fazer backup dos arquivos dentro. Ambos atravessam a VPN sem problemas, e é aí que a semelhança termina. Eles restauram coisas diferentes, dependem de chaves diferentes, ocupam quantidades diferentes de armazenamento e falham de maneiras diferentes quando alguém precisa dos dados de volta. Escolha primeiro o objeto de restauração, depois o transporte, depois a cifragem da cópia armazenada. A lista abaixo segue essa ordem, porque quase toda disputa sobre backup é, na verdade, uma discordância sobre qual dessas três decisões foi tomada primeiro.

Dois objetos, duas formas de restauração

Um backup em nível de imagem restaura um contêiner: você recupera o volume cifrado e ainda precisa do material de restauração para abri-lo. Um backup em nível de arquivos restaura arquivos e árvores de diretórios, e a cifragem que os protege é uma propriedade do repositório de backup, não do contêiner original. Uma cópia simples para uma pasta remota é um terceiro caso, e herda a proteção que aquela pasta tiver por acaso.

ObjectWhat a restore gives youWhere the encryption question lands
Encrypted container imageThe volume, still lockedThe container format and its recovery key material
Mounted files into a backup toolSelected files and metadataThe backup repositorys own keys and design
Plain copy to a remote folderWhatever the copy process keptWhatever protects that storage afterwards

A linha do meio é a que as pessoas leem errado. Ela pode ser um projeto perfeitamente bom: o programa de backup lê texto simples localmente e grava um repositório cifrado e autenticado. A segurança então repousa nesse programa e nas suas credenciais, não na senha do contêiner original, e as duas coisas não devem ser descritas como se fossem o mesmo controle.

Verificação 1: o que a restauração precisa reconstruir?

Faça a pergunta na forma de restauração, não de backup. Se o requisito é “trazer este serviço de volta em outro host”, uma imagem com seu material de restauração é uma resposta coerente. Se o requisito é “recuperar a planilha financeira de março”, restaurar uma imagem de vários gigabytes só para extrair um arquivo é uma forma cara de responder. Ambas são restaurações legítimas e não são orçamentos intercambiáveis. Um plano que nomeia apenas uma delas acabará sendo testado pela outra.

Escreva o alvo da restauração no plano: o volume inteiro, uma árvore de diretórios ou arquivos individuais. Depois anote quais metadados precisam viajar com eles, porque propriedade, permissões, atributos estendidos e carimbos de data e hora fazem parte de uma restauração em nível de arquivos e costumam se perder em fluxos de trabalho baseados em cópia que pareciam suficientes nos testes.

Decida também quem realiza a restauração. Um repositório em nível de arquivos que qualquer operador pode montar é um modelo de acesso diferente do de uma imagem que exige a presença do detentor da chave, e nenhum dos dois é automaticamente melhor. O importante é que a escolha seja deliberada e esteja escrita.

Verificação 2: o que protege a cópia armazenada?

A VPN protege um trecho do transporte. Ela não diz nada sobre a cópia armazenada depois que a transferência termina, e “passou pelo túnel” não é uma afirmação sobre a capacidade do operador de backup de ler seus dados. Se o lado remoto é operado por outra pessoa, a pergunta é o que eles podem ler, não se o link estava cifrado.

Para uma imagem, isso significa proteger o material da chave do contêiner separadamente da própria imagem. Perder o cabeçalho é perder o volume, então faça backup do cabeçalho em um lugar onde a imagem não esteja:

cryptsetup luksHeaderBackup /dev/vg0/data --header-backup-file data-header.img
cryptsetup luksDump /dev/vg0/data | head -20

Para um repositório em nível de arquivos, verifique se a ferramenta cifra e autentica conteúdo e metadados antes que saiam do host, e descubra quem detém as chaves. A documentação de projeto do Restic é explícita ao assumir um host de origem confiável e ao afirmar que a cifragem não impede alguém com acesso ao armazenamento de apagar backups. Ambos os avisos importam: um repositório pode ser confidencial e ainda assim ser destruído.

Verificação 3: a cópia é consistente?

Um backup que captura um sistema de arquivos em mudança é uma cópia, não um ponto de restauração. Para uma imagem, use o método suportado pela ferramenta de volumes para um snapshot estável, o que normalmente significa uma operação de snapshot ou uma desmontagem em vez de ler um arquivo grande enquanto ele muda:

lvcreate -L 5G -s -n data-snap /dev/vg0/data
cryptsetup open /dev/vg0/data-snap data-snap --readonly

Para arquivos montados, use o procedimento de consistência suportado pela aplicação para bancos de dados ativos e outros dados coordenados. Uma cópia em nível de sistema de arquivos e um ponto de restauração consistente com a aplicação são descrições diferentes, e a diferença só se torna visível quando você tenta iniciar a aplicação a partir da cópia restaurada.

Mantenha o material de restauração em uma rota protegida independente. Perder a máquina original nunca deve significar perder também a única credencial que abre o backup dela, e é exatamente isso que acontece quando o arquivo de chave mora no volume que está sendo copiado. Teste essa separação de propósito: restaure em um host que nunca viu o original, usando apenas o que o plano diz estar disponível.

Verificação 4: a detecção de mudanças vale para este objeto?

Um contêiner cifrado parece um único arquivo grande e opaco para a maioria das ferramentas de transferência, então uma pequena edição em texto simples pode causar uma grande releitura ou um envio completo de novo, dependendo da ferramenta e do formato. O fatiamento em blocos de tamanho variável e a deduplicação, como documenta o restic, podem reduzir isso, mas é uma propriedade dessa ferramenta e não dos contêineres cifrados em geral.

Meça em vez de supor. Compare uma primeira execução com uma segunda após uma mudança pequena e inofensiva, e registre os bytes transferidos e o tempo decorrido. Guarde um backup sabidamente bom enquanto experimenta, para que um teste não consuma seu único ponto de restauração.

Depois encerre a lista com o único teste que importa: restaurar sem a máquina original. Abra um contêiner restaurado, ou restaure arquivos selecionados com seus metadados, e confirme que a aplicação ou o usuário consegue usar o resultado. Uma transferência rápida e bem cifrada que não consegue responder a esse teste é uma cópia dos seus dados, não um backup deles.

Artigos relacionados