Depois de substituir os certificados SSL da máquina, você pode substituir os certificados de usuário da solução.

Muitos clientes do VMware não substituem os certificados de usuário da solução. Eles substituem apenas os certificados SSL da máquina por certificados personalizados. Essa abordagem híbrida atende aos requisitos de suas equipes de segurança.
  • Os certificados ficam atrás de um proxy ou são certificados personalizados.
  • Nenhuma autoridade de certificação intermediária é usada.

Você substitui o certificado de usuário de solução de máquina e o certificado de usuário de solução em cada sistema do vCenter Server.

Observação: Quando você lista certificados de usuário de solução em implantações grandes, a saída de dir-cli list inclui todos os usuários de 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.

Pré-requisitos

Cada certificado de usuário de 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

  1. Faça uma cópia de certool.cfg , remova os campos Nome, endereço IP, nome DNS e e-mail e renomeie o arquivo, por exemplo, para sol_usr.cfg .
    Você pode nomear os certificados da linha de comando como parte da geração. As outras informações não são necessárias para os usuários da solução. Se você deixar as informações padrão, os certificados gerados serão potencialmente confusos.
  2. Gere um par de arquivos de chave pública / privada e um certificado para cada usuário da solução, passando o arquivo de configuração que você acabou de personalizar.
    Por exemplo:
    certool --genkey --privkey=vpxd.priv --pubkey=vpxd.pub
    certool --gencert --privkey=vpxd.priv --cert vpxd.crt --Name=VPXD_1 --config sol_usr.cfg
  3. Encontre o nome de cada usuário da solução.
    dir-cli service list 
    
    Você pode usar o ID exclusivo que é retornado quando você substitui os certificados. A entrada e a saída podem ter a seguinte aparência.
    dir-cli service list
    Enter password for [email protected]:
    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
    Em uma implantação de várias instâncias de vCenter Server conectadas na configuração do Modo vinculado aprimorado, a saída de dir-cli service 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.
  4. Pare todos os serviços e inicie os serviços que lidam com a criação, a propagação e o armazenamento de certificados.
    service-control --stop --all
    service-control --start vmafdd
    service-control --start vmdird
    service-control --start vmcad
    
  5. Substitua o certificado existente no vmdir e, em seguida, no VECS.
    Para usuários da solução, você deve adicionar os certificados nessa ordem. Por exemplo:
    dir-cli service update --name <vpxd-xxxx-xxx-7c7b769cd9f4> --cert ./vpxd.crt
    vecs-cli entry delete --store vpxd --alias vpxd
    vecs-cli entry create --store vpxd --alias vpxd --cert vpxd.crt --key vpxd.priv
    
    Observação: Os usuários da solução não poderão fazer login em vCenter Single Sign-On se você não substituir o certificado no vmdir.
  6. Reinicie todos os serviços.
    service-control --start --all
    

Exemplo: Substituindo certificados de usuário de solução (CA intermediária)

  1. Gere um par de chaves pública / privada para cada usuário da solução em cada nó do vCenter Server em uma configuração de modo vinculado aprimorado. 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).
    1. Gere um par de chaves para o usuário da solução da máquina.
      /usr/lib/vmware-vmca/bin/certool --genkey --privkey=machine-key.priv --pubkey=machine-key.pub
      
    2. 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
    3. 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
    4. 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
    5. 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
  2. Gere certificados de usuário de solução que são assinados pelo novo certificado raiz VMCA para o usuário de solução de máquina e para cada usuário de solução adicional (vpxd, vpxd-extension, vsphere-webclient, wcp) em cada nó vCenter Server.
    Observação: O parâmetro --Name deve ser exclusivo. Incluir o nome do repositório de usuários da solução facilita a visualização de qual certificado mapeia para qual usuário de solução. O exemplo inclui o nome, por exemplo vpxd ou vpxd-extension em cada caso.
    1. Execute o seguinte comando para gerar um certificado de usuário de solução para o usuário de solução de máquina nesse nó.
      /usr/lib/vmware-vmca/bin/certool --gencert --cert=new-machine.crt --privkey=machine-key.priv --Name=machine 
      
    2. 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
    3. 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
      
    4. 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
    5. 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
    6. Gere um certificado para o usuário da solução wcp em cada nó executando os seguintes comandos.
      /usr/lib/vmware-vmca/bin/certool --gencert --cert=new-wcp.crt --privkey=wcp-key.priv --Name=wcp
  3. 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 devem corresponder exatamente aos nomes padrão dos serviços.
    1. Substitua o certificado de usuário da solução de 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-vc.crt --key machine-vc-key.priv
      
    2. 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
      
    3. 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
      
    4. Substitua o certificado de usuário da solução vsphere-webclient 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
      
    5. Substitua o certificado de 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
      
  4. Atualize o VMware Directory Service (vmdir) com os novos certificados de usuário da solução. Será solicitada uma senha de administrador do vCenter Single Sign-On.
    1. Execute dir-cli service list para obter o sufixo de ID de serviço exclusivo para cada usuário da solução. Você executa este comando em um sistema do 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 certificados de usuário de solução em implantações grandes, a saída de dir-cli list inclui todos os usuários de 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.
    2. 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-2.crt
    3. Substitua o certificado de usuário da solução vpxd no vmdir em cada nó. Por exemplo, se vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 for o ID do 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
    4. 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
      
    5. Substitua o certificado de usuário da solução vsphere-webclient em cada nó. Por exemplo, se vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 for o ID do 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
      
    6. Substitua o certificado de 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