11.04 시스템이 출시되었을 때 새로운 시스템을 설치하고 LUKS로 전체 디스크 암호화를 설정했습니다. 처음에는 세 개의 암호화 된 파티션에 대한 암호를 물었습니다.
/
/home
swap
암호 문구를 세 번 입력하는 것은 실망 스러웠으므로 / home을 설정하고 /에 저장된 키 파일에서 암호 해독을 시도했습니다. 키 파일을 만들어 두 파티션에서 활성화했습니다. 내 crypttab은 다음과 같습니다.
root-root_crypt UUID=13c21bf6-4d92-42a7-877a-87cc31b1aa19 none luks
home-home_crypt UUID=ba90ce5b-9df7-4764-8a72-011bbb164db4 /root/keyfile luks
home-home_crypt UUID=ba90ce5b-9df7-4764-8a72-011bbb164db4 none luks
sda3_crypt UUID=e4677895-2114-4054-9f23-d36f6bb0e6a2 /root/keyfile luks,swap
이것은 / home에서 잘 작동하며 암호를 요구하지 않고 자동으로 마운트됩니다. 그러나 cryptsetup은 여전히 스왑 공간에 대한 암호를 요구합니다. 스왑 공간에 noauto를 추가하여 전혀 설정하지 않도록 시도했습니다. 시스템이 부팅되면 암호 문구없이 활성화 할 수 있으므로 늦은 init 스크립트를 추가하여 할 것이라고 생각했습니다. 그러나 자동 암호화 설정이 없어도 여전히 암호 문구를 묻습니다.
감사!
답변
같은 질문이 있었지만 우분투 12.04.1과 12.10에서 어떻게했는지,
-시작하기 전에 백업이 있는지 확인하고 우분투 CD 또는 USB로 시스템을 부팅 할 수도 있습니다. 실수로 시스템이 더 이상 부팅되지 않거나 데이터가 손실 될 수 있습니다. LUKS가있는 암호화 된 우분투 시스템이 있다고 가정하고 LUKS에는 SYSTEM-BOOT (암호화되지 않음), SYSTEM-SWAP (암호화) 및 SYSTEM-OS (암호화)의 3 개의 파티션이 있습니다.
UUID, SYSTEM-SWAP_crypt, SYSTEM-OS_crypt, SYSTEM-SWAP, SYSTEM-OS를 시스템에서 사용되는 변형으로 조정해야합니다. 자세한 내용은 내 솔루션 아래의 참조 링크를 참조하십시오
UUID 가져 오기 :
blkid
준비>
swapoff /dev/mapper/SYSTEM-SWAP_crypt
cryptsetup luksClose SYSTEM-SWAP_crypt
cryptsetup에게 루트 파일 시스템을 보유한 볼륨의 암호 해독 키에서 스왑 파티션의 암호를 계산하도록 지시하십시오.>
/lib/cryptsetup/scripts/decrypt_derived SYSTEM-OS_crypt | cryptsetup luksFormat /dev/mapper/SYSTEM-SWAP --key-file -
/lib/cryptsetup/scripts/decrypt_derived SYSTEM-OS_crypt | cryptsetup luksOpen /dev/mapper/SYSTEM-SWAP SYSTEM-SWAP_crypt --key-file -
mkswap /dev/mapper/SYSTEM-SWAP_crypt
스왑 파티션에 대해 시스템에 알리고 crypttab 편집>
nano /etc/crypttab
=? 두 줄이 일치하는지 확인하십시오
SYSTEM-OS_crypt UUID=uuid-of-luks-containing-osroot none luks
SYSTEM-SWAP_crypt UUID=uuid-of-luks-containing-swap SYSTEM-OS_crypt luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived
스왑 파티션에 대해 시스템에 알리고 fstab을 편집하십시오.>
nano /etc/fstab
=? 이 줄이 있는지 확인하십시오
/dev/mapper/SYSTEM-SWAP_crypt swap swap sw 0 0
스왑 파티션에 대해 시스템에 알리고 이력서 편집>
nano /etc/initramfs-tools/conf.d/resume
=? 이 줄이 있는지 확인하십시오
RESUME=UUID=uuid-of-encrypted-swap-SYSTEM-SWAP_crypt
부팅 파티션에서 initramfs 업데이트>
update-initramfs -u -k all
참고
답변 은 암호화 된 데비안 시스템 설정 (아카이브 링크)에서 영감을 얻었 습니다 .
암호화 된 데비안 시스템을 사용하는 경우 몇 가지 보안 요구 사항이있을 수 있습니다. 이 경우 암호화 된 스왑 파티션도 사용해야합니다.
스왑 파티션은 두 가지 방법으로 암호화 될 수 있습니다 :
- 임의의 암호를 사용하여 부팅 할 때마다 다시 만들거나
- 영구적 인 암호로 다른 암호화 된 볼륨처럼 생성 될 수 있습니다.
디스크 일시 중단을 사용하려면 스왑 파티션에 저장된 메모리 공간을 덮어 쓰는 첫 번째 방법을 사용할 수 없습니다. 또한 재개 프로세스가 시작되고 해독 된 스왑 파티션을 읽어야 할 때까지 루트 파일 시스템이 마운트되지 않고 마운트되지 않아야하기 때문에 다른 파티션과 같은 키 파일을 사용할 수 없습니다.
이 문제를 해결하는 방법은 cryptsetup에 루트 파일 시스템을 보유한 볼륨의 암호 해독 키에서 스왑 파티션의 암호를 계산하도록 지시하는 것입니다. cryptsetup 패키지는이를 사용하여이를 구현합니다
/lib/cryptsetup/scripts/decrypt_derived
. 따라서 스왑 파티션을 설정hda2
하려면 암호화 된 스왑을 보유하고 있고 루트 파일 시스템이있는 파티션 이라고 가정하고 다음을 수행합니다hda5_crypt
.
swapoff /dev/mapper/hda2_crypt
cryptsetup luksClose hda2_crypt
dd if=/dev/urandom of=/dev/hda2
/lib/cryptsetup/scripts/decrypt_derived hda5_crypt \
| cryptsetup luksFormat /dev/hda2 --key-file -
/lib/cryptsetup/scripts/decrypt_derived hda5_crypt \
| cryptsetup luksOpen /dev/hda2 hda2_crypt --key-file -
mkswap /dev/mapper/hda2_crypt
이 스왑 파티션에 대한 시스템에게, 우리는에 추가해야
/etc/crypttab
하고/etc/fstab
, 해당 파일에 다음과 같은 줄이 포함되어 있는지 확인하십시오.
/etc/crypttab:
hda2_crypt /dev/hda2 hda5_crypt luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived
/etc/fstab:
/dev/mapper/hda2_crypt swap swap sw 0 0
이를 사용하여 디스크 일시 중단을 위해 시스템을 구성하자마자 스왑 파티션은 부팅 순서 중에 루트 파일 시스템과 함께 자동으로 설정됩니다. 그 시점에서 사용할 수 있도록하는 스왑 파티션을 파악하기 위해,으로 cryptsetup 검사 다음 asfasfafs – 라인처럼
RESUME=/dev/mapper/hda2_crypt
에/etc/initramfs-tools/conf.d/resume
-에 이력서 장치 설정/etc/uswsusp.conf
(참조uswsusp.conf(5)
) -의 항목/etc/suspend.conf
A –resume=/dev/mapper/hda2_crypt
커널 명령 행에서이에
/usr/share/initramfs-tools/hooks/cryptroot
대해 더 알고 싶다면 검사 할 수 있습니다 .
답변
이것은 initramfs
부트 프로세스 중에 스왑 파티션에 액세스하고 있음을 나타냅니다 . 이 시점에서 루트 파일 시스템이 아직 마운트되지 않았으므로 여기에 저장된 구성 파일이 표시되지 않습니다.
루트 파일 시스템 다음에 스왑 공간이 마운트되는 동안 initramfs
초기화 프로세스가 스왑 공간에 액세스해야하는 이유가 있습니다. 컴퓨터를 최대 절전 모드로 전환하면 메모리 및 시스템 상태가 스왑에 기록됩니다. 최대 절전 모드에서 다시 시작하려면 스왑 공간에 암호 문구가 필요한 최대 절전 모드 이미지가 포함되어 있는지 확인해야합니다.
최대 절전 모드에서 다시 시작하는 기능을 잃어 버리지 않으 /etc/initramfs-tools/conf.d/resume
려면로 시작하는 줄 을 편집 하고 주석 처리 하여이 동작을 비활성화 할 수 있습니다 RESUME=
. 변경 한 후에 update-initramfs -u
는 initramfs
이미지 를 업데이트하기 위해 실행 하십시오 .