
Tenho alguns registros usados como prova em questões de privacidade do GDPR. O aplicativo lida com dados pessoais e registra quem os usa para fazer o quê. Os registros não devem ser lidos por ninguém, a menos que haja uma investigação de abuso em andamento.
Como posso armazenar esses logs que serão rotacionados todos os dias, de forma criptografada segura (localmente)? Estou pensando em um trabalho root crontab, mas a senha não deve estar em texto simples. Todas as sugestões são muito apreciadas.
$ ls -ltrh
-rw-r----- 1 appuser appuser 83K May 27 23:55 gdpr.log.2018-05-27
-rw-r----- 1 appuser appuser 905K May 28 23:55 gdpr.log.2018-05-28
-rw-r----- 1 appuser appuser 3.0M May 29 23:40 gdpr.log.2018-05-29
-rw-r----- 1 appuser appuser 462K May 30 09:49 gdpr.log
Responder1
Você pode criptografar os arquivos usando uma chave pública que reside no servidor, que só pode ser descriptografada usando uma chave privada que não está no servidor. Dessa forma, mesmo que o servidor esteja comprometido, os logs criptografados ainda deverão estar seguros.
Exemplo:
Crie um diretório para trabalhar e crie um novo par de chaves pública e privada:
$ mkdir /tmp/1
$ cd /tmp/1
$ ssh-keygen -f key
$ ls
key
key.pub
Converta a chave pública para pem
o formato:
$ openssl rsa -in key -pubout > key.pub.pem
Crie um arquivo de teste, chamado file
, com o conteúdo hello
:
$ echo hello > file
Criptografe o arquivo usando o pem
formato de chave pública e grave a saída em um arquivo chamado encrypted
:
$ cat file | openssl rsautl -encrypt -pubin -inkey key.pub.pem > encrypted_file
Descriptografe o arquivo usando a chave privada:
$ cat encrypted_file | openssl rsautl -decrypt -inkey key
hello
Obviamente, você desejaria mover a chave privada para fora do servidor e poderia colocar os comandos de criptografia em um cronjob. Algo como:
for file in /var/log/dir/*;do
cat "${file}" | openssl rsautl -encrypt -pubin -inkey /path/to/key.pub.pem > "${file}.encrypted" && rm "${file}"
done
Responder2
Qualquer pessoa remotamente familiarizada com o assunto provavelmente poderia fazer uma centena de perguntas para estabelecer o que seria uma estrutura realista para uma solução. Dito isto, você já considerou a criptografia de disco completo? É realmente,realmentesimples em comparação com a sobrecarga de construção de qualquer tipo de automação ou procedimento e provavelmente é bom o suficiente para cobrir sua responsabilidade (não sou advogado), a menos que você tenha acesso remoto.