Linux : LUKS 및 여러 하드 드라이브 있습니까? 내

RAID-1 시스템 암호화 장치 (LUKS의 LVM)에 Debian Linux 시스템 (amd64)이 설치되어 있고 데이터를 넣을 디스크 (LUKS 및 LVM)가> = 4 인 RAID-6이 있습니다.

기본 아이디어는 로컬 또는 ssh를 통해 부팅 할 때 시스템 암호화 파티션의 잠금을 해제하고 RAID-6 암호화 파티션의 / etc / crypttab에 키 파일을 저장하는 것입니다. 보안 위험이 있습니까? 내 말은 … 누군가 로컬 / 원격으로 내 시스템에 들어갈 수 있다면 “루팅”(예 : SSH)에 취약한 서버에서 많은 서비스가 실행되고 있다고 생각합니다. 대안이 있습니까 (SSH를 통해 파티션을 잠금 해제하는 것 외에는 데이터 파티션이 마운트되기 전에 백업 작업이 시작되기 때문에 문제가 될 수 있음).

다른 컴퓨터에서는 백업용 LUKS + 회색 구멍 (RAID-6 없음)이있는 여러 디스크를 사용하고 동일한 암호의 10 배를 입력하여 10 개의 디스크를 잠금 해제하는 것은 정말 어려울 것입니다 …



답변

당신은 사용할 수 있습니다 /lib/cryptsetup/scripts/decrypt_derived당신에 crypttab자동으로 다른 하나의 디스크에서 키를 사용할 수 있습니다.

decrypt_derived 스크립트는 데비안의 cryptsetup 패키지의 일부입니다.

sda6crypt에서 sda5로 키를 추가하는 작은 예 :

/lib/cryptsetup/scripts/decrypt_derived sda6crypt > /path/to/mykeyfile
cryptsetup luksAddKey /dev/sda5 /path/to/mykeyfile
ls -la /dev/disk/by-uuid/ | grep sda5
echo "sda5crypt UUID=<uuid> sda6crypt luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived" >> /etc/crypttab
shred -u /path/to/mykeyfile # remove the keyfile

요즘에는 파일을 삭제하는 것이 매우 어려우므로 / path / to / mykeyfile이 암호화 된 드라이브에 있는지 확인하십시오 ( sda6crypt제 예제에서는 좋은 해결책 일 것입니다).

일반적으로 사용자 공간 파일 시스템 암호화를 사용하여 추가 보안 계층을 추가 할 수 있습니다 (예 : via) encfs.


답변

jofels 답변을 기반으로 여기에 동일한 예제가 있지만 키를 파일에 저장할 필요는 없습니다. 키는 디스크에 아무것도 저장하지 않는 명명 된 파이프로 전달됩니다.

/lib/cryptsetup/scripts/decrypt_derived암호화 탭에서 한 디스크의 키를 다른 디스크에 자동으로 사용할 수 있습니다 . 이 decrypt_derived스크립트는 데비안의 cryptsetup 패키지의 일부입니다.

sda6crypt에서 sda5로 키를 추가하도록 수정 된 예 :

mkfifo fifo
/lib/cryptsetup/scripts/decrypt_derived sda6crypt > fifo &
cryptsetup luksAddKey /dev/sda5 fifo
rm fifo

ls -la /dev/disk/by-uuid/ | grep sda5
echo "sda5crypt UUID=<uuid> sda6crypt luks,initramfs,keyscript=/lib/cryptsetup/scripts/decrypt_derived" >> /etc/crypttab

keyscript옵션 crypttab은 데비안의 원래 cryptsetup 도구로 처리 된 경우에만 작동 하며, 시스템 재 구현은 현재이를 지원하지 않습니다. 시스템에서 systemd (대부분의 시스템)를 사용하는 경우 initramfssystemd를 시작하기 전에 cryptsetup 도구를 사용하여 initrd에서 처리를 강제 실행 하는 옵션 이 필요합니다 .


답변