2019/12/03

보안 부팅을 위한 VirtualBox 및 Vmware 모듈 서명.

보안 부팅을 위한 VirtualBox 및 Vmware 모듈 서명.
우부투 16.04의 경우 커널 디렉토리에서 제거 됨.
새로운 경로 : /usr/src/linux-headers-'uname -r'/scripts/sign-file

키 생성.
CN =  사용자 이름을 유지해야 한다.
$ openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=linuxlee/"

모듈 서명
virtualBox
# /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxdrv)

VMware
# /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmmon)
# /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vmnet)

커널 업데이트시 동작 스크립트 예제.
/etc/kernel/postinst.d

#!/bin/bash

MOK_NAME=".MOK"
MOK_LOCATION="/home/linuxlee"

cd $MOK_LOCATION

sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./${MOK_NAME}.priv ./${MOK_NAME}.der $(modinfo -n vmmon)
sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./${MOK_NAME}.priv ./${MOK_NAME}.der $(modinfo -n vmnet)

키 등록
# mokutil --import MOK.der

시스템 재 부팅.

키 등록 확인.
$ dmesg | grep 'EFI: Loaded cert'
[...]
[    1.626393] EFI: Loaded cert 'Gabriel: f1...30' linked to '.system_keyring'
[    1.627167] EFI: Loaded cert 'Gabriel: 0f...39' linked to '.system_keyring'
[    1.628009] EFI: Loaded cert 'Fedora Secure Boot CA: fd...42' linked to '.system_keyring'

팁: QEMU(그놈) 이미지를 vid(VirtualBox)변환.
$ qemu-img convert -p [source] -O raw [dest].raw
$ VBoxManage convertdd [source].raw $HOME/.VirtualBox/VDI/[dest].vdi

댓글 없음:

댓글 쓰기