Você pode usar a CLI para substituir o certificado raiz da VMCA por um certificado assinado por uma autoridade de certificação de terceiros que inclua a VMCA na cadeia de certificados. No futuro, todos os certificados gerados pela VMCA incluem a cadeia completa. Você pode substituir certificados existentes por certificados recém-gerados.
Se você usar a VMCA como uma CA intermediária ou usar certificados personalizados, poderá encontrar uma complexidade significativa e o potencial de um impacto negativo na sua segurança e um aumento desnecessário no seu risco operacional. Para obter mais informações sobre o gerenciamento de certificados em um ambiente vSphere, consulte a postagem do blog intitulada Detonado sobre o novo produto - Substituição de certificado SSL híbrido vSphere em http://vmware.com/go/hybridvmca .
Substituir o certificado raiz (CA intermediária) usando a CLI
A primeira etapa para substituir os certificados VMCA por certificados personalizados é gerar uma CSR e enviá-la para ser assinada. Em seguida, use a CLI para adicionar o certificado assinado à VMCA como um certificado raiz.
Você pode usar o utilitário Certificate Manager ou outra ferramenta para gerar a CSR. O CSR deve atender aos seguintes requisitos:
- Tamanho da chave: 2.048 bits (mínimo) a 16.384 bits (máximo) (codificado por PEM)
- Formato PEM. VMware é compatível com PKCS8 e PKCS1 (chaves RSA). Quando chaves são adicionadas ao VECS, elas são convertidas em PKCS8.
- x509 versão 3
- A extensão de CA deve ser definida como true para certificados raiz, e o sinal de certificado deve estar na lista de requisitos. Por exemplo:
basicConstraints = critical,CA:true keyUsage = critical,digitalSignature,keyCertSign
- A assinatura da CRL deve estar habilitada.
- O Uso Estendido de Chave pode estar vazio ou conter Autenticação do Servidor.
- Nenhum limite explícito para o comprimento da cadeia de certificados. A VMCA usa o padrão OpenSSL, que é de 10 certificados.
- Certificados com caracteres curinga ou com mais de um nome DNS não são compatíveis.
- Você não pode criar ACs subsidiárias da VMCA.
Consulte o artigo da base de conhecimento VMware em http://kb.vmware.com/kb/2112009, Criando um modelo de autoridade de certificação da Microsoft para a criação de certificado SSL no vSphere 6.x, para obter um exemplo usando a Autoridade de Certificação Microsoft.
- Tamanho da chave: 2048 bits (mínimo) a 16384 bits (máximo)
- Uso da chave: Cert Sign
- Restrição básica: Tipo de entidade CA
Procedimento
Exemplo: Substituindo o certificado raiz
Substitua o certificado raiz da VMCA pelo certificado raiz da CA personalizado usando o comando certool com a opção --rootca.
/usr/lib/vmware-vmca/bin/certool --rootca --cert=<path>/root.pem -–privkey=<path>/root.key
- Adiciona o novo certificado raiz personalizado ao local do certificado no sistema de arquivos.
- Anexa o certificado raiz personalizado ao repositório TRUSTED_ROOTS no VECS.
- Adiciona o certificado raiz personalizado ao vmdir.
O que Fazer Depois
Você poderá remover o certificado raiz original da VMCA do repositório de certificados se a política da sua empresa exigir isso. Se fizer isso, será necessário substituir o certificado de assinatura vCenter Single Sign-On. Consulte Substituir um certificado STS vCenter Server usando a linha de comando.
Substituir certificados SSL da máquina (CA intermediária) usando a CLI
Depois de receber o certificado assinado da CA, você pode usar a CLI para torná-lo o certificado raiz da VMCA e substituir todos os certificados SSL da máquina.
Essas etapas são essencialmente as mesmas para substituir por um certificado que usa a VMCA como autoridade de certificação. No entanto, nesse caso, a VMCA assina todos os certificados com a cadeia completa.
Cada máquina deve ter um certificado SSL de máquina para comunicação segura com outros serviços. Quando várias instâncias do vCenter Server estão conectadas na configuração do Modo Vinculado Avançado, você deve executar os comandos de geração de certificado SSL da Máquina em cada nó.
Pré-requisitos
Para cada certificado SSL de máquina, o SubjectAltName deve conter DNS Name=<Machine FQDN>.
Procedimento
Exemplo: Substituindo certificados SSL de máquina (VMCA é autoridade de certificação intermediária)
- Crie um arquivo de configuração para o certificado SSL e salve-o como ssl-config.cfg no diretório atual.
Country = US Name = vmca-<FQDN-example> Organization = VMware OrgUnit = VMware Engineering State = California Locality = Palo Alto Hostname = <FQDN>
- Gere um par de chaves para o certificado SSL da máquina. Em uma implantação de várias instâncias vCenter Server conectadas na configuração do Modo Vinculado Avançado, execute este comando em cada nó vCenter Server.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=ssl-key.priv --pubkey=ssl-key.pub
Os arquivos ssl-key.priv e ssl-key.pub são criados no diretório atual.
- Gere o novo certificado SSL da máquina. Este certificado é assinado pela VMCA. Se você tiver substituído o certificado raiz da VMCA pelo certificado personalizado, a VMCA assinará todos os certificados com a cadeia completa.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg
O arquivo new-vmca-ssl.crt é criado no diretório atual.
- (Opcional) Liste o conteúdo do VECS.
/usr/lib/vmware-vmafd/bin/vecs-cli store list
- Saída de amostra em 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
- Saída de amostra em vCenter Server:
- Substitua o certificado SSL da Máquina no VECS pelo novo certificado SSL da Máquina. Os valores --store e --alias devem corresponder exatamente aos nomes padrão.
- Em cada vCenter Server, execute os seguintes comandos para atualizar o certificado SSL da Máquina no repositório MACHINE_SSL_CERT. Você deve atualizar o certificado para cada máquina separadamente, pois cada uma tem um FQDN diferente.
/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
- Em cada vCenter Server, execute os seguintes comandos para atualizar o certificado SSL da Máquina no repositório MACHINE_SSL_CERT. Você deve atualizar o certificado para cada máquina separadamente, pois cada uma tem um FQDN diferente.
Substituir certificados de usuário da solução (CA intermediária) usando a CLI
Depois de substituir os certificados SSL da máquina, você pode usar a CLI para substituir os certificados de usuário da solução.
- Os certificados ficam atrás de um proxy ou são certificados personalizados.
- Nenhuma autoridade de certificação intermediária é usada.
Substitua o certificado do usuário da solução da máquina e o certificado do usuário da solução em cada sistema vCenter Server.
Pré-requisitos
Cada certificado de usuário da solução deve ter um Subject diferente. Considere, por exemplo, incluir o nome de usuário da solução (como vpxd) ou outro identificador exclusivo.
Procedimento
Exemplo: Substituindo certificados de usuário da solução (CA intermediária)
- Gere um par de chaves pública/privada para cada usuário da solução em cada nó vCenter Server em uma configuração de Modo Vinculado Avançado. Isso inclui um par para a solução de máquina e um par para cada usuário de solução adicional (vpxd, vpxd-extension, vsphere-webclient, wcp).
- Gere um par de chaves para o usuário da solução de máquina.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=machine-key.priv --pubkey=machine-key.pub
- Gere um par de chaves para o usuário da solução vpxd em cada nó.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vpxd-key.priv --pubkey=vpxd-key.pub
- Gere um par de chaves para o usuário da solução vpxd-extension em cada nó.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vpxd-extension-key.priv --pubkey=vpxd-extension-key.pub
- Gere um par de chaves para o usuário da solução vsphere-webclient em cada nó.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vsphere-webclient-key.priv --pubkey=vsphere-webclient-key.pub
- Gere um par de chaves para o usuário da solução wcp em cada nó.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=wcp-key.priv --pubkey=wcp-key.pub
- Gere um par de chaves para o usuário da solução de máquina.
- Gere certificados de usuário da solução assinados pelo novo certificado raiz da VMCA para o usuário da solução da máquina e para cada usuário da solução adicional (vpxd, vpxd-extension, vsphere-webclient, wcp) em cada nó vCenter Server.
Observação: O parâmetro --Name deve ser exclusivo. A inclusão do nome do repositório de usuários da solução facilita a visualização de qual certificado é mapeado para qual usuário da solução. O exemplo inclui o nome, por exemplo, vpxd ou vpxd-extension em cada caso.
- Execute o seguinte comando para gerar um certificado de usuário da solução para o usuário da solução da máquina nesse nó.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-machine.crt --privkey=machine-key.priv --Name=machine
- Gere um certificado para o usuário da solução de máquina em cada nó.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-machine.crt --privkey=machine-key.priv --Name=machine
- Gere um certificado para o usuário da solução vpxd em cada nó.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vpxd.crt --privkey=vpxd-key.priv --Name=vpxd
- Gere um certificado para o usuário da solução vpxd-extensions em cada nó.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vpxd-extension.crt --privkey=vpxd-extension-key.priv --Name=vpxd-extension
- Gere um certificado para o usuário da solução vsphere-webclient em cada nó executando o seguinte comando.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vsphere-webclient.crt --privkey=vsphere-webclient-key.priv --Name=vsphere-webclient
- Gere um certificado para o usuário da solução wcp em cada nó executando os comandos a seguir.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-wcp.crt --privkey=wcp-key.priv --Name=wcp
- Execute o seguinte comando para gerar um certificado de usuário da solução para o usuário da solução da máquina nesse nó.
- Substitua os certificados de usuário da solução no VECS pelos novos certificados de usuário da solução.
Observação: Os parâmetros --store e --alias precisam corresponder exatamente aos nomes padrão dos serviços.
- Substitua o certificado do usuário da solução da máquina em cada nó:
/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
- Substitua o certificado de usuário da solução vpxd em cada nó.
/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
- Substitua o certificado de usuário da solução vpxd-extension em cada nó.
/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
- Substitua o certificado de usuário do vsphere-webclient solution em cada nó.
/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
- Substitua o certificado do usuário da solução wcp em cada nó.
/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
- Substitua o certificado do usuário da solução da máquina em cada nó:
- Atualize o Serviço de Diretório VMware (vmdir) com os novos certificados de usuário da solução. Você será solicitado a fornecer uma senha de administrador vCenter Single Sign-On.
- Execute dir-cli service list para obter o sufixo de ID de serviço exclusivo para cada usuário da solução. Você executa esse comando em um sistema 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
Observação: Quando você lista os certificados de usuário da solução em grandes implantações, a saída de dir-cli list inclui todos os usuários da solução de todos os nós. Execute vmafd-cli get-machine-id --server-name localhost para encontrar a ID da máquina local para cada host. Cada nome de usuário da solução inclui a ID da máquina. - Substitua o certificado da máquina em vmdir em cada nó vCenter Server. Por exemplo, se machine-6fd7f140-60a9-11e4-9e28-005056895a69 for o usuário da solução de máquina no vCenter Server, execute este comando:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name machine-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-machine.crt
- Substitua o certificado de usuário da solução vpxd em vmdir em cada nó. Por exemplo, se vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 for a ID de usuário da solução vpxd, execute este comando:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd.crt
- Substitua o certificado de usuário da solução vpxd-extension no vmdir em cada nó. Por exemplo, se vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 for o ID do usuário da solução vpxd-extension, execute este comando:
/usr/lib/vmware-vmafd/bin/dir-cli update --name vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd-extension.crt
- Substitua o certificado de usuário do vsphere-webclient solution em cada nó. Por exemplo, se vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 for o ID de usuário da solução vsphere-webclient, execute este comando:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vsphere-webclient.crt
- Substitua o certificado do usuário da solução wcp em cada nó. Por exemplo, se wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e for o ID do usuário da solução wcp, execute este comando:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e --cert new-wcp.crt
- Execute dir-cli service list para obter o sufixo de ID de serviço exclusivo para cada usuário da solução. Você executa esse comando em um sistema vCenter Server.