LUKS 마스터 키 파일을 재사용하여 부팅 시 파티션 암호 해독

LUKS 마스터 키 파일을 재사용하여 부팅 시 파티션 암호 해독

저는 소형 폼 팩터 PC에서 노트북의 하드 드라이브를 재사용하고 있습니다. PC는 RDP를 통해 연결하는 최대 절전 모드 가상 머신만 있는 가끔씩 사용되는 머신입니다. 컴퓨터는 대부분의 시간 동안 꺼져 있습니다. LAN을 통해 절전 모드를 해제한 다음 필요한 VM을 절전 모드에서 해제할 수 있습니다. 문제는 노트북 하드 드라이브를 다시 사용하게 되면 그냥 부팅하고 Fedora 31을 업데이트한 후 계속 사용한다는 것입니다.

SSD에는 두 개의 파티션이 있습니다. sda1예 , LUKS 볼륨 /boot이 포함된 및 스왑 파티션 입니다. sda2문제는 네트워크에서 컴퓨터를 부팅할 때 해독할 암호를 묻는다는 것입니다.//home/dev/sda2

이것은 lsblk:

NAME                                          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                                             8:0    0 465.8G  0 disk  
├─sda1                                          8:1    0   500M  0 part  /boot
└─sda2                                          8:2    0 465.3G  0 part  
  └─luks-151aef9f-a994-4495-a532-63899b1720d4 253:0    0 465.3G  0 crypt 
    ├─fedora_patchtop-root                    253:1    0    50G  0 lvm   /
    ├─fedora_patchtop-swap                    253:2    0   3.9G  0 lvm   [SWAP]
    └─fedora_patchtop-home                    253:3    0 411.4G  0 lvm   /home
sr0                                            11:0    1  1024M  0 rom   

보시다시피 /dev/sda1내용 /dev/boot아니요암호화되었습니다.

이 컴퓨터는 하드 드라이브 암호화가 필요한 환경에서 더 이상 사용되지 않고 오히려 무인 부팅 기능이 필요하기 때문에 부팅 시 암호 프롬프트를 없앨 수 있었으면 좋겠습니다.

이제 /dev/sda2하나의 키 슬롯(슬롯 0)이 사용됩니다.

내가 한 첫 번째 일은 아래와 같이 키 파일을 덤프하는 것이었습니다.

cryptsetup luksDump /dev/sda2 --dump-master-key --master-key-file master.key

그런 다음 암호화되지 않은 파티션에서 작동하도록 master.key입력 했습니다 ./boot

-r--------. 1 root root 64 Apr 18 10:15 /boot/master.key

이제 /etc/crypttab.my crypttab에는 다음과 같은 줄이 하나만 있습니다.

luks-151aef9f-a994-4495-a532-63899b1720d4 UUID=151aef9f-a994-4495-a532-63899b1720d4 none

나는 그것을 다음과 같이 변경했습니다 :

luks-151aef9f-a994-4495-a532-63899b1720d4 UUID=151aef9f-a994-4495-a532-63899b1720d4 /boot/master.key luks,initramfs

마지막으로 아래와 같이 dracut을 사용하여 새로운 initramfs를 만들었습니다.

dracut -vfN

그런데 재부팅 후에도 비밀번호를 묻는 메시지가 계속 표시됩니다.

또한 새 키 파일을 만들어 이를 LUKS 설정의 슬롯 1에 대한 키로 사용해 보았지만 수동으로 입력해야 하는 비밀번호를 계속 묻는 메시지가 계속 표시됩니다. 하지만 슬롯 0은 여전히 ​​수동 비밀번호이고 맨 위에서 시작하기 때문에 계속해서 비밀번호를 묻는지 잘 모르겠습니다.

참고로 중요한 경우 내 파티션의 UUID는 다음과 같습니다.

NAME                                          UUID                                   MOUNTPOINT
sda                                                                                  
├─sda1                                        43f00ca0-60d2-4c20-9b20-4ec914c575cf   /boot
└─sda2                                        151aef9f-a994-4495-a532-63899b1720d4   
  └─luks-151aef9f-a994-4495-a532-63899b1720d4 RlyNgN-3ca3-cqvW-iljT-meWT-eqTO-h02Xh6 
    ├─fedora_patchtop-root                    60a53d2a-db9b-47be-991f-cdbdcfd8e72d   /
    ├─fedora_patchtop-swap                    ef05de8f-cd1e-4491-b837-80656b91dc60   [SWAP]
    └─fedora_patchtop-home                    7b457fab-02a9-40f9-a22b-e0c16be2f137   /home

편집하다

나는 한 가지를 더 시도했다:

먼저 매우 간단한 비밀번호를 만들었습니다.

cryptsetup luksAddKey /dev/sda2 --force-password

실제로는 비밀번호가 비어 있습니다. 주된 이유는 이 시점에서 문제가 발생하면 비밀번호 프롬프트에서 Enter 키만 누르면 되기 때문입니다. 이것은 꽤 잘 작동합니다.

다음으로 위의 키를 슬롯 0에 추가했습니다.

cryptsetup luksChangeKey /dev/sda2 /boot/master.key --key-slot 0

내가 이렇게 한 주된 이유는 키 슬롯이 순차적으로 확인된다는 cryptsetup 매뉴얼 페이지를 읽었기 때문입니다. 따라서 슬롯 0, 그 다음 슬롯 1 등으로 진행됩니다. 슬롯 0이었기 때문에 여전히 비밀번호를 묻는 중일 수도 있다고 생각했습니다. 그래서 슬롯 0의 키 파일을 사용하여 비밀번호가두번째슬롯 1의 옵션.

이번에도 새로운 initramfs를 생성하고 재부팅했지만 시가는 없습니다. 여전히 비밀번호를 묻는 메시지가 표시되지만 이번에는 Enter 키만 누르면 실행됩니다.

그러나 아직까지 상황은 만족스럽지 않습니다. 시스템을 부팅하려면 암호 프롬프트에서 Enter/Return 키를 눌러야 합니다. 이를 위해서는 최소한 키보드가 기계에 연결되어 있어야 하지만, 거의 완전히 헤드가 없다는 생각입니다. 그래서 모니터도 없고 키보드도 없습니다.

관련 정보