
Tengo algunos registros que se utilizan como prueba en cuestiones de privacidad del RGPD. La aplicación maneja datos personales y registra quién los usa para hacer qué. Nadie debe leer los registros a menos que haya una investigación de abuso en curso.
¿Cómo puedo almacenar estos registros que se rotarán todos los días, de forma cifrada y segura (localmente)? Estoy pensando en un trabajo crontab raíz, pero la contraseña no debe estar en texto sin formato. Todas las sugerencias son muy 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
Respuesta1
Puede cifrar los archivos utilizando una clave pública que se encuentra en el servidor, que sólo se puede descifrar utilizando una clave privada que no está en el servidor. De esta manera, incluso si el servidor está comprometido, los registros cifrados deberían seguir estando seguros.
Ejemplo:
Cree un directorio para trabajar y cree un nuevo par de claves públicas y privadas:
$ mkdir /tmp/1
$ cd /tmp/1
$ ssh-keygen -f key
$ ls
key
key.pub
Convierta la clave pública al pem
formato:
$ openssl rsa -in key -pubout > key.pub.pem
Cree un archivo de prueba, llamado file
, con el contenido hello
:
$ echo hello > file
Cifre el archivo usando el pem
formato de clave pública y escriba el resultado en un archivo llamado encrypted
:
$ cat file | openssl rsautl -encrypt -pubin -inkey key.pub.pem > encrypted_file
Descifre el archivo usando la clave privada:
$ cat encrypted_file | openssl rsautl -decrypt -inkey key
hello
Obviamente, querrás sacar la clave privada del servidor y podrías poner los comandos de cifrado en un 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
Respuesta2
Cualquiera que esté remotamente familiarizado con el tema probablemente podría hacer cientos de preguntas para establecer cuál sería un marco realista para una solución. Dicho esto, ¿ha considerado el cifrado de disco completo? Es realmente,en realidadsimple en comparación con los gastos generales que implica construir cualquier tipo de automatización o procedimiento, y probablemente sea lo suficientemente bueno para cubrir su responsabilidad (no soy abogado) a menos que esté rooteado de forma remota.