initramfs에 입력된 키를 사용하여 여러 LUKS 볼륨을 여는 방법은 무엇입니까?

initramfs에 입력된 키를 사용하여 여러 LUKS 볼륨을 여는 방법은 무엇입니까?

저는 암호화된(RAID1 + LVM) 루트 파티션(/boot는 암호화되지 않은 일반 파티션)을 사용하도록 구성된 Debian 7.4(안정적) 기반 서버를 가지고 있습니다. 여기에는 원격으로 LUKS 암호화 비밀번호를 입력할 수 있도록 dropbear SSH 서버를 설치했습니다.

루트 파티션/볼륨 외에도 동일한 비밀번호로 열 수 있는 다른 RAID1+cryptsetup+LVM 볼륨이 있습니다. 검색 결과 이 ​​스크립트를 사용하여 /lib/cryptsetup/scripts/decrypt_keyctl비밀번호를 캐시하고 동일한 비밀번호로 여러 볼륨을 열 수 있다는 사실을 발견했습니다. 하지만 initramfs 단계에서 입력한 비밀번호로 이 스크립트를 어떻게 사용합니까?

답변1

비밀번호를 파일에 넣고 --key-file매개변수와 함께 재사용할 수 있습니다. 이 설정에서는 일반 텍스트 비밀번호 대신 임의의 키 파일을 사용하는 것이 더 나을 수 있습니다.

echo -n password > pwfile
for luks in md1 md2 md3
do
    cryptsetup luksOpen --key-file=pwfile /dev/"$luks" luks"$luks"
done

개인적으로 저는 LUKS 암호화 키 파일에 약간 다른 접근 방식을 사용합니다.

이 설정에서는 단일 비밀번호로 다양한 다른 LUKS 컨테이너에 대한 임의의 키가 포함된 키 파일 저장소의 잠금을 해제합니다. 이는 /bootUSB 설정에 특히 유용하므로 /boot변조할 수 없으며 하드웨어 키로거만으로는 내부 디스크의 키를 얻기에 충분하지 않습니다.

관련 정보