ESXi 8.0 업데이트 1부터는 스크립트로 작성된 설치를 위해 kickstart 파일에서 외부 엔트로피 소스를 구성할 수 있습니다.
HSM(하드웨어 보안 모듈)과 같은 외부 엔트로피 소스의 엔트로피를 사용하고 스크립트로 작성된 설치 방법을 사용하여 표준(예: BSI 조건 기준, EAL4 및 NIST FIPS CMVP)에 맞게 매우 안전한 환경에서 ESXi를 구성할 수 있습니다.
ESXi 8.0 업데이트 1에는 vAPI 끝점을 생성하는 엔트로피 데몬(entropyd)이 도입되어 ESXi 호스트에 엔트로피 데이터를 쿼리하고 전송하는 REST API를 제공합니다. 엔트로피 데몬에는 in-memory-cache size, in-storage-cache size, in-memory-low watermark, entropy-lost-timeout과 같이 구성 가능한 여러 매개 변수가 있습니다. 내부 및 외부 엔트로피 소스는 엔트로피 믹서 모듈에서 수집됩니다. 엔트로피 데몬은 엔트로피 소스를 믹서에서 커널의 엔트로피 풀로 전달합니다.
외부 엔트로피 소스를 선택할 필요가 없는 경우 기존 스크립트를 변경하지 않아도 됩니다.
kickstart 파일을 업데이트하기 전에 HSM과 같은 외부 소스에서 올바른 바이너리 엔트로피 데이터를 가져와서 512KB에서 10MB 사이 크기의 파일로 저장해야 합니다(예: entropy_data.dat). 그런 다음 entropy_data 파일의 컨텐츠를 유효한 base64 형식으로 인코딩하여 다른 파일(예: entropy_data.b64)을 생성합니다.
kickstart 파일에서 entropy 명령의 일부로 다음과 같은 새 매개 변수를 제공합니다.
- data - 외부 소스의 base64로 인코딩된 엔트로피 데이터입니다.
- sources - 이 비트마스크 값(0=default, 1=interrupts, 2=RDRAND, 4=RDSEED, 8=entropyd)은 설치 시 커널 설정에서 설정됩니다. RDSEED가 지원되는 경우 기본값은 FIPS 규정 준수입니다. 그렇지 않으면 기본값은 entropyd를 제외한 모든 엔트로피 소스입니다. EAL4 규정 준수를 위해 8이 유일한 필수 값이지만 십진수 범위 0-15에서 다른 소스를 사용할 수 있습니다. 소스 값은 설치 중에 커널 설정으로 유지됩니다.
참고: 외부 엔트로피 소스만 사용하여 ESXi 호스트를 구성하는 경우 즉 sources 값이 8로 설정된 경우 엔트로피 API를 사용하여 호스트에 외부 엔트로피를 계속 제공해야 합니다. 호스트에서 외부 엔트로피가 소진되면 호스트가 응답하지 않게 되고 이러한 상황에서 호스트를 복구하려면 하드 재부팅 또는 재설치가 필요할 수 있습니다.
엔트로피 매개 변수가 있는 샘플 kickstart:
vmaccepteula rootpw xxxxxxxx entropy --sources=8 --data=xxxxxxx/xx/xxxxx/xx/xxxx... install --firstdisk --overwritevmfs network --bootproto=dhcp
ESXCLI 명령
1. 명령 가져오기
## | esxcli system entropyd get | 명령 설명 |
---|---|---|
1 | <no argument> | 모든 entropyd 매개 변수의 현재 구성된 값 및 기본값 가져오기 |
2 | --default-values | 기본값 가져오기 |
2. 명령 설정
## | esxcli system entropyd set | 명령 설명 |
---|---|---|
1 | --help | "esxcli system entropyd set" 명령 및 해당 인수의 세부 정보 출력 |
2 | --reset=all --reset=memory-cache-size --reset=memory-cache-low-watermark --reset=storage-cache-size --reset=external-entropy-lost-timeout |
하나 또는 모든 매개 변수를 기본값으로 재설정합니다. |
3 | --memory-cache-size=<value in KiB> | 메모리 캐시 크기를 KiB단위로 설정합니다. |
4 | --memory-cache-low-watermark=<value in %> | 메모리 캐시 하위 워터마크를 백분율로 설정합니다. |
5 | --storage-cache-size=<value in KiB> | 스토리지 캐시 크기를 KiB 단위로 설정합니다. |
6 | --external-entropy-lost-timeout=<value in seconds> | 외부 엔트로피 손실 시간 초과를 초 단위로 설정합니다. |
예:
$ esxcli system entropyd set --external-entropy-lost-timeout=70 --memory-cache-low-watermark=30 --memory-cache-size=612 --storage-cache-size=5096 $ esxcli system entropyd get External Entropy Lost Timeout Seconds: 70 Memory Cache Low Watermark Percentage: 30 Memory Cache Size Kibibytes: 612 Storage Cache Size Kibibytes: 5096 $ esxcli system entropyd get --default-values External Entropy Lost Timeout Seconds: 60 Memory Cache Low Watermark Percentage: 20 Memory Cache Size Kibibytes: 512 Storage Cache Size Kibibytes: 4096
설치 중에 ESXi 설치 관리자는 커널 설정의 엔트로피 소스 값을 업데이트하여 설치 후 ConfigStore에서 유지되도록 합니다. 이 변경 사항은 ESXi 호스트의 보안 부팅에 영향을 주지 않습니다.
자세한 내용은 vSphere 보안 및 vSphere Automation SDK 프로그래밍 가이드를 참조하십시오.