Meu computador doméstico consiste em um host VMWare que executa o Linux Mint e vários clientes VMWare.
Eu corro backups todas as noites que comprimir meus VHDs para um disco rígido removível.
Gostaria de criptografar as imagens compactadas. E eu gostaria de fazer isso sem incluir uma senha nos meus scripts de backup.
Eu tenho vários discos removíveis que giro, e eu levo um para o trabalho, todos os dias, então eu tenho uma cópia fora do local. E incluo uma cópia dos meus scripts de backup em cada disco de backup, para facilitar a tarefa de descobrir o que preciso fazer para fazer uma restauração.
Meu pensamento é que, se eu usasse criptografia de chave pública, poderia criptografar com a chave pública e exigir que a chave privada fosse descriptografada e, em seguida, os scripts de backup poderiam ser executados sem a necessidade de uma senha.
(Eu manteria a chave privada ou a frase secreta no arquivo de chave privada, no banco de dados do KeePass, que também escrevo na mídia de backup.)
Mas a coisa é - eu gostaria de executar este auto-contido, então eu poderia descriptografar os backups usando nada diferente do que foi escrito para os discos de backup. Ou seja, se eu usar o gpg, eu quero uma cópia do gpg nos discos de backup, que eu possa rodar sozinho, sem ter que instalar ou configurar nada. (Isto é, sem dependências em ~ / .gpgconf, etc.)
E não consegui descobrir como fazer isso usando o gpg. Os manuais parecem pressupor que você irá instalá-lo e configurá-lo para seu usuário atual, e eu preciso ser capaz de executá-lo quando nada do tipo tiver acontecido.
Alguma idéia sobre como:
- Execute gpg em um modo desinstalado ou
- como fazer isso usando alguma outra ferramenta? (openssl?)
Adicionado comentários ...
Por que não posso simplesmente instalar o gpg?
O problema é fazer uma restauração.
Suponha que eu tenha uma falha completa no sistema, talvez minha casa tenha sido incendiada e tudo tenha sido destruído.
Por isso, estou iniciando uma restauração com um novo computador, unidades vazias e meus backups mais recentes fora do local.
O que eu faço?
Eu inicializo alguma versão do Linux que pode montar partições ext4 de um pendrive, e começo a juntar as coisas.
Não posso depender de nada além dos utilitários básicos do sistema e do que eu coloquei nos discos de backup.
fonte
Respostas:
Eu tenho brincado com esse problema, e acho que tenho uma abordagem.
Primeiro, uma vez, antes de fazer backups:
Gere um par de chaves RSA:
Use uma boa frase secreta - não é algo que alguém vai hackear. Seis a oito palavras aleatórias funcionam bem. Não escolha citações de livros ou músicas favoritas.
Em seguida, extraia sua nova chave pública do arquivo .pem que você acabou de criar:
Salve estes em algum lugar, você estará usando-os em cada backup. Eu os armazeno com meus scripts de backup e coloco cópias no banco de dados de senhas do KeePass.
Então, em cada backup
Gere uma chave de sessão aleatória:
Em seguida, execute seu backup, tornando a criptografia do resultado a última etapa do pipeline:
Em seguida, criptografe a chave da sessão com a chave pública RSA, exclua a chave da sessão e copie a chave da sessão criptografada para a mídia de backup:
E copie o arquivo que contém sua chave privada para sua mídia de backup:
Se você tiver que restaurar
É simples, se você souber a frase secreta da sua chave privada:
Estamos executando "openssl rsautl" para descriptografar a chave de sessão criptografada para stdout e, em seguida, estamos executando "openssl enc -d" para descriptografar o arquivo de backup, lendo sua chave de stdin e gravar a saída em stdout, para que ele possa ser passado para qualquer outra coisa do pipeline é necessário para colocar o arquivo onde ele pertence.
fonte