Backups remotos seguros usando duplicidade

Backups remotos seguros usando duplicidade

O recenteremoção de codespacesme fez pensar em processos de backup externos (que atualmente executo manualmente com entrada de senha). eu tenho lidotutoriaismostrando como automatizar backups por meio de duplicidade. Eles tendem a girar em torno do uso de uma chave SSH para automatizar o processo de autenticação no servidor de backup.

No entanto, isso me parece cheio de buracos. Se o servidor cujo backup está sendo feito estiver comprometido a ponto de o usuário mal-intencionado obter acesso, ele poderá fazer login automaticamente no servidor de backup e remover os backups. Supondo que o administrador tenha usado /usr/bin/nologino /etc/passwdarquivo para o usuário de backup (não tenho ideia de quanto isso pode ser confiável ou se isso impediria que a duplicidade funcionasse remotamente de qualquer maneira), o usuário mal-intencionado ainda poderia obter duplicidade para limpar os backups usando o duplicity remove-older-than [time now]comando.

É a única solução segura para enviar os arquivos para o servidor de backup usando rsync sobre ssh e fazer com que um "usuário mestre" no servidor de backup execute backups iterativos locais de todas as contas de usuário para sua própria área de armazenamento (por exemplo, somente ele tem permissões para seu próprios arquivos, mas tem permissão para ler todos os arquivos das outras contas)? Ou existe uma maneira de evitar a duplicidade ao remover backups e impedir o login remoto?

Responder1

A duplicidade do AFAIK não pode fazer backup de um diretório remoto para um diretório local. Eu resolvo o problema em duas etapas. No servidor de backup faça:

  1. Execute rsync sobre ssh usando chaves ssh para sincronizar o diretório remoto com um diretório local

    rsync -avz -e ssh usuário@remoto:/remoto/diretório diretório_local

  2. Execute a duplicidade de um diretório para outro. Use chaves GnuPG assimétricas, para que você não precise de senhas durante a criptografia.

    duplicidade --encrypt-key=YOUR_KEYID arquivo_diretório_local:://diretório_backup

ou sem criptografar o backup:

duplicity --no-encryption local_directory file://backup_directory

Responder2

Depois de fazer o upload do backup, você pode chattr +itorná-los imutáveis ​​para que não possam ser modificados ou excluídos. Somente o root pode definir ou limpar este sinalizador.

Como alternativa, você pode enviar chownos arquivos para outro usuário após o upload, para que a conta de backup não tenha mais acesso a eles.

informação relacionada