이 문서에서는 2025년 11월 7일 이전에 생성된 컴퓨팅 인스턴스에서 보안 부팅을 위한 새 인증서를 지원하도록 허용된 서명 데이터베이스(db) 및 키 교환 키 (KEK) 변수를 업데이트하는 방법을 설명합니다.
KEK 및 db 업데이트는 영향을 받는 컴퓨팅 인스턴스를 다시 만들지 않는 고객을 위한 대안입니다.
시작하기 전에
인스턴스에 보안 부팅 인증서 업데이트가 필요한지 확인합니다.
인스턴스에 업데이트가 필요한 경우 이러한 단계를 실행하기 전에 데이터를 백업하고 BitLocker 또는 유사한 Linux FDE 도구와 같은 전체 디스크 암호화 (FDE)를 사용하는 경우 복구 키를 찾습니다. 구성 오류가 있는 경우 보안 변수를 변경하면 디스크 액세스가 차단될 수 있습니다.
주의: Linux 인스턴스의 경우 새 shim을 업데이트하기 전에 db를 Microsoft UEFI CA 2023으로 업데이트하는 것이 좋습니다. 이렇게 하면 shim이 Microsoft UEFI CA 2023에서만 서명되고 db에는 Microsoft Corporation UEFI CA 2011만 포함되는 향후 시나리오를 방지할 수 있습니다. 보안 부팅이 사용 설정된 상태에서 CA가 일치하지 않으면 부팅이 실패할 수 있습니다.
fwupd를 사용하여 Linux에서 db 및 KEK 업데이트
이 메서드는 fwupdmgr 버전 2.0.10 이상에서 지원됩니다. sudo fwupdmgr --version으로 버전을 확인합니다.
다음을 실행합니다.
sudo fwupdmgr refresh
sudo fwupdmgr update 5bc922b7bd1adb5b6f99592611404036bd9f42d0
sudo fwupdmgr update b7a1d3d90faa1f6275d9a98da4fb3be7118e61c7
efitools를 사용하여 Linux에서 db 및 KEK 업데이트
다음 단계에서는 efitools 패키지를 사용하여 db 및 KEK 변수를 업데이트하는 방법을 안내합니다.
db 업데이트
Microsoft 저장소에서 업데이트 바이너리를 다운로드합니다.
wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin변수를 변경 가능하게 만듭니다 (쓰기 보호 플래그 삭제).
sudo chattr -i /sys/firmware/efi/efivars/db-*efi-updatevar를 사용하여 변수를 업데이트합니다.sudo efi-updatevar -a -f DBUpdate3P2023.bin db
KEK 업데이트
인증서 업데이트가 포함된
.cab아카이브를 다운로드합니다.wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cabgcab이 설치되어 있지 않으면 설치합니다. 예를 들어 Debian 또는 Ubuntu에서 다음 명령어를 사용합니다.sudo apt update sudo apt install gcab-bingcab을 사용하여 아카이브를 추출합니다.gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab파일에 예상 MD5 해시 (
6a1c58e1b8391c0e3f2e97f83917807a)가 있는지 확인합니다.md5sum kek2023update.binKEK변수를 변경 가능하게 만듭니다.sudo chattr -i /sys/firmware/efi/efivars/KEK-*업데이트 적용하기:
sudo efi-updatevar -a -f kek2023update.bin KEK
sbsigntool을 사용하여 Linux에서 db 및 KEK 업데이트
다음 단계에서는 sbsigntool 패키지 및 sbkeysync 유틸리티를 사용하여 db 및 KEK 변수를 업데이트하는 방법을 안내합니다.
db 업데이트
파일을 다운로드합니다.
wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.binsbkeysync에 적합한 위치에 파일을 넣고db를 변경 가능하게 만들고 동기화를 실행합니다.sudo mkdir -p /etc/secureboot/keys/db sudo cp DBUpdate3P2023.bin /etc/secureboot/keys/db/ sudo chattr -i /sys/firmware/efi/efivars/db-* sudo sbkeysync --verbose
KEK 업데이트
- 앞서
efitools섹션에 설명된 대로 cab 파일을 처리하여kek2023update.bin을 가져옵니다. sbkeysync의 바이너리를 배치하고KEK를 변경 가능하게 만들고 동기화를 실행합니다.sudo mkdir -p /etc/secureboot/keys/KEK sudo cp kek2023update.bin /etc/secureboot/keys/KEK/ sudo chattr -i /sys/firmware/efi/efivars/KEK-* sudo sbkeysync --verbose
Windows에서 db 및 KEK 업데이트
Windows 인스턴스에서 호환되는 버전을 실행하는 경우 업데이트를 시작하기 위해 레지스트리 설정 및 예약된 태스크가 트리거될 수 있습니다.
- Windows 인스턴스에 최신 월별 업데이트가 적용되어 있는지 확인합니다.
PowerShell에서 관리자로 다음을 실행합니다.
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name "AvailableUpdates" -Value 0x5944 Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"인스턴스를 재부팅하여 펌웨어 변수에 대한 작업을 허용합니다. 가상화 보안 기능이 동시에 활성 상태인 경우 일부 환경에서는 두 번 다시 시작해야 할 수 있습니다.