회사 정책에서 요구하는 경우 CLI를 사용하여 vSphere에 사용되는 일부 또는 모든 인증서를 타사 또는 엔터프라이즈 CA에서 서명한 인증서로 교체할 수 있습니다. 이렇게 하면 VMCA가 인증서 체인에 포함되지 않습니다. 모든 vCenter 인증서를 VECS에 직접 저장해야 합니다.

모든 인증서를 교체하거나 하이브리드 솔루션을 사용할 수 있습니다. 예를 들어 네트워크 트래픽에 사용되는 모든 인증서는 교체하고 VMCA 서명 솔루션 사용자 인증서는 남겨두는 것을 고려하십시오. 솔루션 사용자 인증서는 vCenter Single Sign-On에 대한 인증에만 사용됩니다. vCenter Server는 내부 통신에만 솔루션 사용자 인증서를 사용합니다. 솔루션 사용자 인증서는 외부 통신에 사용되지 않습니다.
참고: VMCA를 사용하지 않으려면 모든 인증서의 교체, 인증서를 사용한 새 구성 요소 프로비저닝 및 인증서 만료 추적을 사용자가 직접 처리해야 합니다.

사용자 지정 인증서를 사용하기로 결정한 경우에도 인증서 교체를 위해 VMware Certificate Manager 유틸리티를 계속 사용할 수 있습니다. Certificate Manager를 사용하여 모든 인증서를 사용자 지정 인증서로 교체의 내용을 참조하십시오.

인증서를 교체한 후 vSphere Auto Deploy 관련 문제가 발생하면 VMware 기술 자료 문서(https://kb.vmware.com/s/article/2000988)를 참조하십시오.

CLI를 사용하여 인증서 요청 및 사용자 지정 루트 인증서 가져오기

엔터프라이즈 또는 타사 CA의 사용자 지정 인증서를 사용할 수 있습니다. 첫 번째 단계는 CA(인증 기관)의 인증서를 요청하고 CLI를 사용하여 루트 인증서를 VECS(VMware Endpoint Certificate Store)로 가져오는 것입니다.

사전 요구 사항

인증서는 다음 요구 사항을 충족해야 합니다.

  • 키 크기: 2048비트(최소)~8192비트(최대)(PEM 인코딩)
  • PEM 형식. VMware는 PKCS8 및 PKCS1(RSA 키)을 지원합니다. 키가 VECS에 추가되면 추가된 키가 PKCS8로 변환됩니다.
  • x509 버전 3
  • 루트 인증서의 경우 CA 확장을 true로 설정해야 하며 인증서 서명이 요구 사항 목록에 있어야 합니다.
  • SubjectAltName에는 DNS Name=<machine_FQDN>이 포함되어야 합니다.
  • CRT 형식
  • 다음과 같은 키 사용이 포함되어 있습니다. 디지털 서명, 키 암호화
  • 현재 시간 하루 전 시작 시간
  • ESXi 호스트가 vCenter Server 인벤토리에 가지고 있는 호스트 이름(또는 IP 주소)으로 설정된 CN (및 SubjectAltName).
참고: vSphere의 FIPS 인증서는 2048비트 및 3072비트의 RSA 키 크기만 검증합니다.

프로시저

  1. 다음 인증서에 대한 CSR(인증서 서명 요청)을 엔터프라이즈 또는 타사 인증서 제공자에게 보냅니다.
    • 각 시스템에 대한 시스템 SSL 인증서. 시스템 SSL 인증서의 경우 SubjectAltName 필드에는 정규화된 도메인 이름(DNS NAME=machine_FQDN)이 포함되어야 합니다.
    • 필요한 경우 각 노드에 대한 5개의 솔루션 사용자 인증서. 솔루션 사용자 인증서에는 IP 주소, 호스트 이름 또는 이메일 주소가 포함되지 않아도 됩니다. 각 인증서의 인증서 주체가 서로 달라야 합니다.

    일반적으로 신뢰할 수 있는 체인에 대한 PEM 파일과 각 vCenter Server 노드에 대한 서명된 SSL 인증서가 결과로 반환됩니다.

  2. TRUSTED_ROOTS 및 시스템 SSL 저장소를 나열합니다.
    vecs-cli store list 
    
    1. 현재 루트 인증서 및 모든 시스템 SSL 인증서가 VMCA에 의해 서명되었는지 확인합니다.
    2. 일련 번호, 발급자 및 주체 CN 필드를 기록해 둡니다.
    3. (선택 사항) 웹 브라우저를 사용하여 인증서를 교체할 노드에 대한 HTTPS 연결을 열고 인증서 정보를 살펴보고 시스템 SSL 인증서와 일치하는지 확인합니다.
  3. 모든 서비스를 중지하고 인증서 생성, 전파 및 저장을 처리하는 서비스를 시작합니다.
    service-control --stop --all
    service-control --start vmafdd
    service-control --start vmdird
    service-control --start vmcad
    
  4. 사용자 지정 루트 인증서를 게시합니다.
    dir-cli trustedcert publish --cert <my_custom_root>
    명령줄에서 사용자 이름과 암호를 지정하지 않으면 이를 묻는 메시지가 나타납니다.
  5. 모든 서비스를 다시 시작합니다.
    service-control --start --all

다음에 수행할 작업

회사 정책에 따라 필요한 경우 원래 VMCA 루트 인증서를 인증서 저장소에서 제거할 수 있습니다. 그렇게 하는 경우 vCenter Single Sign-On 인증서를 새로 고쳐야 합니다. 명령줄을 사용하여 vCenter Server STS 인증서 교체의 내용을 참조하십시오.

CLI를 사용하여 시스템 SSL 인증서를 사용자 지정 인증서로 교체

사용자 지정 인증서를 받은 후에는 CLI를 사용하여 각 시스템 인증서를 교체할 수 있습니다.

인증서 교체를 시작하기 전에 다음 정보를 준비해야 합니다.
  • [email protected]의 암호
  • 유효한 시스템 SSL 사용자 지정 인증서(.crt 파일)
  • 유효한 시스템 SSL 사용자 지정 키(.key 파일)
  • 루트에 대한 유효한 사용자 지정 인증서(.crt 파일)

사전 요구 사항

타사 또는 엔터프라이즈 CA로부터 각 시스템에 대한 인증서를 받은 상태여야 합니다.

  • 키 크기: 2048비트(최소)~8192비트(최대)(PEM 인코딩)
  • CRT 형식
  • x509 버전 3
  • SubjectAltName에는 DNS Name=<machine_FQDN>이 포함되어야 합니다.
  • 다음과 같은 키 사용이 포함되어 있습니다. 디지털 서명, 키 암호화

vCenter Server 호스트에서 단계를 수행합니다.

프로시저

  1. 현재 시스템 SSL 인증서를 백업합니다.
    /usr/lib/vmware-vmafd/bin/vecs-cli entry getcert --store MACHINE_SSL_CERT --alias __MACHINE_CERT > oldmachine.crt
    /usr/lib/vmware-vmafd/bin/vecs-cli entry getkey --store MACHINE_SSL_CERT --alias __MACHINE_CERT > oldmachinekey.key
  2. 각 호스트에 로그인하여 CA(인증 기관)에서 받은 새 시스템 인증서를 VECS에 추가합니다.
    모든 호스트는 SSL을 통해 통신하려면 로컬 인증서 저장소에 새 인증서가 필요합니다.
    1. 기존 인증서를 삭제합니다.
      /usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
    2. 새 인증서를 추가합니다.
      /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert <cert-file-path> --key <key-file-path>
  3. 교체할 이전 인증서의 해시를 추출합니다.
    openssl x509 -in <path_to_old_machinessl_certificate> -noout -sha1 -fingerprint

    다음과 유사한 출력이 나타납니다.

    SHA1 Fingerprint=13:1E:60:93:E4:E6:59:31:55:EB:74:51:67:2A:99:F8:3F:04:83:88
  4. Lookup Service 등록 끝점을 수동으로 업데이트합니다.
    /usr/lib/vmware-lookupsvc/tools/ls_update_certs.py --url https://<vCenterServer_FQDN>/lookupservice/sdk --certfile <cert-file-path> --user '[email protected]' --password '<password>' --fingerprint <SHA1_hash_of_the_old_certificate_to_replace>

    ls_update_certs.py를 실행하는 데 문제가 발생하는 경우 https://kb.vmware.com/s/article/95982에서 VMware 기술 자료 문서를 참조하십시오.

  5. 모든 서비스를 다시 시작합니다.
    service-control --stop --all && service-control --start --all