Linux에서 보안 부팅을 활성화하는 방법이 있습니까?

Linux에서 보안 부팅을 활성화하는 방법이 있습니까?

Windows에 외부 OS 로더 코드가 부팅 시 실행되는 것을 방지하는 보안 부팅 기능이 있는 것처럼 Linux 자체에도 비슷한 옵션이 있습니까? 둘러봤지만 검색해 보면 UEFI 지원 Windows 컴퓨터에 Linux를 설치하는 방법밖에 나오지 않습니다. 내 Linux 상자에 이 옵션을 가져오는 방법을 찾을 수 없습니다.

답변1

첫 번째: 나만의 키 생성

openssl req -new -nodes -utf8 -sha256 -days 36500 -batch -x509 \
       -subj "/CN=커널 키" -outform DER -out kernel.der \
       -keyout kernel.key

아래 설명에 따라 CONFIG_EFI_STUB를 사용하여 Linux 커널을 컴파일하고 여기에 initramfs를 포함해 보세요.https://prosauce.org/blog/2015/10/31/booting-linux-securely, 모듈에 서명하려면 다음 스크립트를 사용할 수 있습니다.

/usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 kernel.key kernel.der module.ko

그런 다음 커널 명령줄을 사용하여 노트북\워크스테이션용 파일을 생성하고 이미지를 생성하여 다음과 같이 efi 부팅 디렉터리에 복사합니다.

#객체 복사 \
  --add-section .osrel=/etc/os-release --change-section-vma .osrel=0x20000 \
  --추가 섹션 .cmdline=/tmp/cmdline --change-섹션-vma .cmdline=0x30000 \
  --추가 섹션 .linux=/boot/vmlinuz --change-section-vma .linux=0x2000000 \
  --추가 섹션 .initrd=/boot/initrd.img --change-section-vma .initrd=0x3000000 \
/usr/lib/systemd/boot/efi/linuxx64.efi.stub linux.efi

# mkdir -p /boot/efi/EFI/BOOT

# sbsign --key /root/keys/ISK.key --cert /root/keys/ISK.pem --output /boot/efi/EFI/BOOT/BOOTX64.EFI linux.efi /boot/efi/EFI/BOOT /BOOTX64.EFI

MB 펌웨어에 자체 키를 설치하려면 다음 명령을 실행할 수 있습니다.

openssl x509 -inform der -in kernel.der -outform pem -out kernel.pem
cert-to-efi-sig-list -g "$(uuidgen)" kernel.pem kernel.esl
Sign-efi-sig-list -k KEK.key -c KEK.pem 커널 kernel.esl kernel.auth

답변2

보안 부팅이 제대로 작동하려면 하드웨어가 보안 부팅을 지원하고 운영 체제가 보안 ​​부팅을 지원해야 합니다.

하드웨어의 경우 UEFI 설정 메뉴를 확인할 수 있으며 OS에서 제공하는 인증서/키를 추가해야 합니다.

운영 체제의 경우 다음 명령을 사용하여 지원을 확인할 수 있습니다.

[root@secureboot-guest ~]# cat /sys/kernel/security/securelevel 

위 명령의 출력이 "1"이면 운영 체제가 보안 ​​부팅을 지원하고 활성화한 것입니다.

이 파일이 없으면 커널이 보안 부팅 지원으로 컴파일되었는지 확인해야 합니다.

$ egrep "CONFIG_EFI_SECURE_BOOT_SECURELEVEL|CONFIG_SECURITY_SECURELEVEL" /boot/config-$(uname -r) 
CONFIG_EFI_SECURE_BOOT_SECURELEVEL=y
CONFIG_SECURITY_SECURELEVEL=y

답변3

AFAIK 보안 부팅은 Microsoft와 UEFI Alliance를 구성하는 여러 회사에서 개발한 UEFI 기능입니다.

UEFI는 하드웨어에 의해 부분적으로 적용됩니다. 즉, 마더보드 구성이 방해가 될 수도 있고 방해가 되지 않을 수도 있습니다. 전체 UEFI를 사용하는 경우 UEFI 메뉴 자체에서 보안 부팅을 활성화할 수 있을 가능성이 높습니다.

그러나 펌웨어가 CSM/BIOS가 포함된 UEFI인 경우 보안 부팅을 활성화하는 옵션과 같은 특정 장애물이 발생할 수 있습니다.회색으로 변하다그리고 다.

관련 정보