CLI를 사용하여 VMCA 루트 인증서를 인증서 체인에 VMCA가 포함된 타사 CA 서명 인증서로 교체할 수 있습니다. 그러면 VMCA가 생성하는 모든 인증서에 전체 체인이 포함됩니다. 기존 인증서를 새로 생성된 인증서로 교체할 수 있습니다.
VMCA를 중간 CA로 사용하거나 사용자 지정 인증서를 사용하면 상당히 복잡한 문제가 발생할 수 있어 보안에 부정적인 영향을 미칠 수 있으며 운영 위험이 불필요하게 증가할 수 있습니다. vSphere 환경 내의 인증서 관리에 대한 자세한 내용은 http://vmware.com/go/hybridvmca에서 블로그 게시글 "New Product Walkthrough - Hybrid vSphere SSL Certificate Replacement(신제품 둘러보기 - 하이브리드 vSphere SSL 인증서 교체)" 를 참조하십시오.
CLI를 사용하여 루트 인증서 교체(중간 CA)
VMCA 인증서를 사용자 지정 인증서로 교체하는 첫 번째 단계는 CSR을 생성하고, 서명할 CSR을 보내고, CLI를 사용하여 서명된 인증서를 VMCA에 루트 인증서로 추가하는 것입니다.
Certificate Manager 유틸리티 또는 기타 도구를 사용하여 CSR을 생성할 수 있습니다. CSR은 다음 요구 사항을 충족해야 합니다.
- 키 크기: 2048비트(최소)~8192비트(최대)(PEM 인코딩)
- PEM 형식. VMware는 PKCS8 및 PKCS1(RSA 키)을 지원합니다. 키가 VECS에 추가되면 해당 키가 PKCS8로 변환됩니다.
- x509 버전 3
- 루트 인증서에 대해 CA 확장을 true로 설정해야 하며 인증서 서명이 요구 사항 목록에 있어야 합니다. 예:
basicConstraints = critical,CA:true keyUsage = critical,digitalSignature,keyCertSign
- CRL 서명을 사용하도록 설정해야 합니다.
- 확장 키 사용은 비워 두거나 서버 인증을 포함할 수 있습니다.
- 인증서 체인의 길이에 대한 명시적 제한이 없습니다. VMCA는 OpenSSL 기본값인 10개의 인증서를 사용합니다.
- 와일드카드 또는 2개 이상의 DNS 이름이 있는 인증서는 지원되지 않습니다.
- VMCA의 부수적인 CA를 생성할 수 없습니다.
Microsoft CA(인증 기관)를 사용하는 예는 VMware 기술 자료 문서(https://kb.vmware.com/s/article/2112009)인 'vSphere 6.x에서 SSL 인증서 생성에 사용할 Microsoft CA(인증 기관) 템플릿 생성'을 참조하십시오.
- 키 크기: 2048비트(최소)~8192비트(최대)
- 키 용도: 인증서 서명
- 기본 제약 조건: 주체 유형 CA
프로시저
예: 루트 인증서 교체
certool 명령을 --rootca 옵션과 함께 사용하여 VMCA 루트 인증서를 사용자 지정 CA 루트 인증서로 교체합니다.
/usr/lib/vmware-vmca/bin/certool --rootca --cert=<path>/root.pem -–privkey=<path>/root.key
- 파일 시스템의 인증서 위치에 새 사용자 지정 루트 인증서를 추가합니다.
- VCES의 TRUSTED_ROOTS 저장소에 사용자 지정 루트 인증서를 추가합니다.
- 사용자 지정 루트 인증서를 vmdir에 추가합니다.
다음에 수행할 작업
회사 정책에 따라 필요한 경우 원래 VMCA 루트 인증서를 인증서 저장소에서 제거할 수 있습니다. 그렇게 하는 경우 vCenter Single Sign-On 서명 인증서를 교체해야 합니다. 명령줄을 사용하여 vCenter Server STS 인증서 교체의 내용을 참조하십시오.
CLI를 사용하여 시스템 SSL 인증서 교체(중간 CA)
CA에서 서명된 인증서를 받은 후에는 CLI를 사용하여 이 인증서를 VMCA 루트 인증서로 만들고 모든 시스템 SSL 인증서를 교체할 수 있습니다.
이러한 단계는 VMCA를 인증 기관으로 사용하는 인증서로 교체하는 단계와 기본적으로 동일합니다. 하지만 이 경우에는 VMCA가 전체 체인으로 모든 인증서에 서명합니다.
각 시스템마다 다른 서비스와의 보안 통신을 위한 시스템 SSL 인증서가 있어야 합니다. 여러 vCenter Server 인스턴스가 고급 연결 모드 구성에서 연결된 경우 각 노드에서 시스템 SSL 인증서 생성 명령을 실행해야 합니다.
사전 요구 사항
각 시스템 SSL 인증서에 대해 SubjectAltName에 DNS Name=<Machine FQDN>이 포함되어야 합니다.
프로시저
예: 시스템 SSL 인증서 교체(VMCA가 중간 CA)
- SSL 인증서에 대한 구성 파일을 만들고 이를 현재 디렉토리에 ssl-config.cfg로 저장합니다.
Country = US Name = vmca-<FQDN-example> Organization = VMware OrgUnit = VMware Engineering State = California Locality = Palo Alto Hostname = <FQDN>
- 시스템 SSL 인증서에 대한 키 쌍을 생성합니다. 고급 연결 모드 구성에서 연결된 여러 vCenter Server 인스턴스를 배포할 때 각 vCenter Server 노드에서 이 명령을 실행합니다.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=ssl-key.priv --pubkey=ssl-key.pub
ssl-key.priv 및 ssl-key.pub 파일이 현재 디렉토리에 생성됩니다.
- 새 시스템 SSL 인증서를 생성합니다. 이 인증서는 VMCA에 의해 서명됩니다. VMCA 루트 인증서를 사용자 지정 인증서로 교체한 경우 VMCA가 전체 체인을 사용하여 모든 인증서에 서명합니다.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg
new-vmca-ssl.crt 파일이 현재 디렉토리에 생성됩니다.
- (선택 사항) VECS의 내용을 나열합니다.
/usr/lib/vmware-vmafd/bin/vecs-cli store list
- vCenter Server의 샘플 출력:
output (on vCenter): MACHINE_SSL_CERT TRUSTED_ROOTS TRUSTED_ROOT_CRLS machine vsphere-webclient vpxd vpxd-extension hvc data-encipherment APPLMGMT_PASSWORD SMS wcp KMS_ENCRYPTION
- vCenter Server의 샘플 출력:
- VECS의 시스템 SSL 인증서를 새로운 시스템 SSL 인증서로 교체합니다. --store 및 --alias 값은 기본 이름과 정확하게 일치해야 합니다.
- 각 vCenter Server에서 다음 명령을 실행하여 MACHINE_SSL_CERT 저장소의 시스템 SSL 인증서를 업데이트합니다. FQDN이 서로 다르므로 각 시스템용 인증서를 개별적으로 업데이트해야 합니다.
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert new-vmca-ssl.crt --key ssl-key.priv
- 각 vCenter Server에서 다음 명령을 실행하여 MACHINE_SSL_CERT 저장소의 시스템 SSL 인증서를 업데이트합니다. FQDN이 서로 다르므로 각 시스템용 인증서를 개별적으로 업데이트해야 합니다.
CLI를 사용하여 솔루션 사용자 인증서 교체(중간 CA)
시스템 SSL 인증서를 교체한 후에는 CLI를 사용하여 솔루션 사용자 인증서를 교체할 수 있습니다.
- 인증서는 프록시 뒤에 있는 인증서이거나, 사용자 지정 인증서입니다.
- 중간 CA는 사용되지 않습니다.
각 vCenter Server 시스템에서 시스템 솔루션 사용자 인증서와 솔루션 사용자 인증서를 교체합니다.
사전 요구 사항
각 솔루션 사용자 인증서마다 Subject가 서로 달라야 합니다. 예를 들어 솔루션 사용자 이름(예: vpxd) 또는 다른 고유한 ID를 포함하는 것을 고려하십시오.
프로시저
예: 솔루션 사용자 인증서 교체(중간 CA)
- 고급 연결 모드 구성에서 각 vCenter Server 노드의 솔루션 사용자 각각에 대해 공개/개인 키 쌍을 생성합니다. 여기에는 시스템 솔루션에 대한 쌍과 각 추가 솔루션 사용자(vpxd, vpxd-extension, vsphere-webclient, wcp)에 대한 쌍이 포함됩니다.
- 시스템 솔루션 사용자에 대한 키 쌍을 생성합니다.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=machine-key.priv --pubkey=machine-key.pub
- 각 노드에서 vpxd 솔루션 사용자에 대한 키 쌍을 생성합니다.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vpxd-key.priv --pubkey=vpxd-key.pub
- 각 노드에서 vpxd-extension 솔루션 사용자에 대한 키 쌍을 생성합니다.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vpxd-extension-key.priv --pubkey=vpxd-extension-key.pub
- 각 노드에서 vsphere-webclient 솔루션 사용자에 대한 키 쌍을 생성합니다.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vsphere-webclient-key.priv --pubkey=vsphere-webclient-key.pub
- 각 노드에서 wcp 솔루션 사용자에 대한 키 쌍을 생성합니다.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=wcp-key.priv --pubkey=wcp-key.pub
- 시스템 솔루션 사용자에 대한 키 쌍을 생성합니다.
- 각 vCenter Server 노드의 시스템 솔루션 사용자 및 각 추가 솔루션 사용자(vpxd, vpxd-extension, vsphere-webclient, wcp)에 대해 새 VMCA 루트 인증서로 서명된 솔루션 사용자 인증서를 생성합니다.
참고: --Name 매개 변수는 고유해야 합니다. 솔루션 사용자 저장소의 이름을 포함하면 각 인증서가 어느 솔루션 사용자에게 매핑되는지 쉽게 확인할 수 있습니다. 이 예제에서는 각각에 vpxd 또는 vpxd-extension 같은 이름이 포함됩니다.
- /usr/lib/vmware-vmca/share/config/certool.cfg 파일의 복사본 하나를 만든 다음, 필요에 따라 이름, IP 주소, DNS 이름 및 이메일 필드를 수정하거나 제거하고 파일 이름을 바꿉니다(예: sol_usr.cfg).
- 각 노드에서 시스템 솔루션 사용자용 인증서를 생성합니다.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-machine.crt --privkey=machine-key.priv --Name=machine --config sol_usr.cfg
- 각 노드에서 vpxd 솔루션 사용자용 인증서를 생성합니다.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vpxd.crt --privkey=vpxd-key.priv --Name=vpxd --config sol_usr.cfg
- 각 노드에서 vpxd-extensions 솔루션 사용자용 인증서를 생성합니다.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vpxd-extension.crt --privkey=vpxd-extension-key.priv --Name=vpxd-extension --config sol_usr.cfg
- 다음 명령을 실행하여 각 노드에서 vsphere-webclient 솔루션 사용자용 인증서를 생성합니다.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vsphere-webclient.crt --privkey=vsphere-webclient-key.priv --Name=vsphere-webclient --config sol_usr.cfg
- 다음 명령을 실행하여 각 노드에서 wcp 솔루션 사용자의 인증서를 생성합니다.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-wcp.crt --privkey=wcp-key.priv --Name=wcp --config sol_usr.cfg
- VECS의 솔루션 사용자 인증서를 새 솔루션 사용자 인증서로 교체합니다.
참고: --store 및 --alias 매개 변수는 서비스의 기본 이름과 정확하게 일치해야 합니다.
- 각 노드에서 시스템 솔루션 사용자 인증서를 교체합니다.
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store machine --alias machine /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store machine --alias machine --cert new-machine.crt --key machine-key.priv
- 각 노드에서 vpxd 솔루션 사용자 인증서를 교체합니다.
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store vpxd --alias vpxd /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store vpxd --alias vpxd --cert new-vpxd.crt --key vpxd-key.priv
- 각 노드에서 vpxd-extension 솔루션 사용자 인증서를 교체합니다.
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store vpxd-extension --alias vpxd-extension /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store vpxd-extension --alias vpxd-extension --cert new-vpxd-extension.crt --key vpxd-extension-key.priv
- 각 노드에서 vsphere-webclient 솔루션 사용자 인증서를 교체합니다.
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store vsphere-webclient --alias vsphere-webclient /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store vsphere-webclient --alias vsphere-webclient --cert new-vsphere-webclient.crt --key vsphere-webclient-key.priv
- 각 노드에서 wcp 솔루션 사용자 인증서를 교체합니다.
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store wcp --alias wcp /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store wcp --alias wcp --cert new-wcp.crt --key wcp-key.priv
- 각 노드에서 시스템 솔루션 사용자 인증서를 교체합니다.
- VMware 디렉토리 서비스(vmdir)를 새 솔루션 사용자 인증서로 업데이트합니다. vCenter Single Sign-On 관리자 암호를 묻는 메시지가 나타납니다.
- /usr/lib/vmware-vmafd/bin/dir-cli service list를 실행하여 각 솔루션 사용자에 대한 고유한 서비스 ID 접미사를 가져옵니다. 이 명령은 vCenter Server 시스템에서 실행합니다.
/usr/lib/vmware-vmafd/bin/dir-cli service list output: 1. machine-623bef28-0311-436e-b21f-6e0d39aa5179 2. vsphere-webclient-623bef28-0311-436e-b21f-6e0d39aa5179 3. vpxd-623bef28-0311-436e-b21f-6e0d39aa5179 4. vpxd-extension-623bef28-0311-436e-b21f-6e0d39aa5179 5. hvc-623bef28-0311-436e-b21f-6e0d39aa5179 6. wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e
참고: 대규모 배포의 솔루션 사용자 인증서를 나열할 경우 /usr/lib/vmware-vmafd/bin/dir-cli list의 출력에는 모든 노드의 모든 솔루션 사용자가 포함됩니다. 각 호스트의 로컬 시스템 ID를 찾으려면 /usr/lib/vmware-vmafd/bin/vmafd-cli get-machine-id --server-name localhost를 실행하십시오. 각 솔루션 사용자 이름에 시스템 ID가 포함되어 있습니다. - 각 vCenter Server 노드에서 vmdir의 시스템 인증서를 교체합니다. 예를 들어 machine-6fd7f140-60a9-11e4-9e28-005056895a69가 vCenter Server의 시스템 솔루션 사용자인 경우 이 명령을 실행하십시오.
/usr/lib/vmware-vmafd/bin/dir-cli service update --name machine-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-machine.crt
- 각 노드에서 vmdir의 vpxd 솔루션 사용자 인증서를 교체합니다. 예를 들어 vpxd-6fd7f140-60a9-11e4-9e28-005056895a69가 vpxd 솔루션 사용자 ID인 경우 이 명령을 실행하십시오.
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd.crt
- 각 노드에서 vmdir의 vpxd-extension 솔루션 사용자 인증서를 교체합니다. 예를 들어 vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69가 vpxd-extension 솔루션 사용자 ID인 경우 이 명령을 실행하십시오.
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd-extension.crt
- 각 노드에서 vsphere-webclient 솔루션 사용자 인증서를 교체합니다. 예를 들어 vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69가 vsphere-webclient 솔루션 사용자 ID인 경우 이 명령을 실행하십시오.
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vsphere-webclient.crt
- 각 노드에서 wcp 솔루션 사용자 인증서를 교체합니다. 예를 들어 wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e이 wcp 솔루션 사용자 ID이면 다음 명령을 실행합니다.
/usr/lib/vmware-vmafd/bin/dir-cli service update --name wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e --cert new-wcp.crt
- /usr/lib/vmware-vmafd/bin/dir-cli service list를 실행하여 각 솔루션 사용자에 대한 고유한 서비스 ID 접미사를 가져옵니다. 이 명령은 vCenter Server 시스템에서 실행합니다.