저는 Linux의 열렬한 팬이며 때때로 새로운 배포판을 시도하는 것을 좋아합니다. 나는 일반적으로 암호화된 파티션 위에 있는 lvm에 홈 폴더와 루트 디렉터리를 넣지만, 각 initramfs 생성 프로세스가 이전 프로세스보다 더 이상하기 때문에 이는 번거로운 경향이 있습니다.
나는 개인 정보 보호를 중요하게 생각하지만 나의 소중한 정보나 개인 정보의 대부분은 내 홈 폴더에 저장됩니다. 그리고 파티셔닝을 위해 GPT를 사용하고 있어서 lvm 외부에서도 여러 파티션을 설정하는 것이 어렵지 않습니다.
그래서 질문은: 루트 암호화와 "/"의 lvm-ing이 그만한 가치가 있는지, 특히 제가 처리해야 하는 모든 초기 사용자 공간의 번거로움을 해결하는 것입니까?
답변1
첫째, 암호화된 루트와 초기 사용자 공간의 번거로움은 일반적으로 배포판에서 처리됩니다(내가 아는 한 Fedora, Debian, Ubuntu 및 OpenSUSE는 기본적으로 암호화된 루트를 지원합니다). 즉, 설정 자체에 대해 걱정할 필요가 없습니다.
암호화를 하는 이유 중 하나/정보를 전혀 제공하지 않도록 하기 위함입니다. 임시 데이터를 쓰는 프로그램을 고려하십시오./tmp, 민감한 정보(예: 사용자 이름/비밀번호)가 포함된 로그 파일/var/로그또는 자격 증명(예: 비밀번호)이 포함된 구성 파일/etc/fstab또는 루트 사용자의 쉘 기록에 있는 일부 명령입니다.
파티션 대신 LVM을 사용하면 큰 이점이 있습니다. 디스크 자체를 다시 파티션할 필요 없이 논리 볼륨의 크기 조정/이름 바꾸기/삭제를 쉽게 할 수 있으며 파티션(GPT 또는 MBR)을 사용하는 것보다 더 편리합니다.
답변2
/etc
, /var
, 그리고 /tmp
생각나네요. 모든 콘텐츠에는 민감한 콘텐츠가 포함될 수 있습니다. 모든 볼륨은 별도의 볼륨으로 지정할 수 있지만 일반적으로 각 볼륨은 루트 디렉터리와 동일한 파일 시스템에 있습니다. 어쩌면 하나 이상을 자체 볼륨으로 옮겼지만 모두 옮겼습니까?
/etc
포함하다:/etc/shadow
해시된 비밀번호는 다음과 같은 다양한 유형일 수 있습니다./etc/samba/smbpasswd
다양한 개인 키: SSL, SSH, Kerberos...
/var
포함하다:/var/log
, 그 중 다수는 민감한 데이터를 포함할 수 있기 때문에 루트에서 읽기 전용입니다. 예를 들어/var/log/httpd/access_log
웹 사이트 사용자를 위한 암호화되지 않은 항목인 GET 데이터가 포함될 수 있으므로 중요할 수 있습니다.데이터베이스 파일,
/var/lib/mysql
예를 들어 MySQL은 일반적으로 테이블과 인덱스 파일을 다음 위치에 저장합니다.
/tmp
민감하지 않게 들릴 수 있는 임시 파일이 포함되어 있지만 경쟁 조건, 프로세스가 임시 파일을 사용하려고 하는 동안 임시 파일을 수정하거나 저격하는 기능과 관련된 Unix 소프트웨어에 대한 공격이 많이 있습니다. 많은 경우 파일 내용이 짧은 기간 동안만 민감하다는 것을 알고 있습니다(예: 재부팅을 통하지 않음). 하지만 일부 프로그램은 방식에 따라 달라질 수 있습니다.끈끈한 비트그리고엠스템(3)수명이 긴 민감한 데이터도 일시적으로 캐시할 수 있습니다.
답변3
또 다른 이유는 파일 시스템의 변조를 방지하기 위해서입니다. 암호화되면 파일 시스템에 루트킷을 배치하는 등(Live CD를 부팅하거나 일시적으로 HDD를 다른 시스템으로 이동하는 등) 다음 부팅 시 사용자를 괴롭히는 작업을 수행하는 것이 더 복잡해집니다. 커널(및 initrd)은 여전히 취약하지만 다음 방법 중 하나를 사용하여 완화할 수 있습니다.보안 부트(올바르게 서명된 부트 체인 사용) 또는안전한이동식 장치(예: 항상 제어하는 플래시 드라이브 또는 메모리 카드)