별도의 루트 및 기본 파티션 암호화

별도의 루트 및 기본 파티션 암호화

그래서 별도의 루트 파티션과 메인 파티션(그리고 스왑 및 부팅 ofc)을 사용하여 Arch Linux를 설치하려고 했습니다. 기본적으로 저는 그것들을 분할했고, 마운트했고, 암호화했고 /( /home사용했습니다 cryptsetup luksFormat). 다음과 같습니다 lsblk.

(죄송합니다. 현재 단계에서는 가상 머신에서 텍스트를 복사하는 것이 불가능합니다.) 여기에 이미지 설명을 입력하세요.

이제 나는 다음을 달성하려고 노력하고 있습니다.

  • 각 파티션의 비밀번호를 입력할 필요 없이 시스템 시작 시 모든 파티션의 암호를 해독하고 싶습니다. (하지만 동일하게 설정했습니다.)
  • 암호화된 파티션에 대해 GRUB를 구성하고 싶지만 지금까지 구성만 봤고 구성이 GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdXY:cryptroot"두 개이므로 여기에 무엇을 넣어야 할지 잘 모르겠습니다(아마 하나만 /?)

이제 실행하고 싶지만 올바른 GRUB 구성이 없으면 시스템을 부팅하지 못할 수 있기 mkinitcpio때문에 실행할 수 없는 단계에 갇혔습니다.grub-install/grub-mkconfig

내가 어떻게 이것을 달성할 수 있는지 아시나요? 두 번째 질문은 첫 번째 질문에 대한 문서가 있기 때문에 더 중요하며, 지난 두 시간 동안 머리를 긁적이었던 두 번째 질문에 대한 간략한 제안을 얻기 위해 이 질문을 거기에 게시하고 싶다고 생각했습니다.

답변1

Unix 및 Linux StackExchange에 오신 것을 환영합니다!

생성된 initramfs 파일의 목적은 mkinitcpio루트 파일 시스템을 잠금 해제하고 마운트하는 것입니다. 다른 파일 시스템 마운트는 /home루트 파일 시스템이 잠금 해제되고 마운트된 후 부팅 프로세스 후반에 발생합니다. GRUB은 /home파일 시스템에 대해 아무것도 알 필요가 없습니다 .

cryptdevice옵션은 루트 파일 시스템의 암호화를 잠금 해제하는 데 사용되는 initramfs 파일의 스크립트에 정보를 제공합니다. 나중에 시스템 구성이 변경되면 암호화된 루트 파일 시스템을 보유하는 것으로 간주되는 장치의 이름을 쉽게 변경할 수 있습니다. 시스템 구성의 예기치 않은 변경에 대해 견고성을 유지하기 위해 실제로 UUID=<UUID_of_sda3>장치 이름 대신 구문을 사용할 수 있습니다 .

/home따라서 루트 파일 시스템 어딘가에 저장된 키 파일을 사용하는 암호화를 구성할 수 있습니다. 키 파일은 암호화된 파티션 내에 위치하므로 시스템이 실행되지 않을 때에도 보호됩니다. 루트 파일 시스템에 액세스할 수 있게 되면 /etc/crypttab파일을 참조할 수 있으므로 /home파일 시스템의 암호화가 자동으로 잠금 해제될 수 있습니다.

~에 따르면Arch Wiki의 crypttab 섹션/home, 파일 시스템 항목은 /etc/crypttab다음과 같습니다.

crypthome /dev/sda4 /etc/cryptsetup-keys.d/crypthome.key

UUID=<UUID of sda4>장치 이름 대신 이를 사용할 수도 있습니다 .

/etc/cryptsetup-keys.d/루트()만 액세스할 수 있는지 확인 chmod 700하고 파일 시스템의 비밀번호를 파일에 기록 /home합니다 crypthome.key. 침입자가 이 내용을 읽을 수 있다면 이는 침입자가 유효한 루트 액세스 권한을 가지고 있다는 의미이므로 입력했든 cryptsetup파일에서 검색했든 관계없이 침입자에게 이메일로 전송된 암호로 명령을 대체할 수 있으므로 어쨌든 이 시점에서는 더 큰 우려가 있습니다.

관련 정보