GDPR 개인 정보 보호 문제의 증거로 사용되는 일부 로그가 있습니다. 애플리케이션은 개인 데이터를 처리하고 누가 어떤 목적으로 이를 사용하는지 기록합니다. 남용 조사가 진행되지 않는 한 누구도 이 로그를 읽어서는 안 됩니다.
매일 순환되는 로그를 안전하게 암호화된 방식(로컬)으로 저장하려면 어떻게 해야 합니까? 루트 crontab 작업을 고려하고 있지만 비밀번호가 일반 텍스트가 아니어야 합니다. 모든 제안에 크게 감사드립니다.
$ 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
답변1
서버에 없는 개인 키를 통해서만 해독할 수 있는 서버의 공개 키를 사용하여 파일을 암호화할 수 있습니다. 이렇게 하면 서버가 손상되더라도 암호화된 로그는 여전히 안전합니다.
예:
작업 디렉터리를 만들고 새로운 공개 및 개인 키 쌍을 만듭니다.
$ mkdir /tmp/1
$ cd /tmp/1
$ ssh-keygen -f key
$ ls
key
key.pub
공개 키를 다음 pem
형식으로 변환합니다.
$ openssl rsa -in key -pubout > key.pub.pem
file
다음 내용으로 이름이 지정된 테스트 파일을 만듭니다 hello
.
$ echo hello > file
공개 키 형식을 사용하여 파일을 암호화 pem
하고 다음 이름의 파일에 출력을 씁니다 encrypted
.
$ cat file | openssl rsautl -encrypt -pubin -inkey key.pub.pem > encrypted_file
개인 키를 사용하여 파일을 해독합니다.
$ cat encrypted_file | openssl rsautl -decrypt -inkey key
hello
분명히 개인 키를 서버 외부로 이동하고 암호화 명령을 cronjob에 넣을 수 있습니다. 그것은 다음과 같습니다:
for file in /var/log/dir/*;do
cat "${file}" | openssl rsautl -encrypt -pubin -inkey /path/to/key.pub.pem > "${file}.encrypted" && rm "${file}"
done
답변2
이 주제에 조금이라도 익숙한 사람이라면 누구나 솔루션을 위한 현실적인 프레임워크를 결정하기 위해 수백 가지 질문을 할 가능성이 높습니다. 그렇다면 전체 디스크 암호화를 고려해 보셨나요? 사실이에요진짜모든 종류의 자동화나 프로그램을 구축하는 데 드는 오버헤드와 비교하면 이는 간단하고 원격 루트가 아닌 한 귀하의 책임을 충당하기에 충분할 것입니다(저는 변호사가 아닙니다).