Linux/Unix 시스템의 민감한 데이터 생성 및 파기 정보

Linux/Unix 시스템의 민감한 데이터 생성 및 파기 정보

최신 파일 시스템(및 최신 SSD)에서 기존 유틸리티(예: dd)를 사용하여 파일에 쓰는 경우 데이터가 제자리에 덮어쓰여지고 로그 백업이 손상된다는 보장이 없습니다. 따라서 데이터 복구가 가능합니다. 그래서 몇 가지 연구 끝에 임시 ramfs(스왑 가능성으로 인해 tmpfs는 제외됨)를 마운트하는 것이 좋은 방법이라고 생각했습니다.

# mkdir -p /mnt/tmp/ram
# mount -t ramfs -o size=[size, but ramfs grows as needed] ramfs /mnt/tmp/ram
# [create the sensitive data, secure it, copy out secured data]
# umount /mnt/tmp/ram

Q1: ramfs를 제거하면 ramfs에 포함된 데이터가 삭제됩니까?

Q2: 데이터가 파기된다는 보장이 없다면 해당 데이터를 복구할 수 있는 가능한 방법이 있습니까? 아니면 제가 편집증적인 것인가요?

Q3: 데이터를 복구할 수 있는 경우

# dd if=/dev/zero of=/mnt/tmp/ram/[filename]

데이터가 올바르게 파괴되었습니까? 아니면 ramfs가 파일 덮어쓰기를 보장하지 않습니까?

제한사항: 시스템강제로 다시 시작할 수 없습니다.이 작업 전/중/후.

궁금하신 경우를 대비해 이 예에서 "민감한 데이터"는 솔트 처리되지 않은 해시 처리되지 않은 사용자 이름 + pam 데이터베이스의 비밀번호입니다. "보안 데이터"는 궁극적으로 메인 드라이브에 저장될 솔트/해시된 데이터베이스입니다. 나는 민감한 데이터가 드라이브에 닿는 것을 원하지 않습니다. (저는 ext3을 사용하고 있기 때문에 전체 파티션을 지우지 않고는 데이터를 복구할 수 없다는 것을 보장하지 않습니다.)

더 좋은 방법 아시는 분 계시면 알려주시면 감사하겠습니다.

답변1

질문 1: 예

Q2: 데이터를 복구할 수 없습니다. 그러나 조금 극단적으로 가고 싶다면 이렇게 할 수 있습니다 :)

  1. 메모리에 공간을 만듭니다. mkdir ram mount -t ramfs -o size=1000M ramfs ram/
  2. 무작위로 채워진 파일을 생성하고 해당 RAM 공간에서 암호화합니다. 무작위 데이터로 가득 차 있기 때문에 무작위 데이터와 암호화된 데이터 사이의 경계를 설정하는 것은 불가능합니다. dd if=/dev/urandom of=ram/test bs=1M count=512
  3. 암호화 설정 cryptsetup -y luksFormat ram/test cryptsetup luksOpen ram/test encypted
  4. 새 안전 공간을 포맷하고 마운트합니다. mkfs.ext4 /dev/mapper/encypted mkdir securedir mount /dev/mapper/encypted securedir/
  5. Umont secureir/ 그리고 ram/을 실행하여 시간이 끝날 때까지 데이터를 공개합니다. umount securedir/ umount ram/

관련 정보