사용 사례
웹 애플리케이션이 포함 된 VM (vmdk 파일)에 Ubuntu 서버 머신이 래핑되어 있습니다. 이 VM을 다른 사람에게 보내고 그 사람이 VM 의 내부 파일 시스템에 액세스 하지 못하도록하고 싶습니다. vmdk 파일에서 시스템의 파일 시스템을 추출하지 못하게하고 싶습니다.
사용자는 머신을 시작하거나 전원을 끌 수 있습니다 (머신이 시작되면 애플리케이션 백엔드 서비스가 자동으로로드 됨).
솔루션?
하드 드라이브 암호화 (LUKS 또는 VeraCrypt와 같은 다른 솔루션을 사용하는 전체 디스크 암호화)를 사용하는 방법에 대해 알고 있지만 내 주요 관심사는 서버 기반 환경에서 어떻게 사용되는지입니다.
사용자가 암호 해독 키 또는 이와 유사한 것을 입력하도록하고 싶지 않습니다. 여기 와 여기 와 같이 처음에 파일 시스템을 자동으로 해독하는 솔루션이 있다는 것을 알았고 암호 해독 키를 내부에 저장해야하는 것 같습니다. VM.
원격 사용자 로그인을 사용하여 컴퓨터를 해독하는 방법이 있습니까? (부차 채널 공격이나 Hot VM Cloning과 같은 더 복잡한 문제는 덜 걱정합니다.) 아니면 사용 사례를 충족 할 수있는 다른 솔루션이 있습니까?
최신 정보
@vidarlo 답변 후 나는 트레이드 오프를 이해하는 FDE 솔루션을 사용하기로 결정했습니다.
내가 사용한 구성 지침 아래 (/ boot가 / dev / sda1 암호화되지 않은 파티션에 있고 암호화 된 파티션이 / dev / sdaX 파티션에 있다고 가정).
새 임의 암호를 만들고 luks 키 저장소에 저장합니다.
sudo dd if=/dev/urandom of=/boot/keyfile bs=1024 count=4
sudo chmod 0400 /boot/keyfile
sudo cryptsetup luksAddKey /dev/sdaX /boot/keyfile
다음을 실행하여 / dev / sda1 파티션의 UUID를 가져옵니다.
sudo ls -l /dev/disk/by-uuid/
/etc/crypttab
다음 내용으로 파일을 업데이트하십시오 .
sdaX_crypt UUID=<UUID_OF_SDAX> /dev/disk/by-uuid/<UUID_OF_SDA1>:/keyfile luks,keyscript=/lib/cryptsetup/scripts/passdev
initramfs 업데이트
sudo update-initramfs -u
재부팅
sudo reboot
unencrypted /boot
및 LUKS 키 파일 로 솔루션을 설정할 수 있습니다 .
sudo cryptsetup luksAddKey /dev/sdx1 /boot/random_data_keyfile1
다음 사항 /etc/crypttab
에 맞게 수정하십시오 .
sda5_crypt UUID=DEVICE_UUID /dev/disk/by-uuid/devicewithkey:/random_data_keyfile1 luks,keyscript=/lib/cryptsetup/scripts/passdev
이것은 절대 안전하지 않습니다. 원격으로 숙련 된 공격자는 암호화되지 않은 /boot
키 파일과 키 파일을 찾습니다 . 더 어렵게 만들기 위해 모호하게 만들 수 있지만 궁극적으로 문제를 해결할 수 없습니다 .
그 사람이 가상 머신을 실행할 수 있지만 액세스 할 수는 없도록합니다. 실행 하려면 액세스 권한이 필요 합니다. 최악의 경우? VM을 일시 중지하고 VM의 메모리를 검사합니다. 하이퍼 바이저를 제어 할 수있는 사람은 거의 모든 작업을 수행하더라도 VM을 완전히 제어 할 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다