shield instance 생성 절차
1. Instance 생성시 Security 파트에서 shield instance 생성을 할 수 있으며, Edit을 눌러서 선택할 수 있다.
Instance를 생성하는 중.
2. Instance가 생성되었으면 shield Instance도 정상적으로 Enabled된 것으로 확인할 수 있다.
shield 부분의 형태가 변경되었으며 PCR의 Golden Measurements가 저장된 것을 확인할 수 있다.
Golden Measurement 작업
Measured boot는 부트로더, 드라이버 및 운영 체제와 같은 부팅 구성 요소의 측정값을 저장하여 부팅 보안을 강화한다. 초기 측정을 수행한 후 시스템이 부팅될 때 새 부팅 데이터를 기본 측정과 비교하여 모든 부팅이 동일한지 확인한다.
The baseline measurements are known as golden measurements.
기준측정은 golden Measurement이다.
PCR 값 다운로드
인스턴스에 대한 Golden Measurement 및 PCR 값을 다운로드할 수 있다.
The PCR is a memory location in the TPM that stores the golden measurements.
PCR은 Golden Measurements를 저장하는 TPM의 메모리 위치임.
방법 :
- Open the navigation menu and click Compute. Under Compute, click Instances.
- Click the instance that you're interested in.
- On the Instance details page, open the Shielded instance tab.
- Under Platform Configuration Register (PCR), click Copy PCR values. The PCR values are copied to your clipboard. Paste them into the file of your choice.
Golden Measurement 리셋팅
OS를 업데이트하는 경우, 새로운 Golden Measurement를 생성해야할 수도 있다.
방법 :
- Open the navigation menu and click Compute. Under Compute, click Instances.
- Click the instance that you're interested in.
- On the Instance details page, open the Shielded instance tab.
- Under Platform Configuration Register (PCR), click Reset golden measurements. Confirm when prompted.
==
shield Instance 마이그레이션
*쉴드 인스턴스 -> 쉴드 인스턴스 마이그레이션은 불가하다.
VM instance
- shield instance는 Live Migration 또는 reboot migration을 지원하지 않는다. shield instance를 마이그레이션하기 위해서는 수동으로 마이그레이션을 해야한다.
- UEFI 보안 boot 변수를 수정한 경우, 변경사항이 유지되지 않기 때문에 마이그레이션이 불가능하다.
- TPM을 사용하는 VM 인스턴스를 마이그레이션 한다면, TPM 데이터는 마이그레이션 동안 유지되지 않는다. 새로운 인스턴스는 새로운 PCR 값을 가지게 된다.
- Windows Defender Credential Guard가 Enabled 된 경우라면, 인스턴그 마이그레이션은 불가능하다.
BM instance
- shield instance는 Liva Migration 또는 reboot migration을 지원하지 않는다. shield instance를 마이그레이션하기 위해서는 수동으로 마이그레이션을 해야한다.
- UEFI 보안 boot 변수를 수정한 경우, 변경사항이 유지되지 않기 때문에 마이그레이션이 불가능하다.
- BM 인스턴스에 하드웨어 TPM을 활성화 시킨다면, 하드웨어 TPM은 마이그레이션이 안되기 때문에 불가능하다.
- BM 인스턴스에 물리적 TPM 안에 기밀사항을 저장한다면, OCI는 그 데이터의 복사본을 유지하지 않는다. 인스턴스를 마이그레이션하고 다시 실행한 후에, 새로운 물리적 TPM으로 작동시키기 위해 reset 하는 절차가 필요하다.
Validation Failure 트러블슈팅
Secure Boot Validation이 실패한다면, SSH로 접속이 되지 않는다.
Measured Boot Validation이 실패한다면, 인스턴스 디테일 페이지가 red shield로 표시된다.
해결방안 :
Serial Consol data에서 실패원인을 알 수 있다,
==
1. Boot에 성공한다면 아래와 같은 메세지가 console historydata에 나타난다.
SB_EVENT: { "Secure_Boot_Overall_Status" : 0, "status" : "Pass", "msg" : "SB_Event on Exit Boot Services" }
==
2. Secure boot가 활성화 되어있고, 펌웨어의 서명이 일치하지 않으면, 인스턴스는 start되지 않는다.
Secure boot가 이미지가 사인되지 않거나, 유효하지 않아서 실패한다면, 아래와 같은 메세지가 console history data에 남겨진다.
SB_EVENT: { "status": "Fail", "msg": "The EFI executable failed to load.
It's not signed, or the signature (or hash) did not match entries in DB", "EFI_Image_Type" : "FromOpROM", "EFI_Image_Path":
"PciRoot(0x0)/Pci(0x2,0x0)/Offset(0x10A00,0x245FF)",
"SB_Variable_Match" : "NO_CERT_MATCH" }
==
3. Secure boot가 unsupported kernel에 로드 되었기 때문에 실패한다면, supported kernel을 선택하고 재시도하자.
unsupported kernel이 로드 되었다면, SSH 접속이 되지 않을 것이다. 마찬가지로 console history data에서 아래와 같은 메세지를 확인할 수 있다.
SB_EVENT: { "status": "Pass", "msg": "The EFI executable loaded successfully", "EFI_Image_Type" : "FromFixedMedia", "EFI_Image_Path" : "PciRoot(0x0)/Pci(0x12,0x7)/Pci(0x0 ... 2000)//EFI/redhat/shimx64.efi", "SB_Variable_Match" : "DB_CERT_MATCH", "CertSubject" : "Microsoft Corporation UEFI CA 2011", "ImageDigest" : "DD35B574D149AA48E3611FFCC336ACD76FDE79AD817B081FE5CC093789B92E90" }
error:
../../grub-core/loader/i386/efi/linux.c:215:(hd0,gpt2)/vmlinuz-5.14.0-1.el8uek.
rc2.x86_64 has invalid signature.
error: ../../grub-core/loader/i386/efi/linux.c:94:you need to load the kernel
first.
4. Measured Boot가 활성화되었지만 Boot Sequence가 일치하지 않는다면, red shield가 인스턴스 디테일 페이지에 나타난다. Measured boot가 활성화되었고 새로운 PCR값이 추가된다면 yellow shield가 인스턴스 디테일 페이지에 나타난다.
Measured Boot Failure와 PCR 값이 맞는지 또는 새로운 값이 추가됐는지 확인하고 reset the golden measurements를 선택할 수 있다.
==
'Cloud > Oracle Cloud' 카테고리의 다른 글
[OCI] Block Volume 포맷하기 (0) | 2023.05.16 |
---|---|
[OCI] tomcat 포트 변경 (톰캣 환경설정) (0) | 2023.05.09 |
[OCI] Apache Web Server 설치 및 실행 (Oracle Linux 8) (0) | 2023.03.15 |
OCI 세미나 (0) | 2023.03.02 |
[OCI] Oracle cloud SSH 접속 및 키 생성 (0) | 2023.02.28 |