Como alterar certificados para pacotes VMware Vcenter Server, Replication Server e Site Recovery Manager

Olá!



Qualquer pessoa que usa produtos VMware sabe ou não sabe que a emissão de um certificado pode causar muita dor e sofrimento. Portanto, para não pisar nesse rake, vou mostrar como fazer e alterar certificados para produtos como:



  • VMware Vcenter Server 6.7
  • Servidor de replicação VMware 8.3
  • VMware Site Recovery Manager 8.3


Para isso, precisamos:



  • Certificados
  • Massa
  • Um pouco de paciência


Preparando certificados, usarei um servidor Windows 2019 comum com a função de Serviço de Certificados do Active Directory e openssl v1.1.1h.



Você pode baixá-lo aqui



1. Criação de certificados



Usarei um servidor local para emitir certificados, mas este método é adequado para emitir certificados e em sites comerciais.



Vamos preparar solicitações para a autoridade de certificação.



Dei nomes como FQDNs:



  • O Vcenter Server é denominado vc.home.local e ip 192.168.233.11
  • Servidor de replicação VMware que nomeei como vr.home.local e ip 192.168.233.12
  • VMware Site Recovery Manage also srm.home.local e ip 192.168.233.13


Para esses nomes, prepararemos solicitações e chaves privadas no programa openssl . Para isso, faremos um pequeno arquivo de configuração vc.cfg com o conteúdo. A seguir, para cada novo servidor, alterarei o conteúdo deste arquivo substituindo os nomes dos servidores e endereços IP:



[req]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[req_distinguished_name]
countryName = RU
stateOrProvinceName = RO
localityName = RnD
organizationName = HOME
commonName = vc.home.local ()
emailAddress = root@home.local
[v3_req]
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment, keyAgreement
subjectAltName = @alt_names
[alt_names]
DNS.1 = vc.home.local ()
IP.2 = 192.168.233.11 ()


Em seguida, use o openssl



1.1 Do vc.home.local



openssl req -batch -new -newkey rsa:2048 -nodes -keyout vc.home.local.key -out vc.home.local.req -config vc.cfg


1.2 Altere os nomes e ip do servidor em vc.cfg e libere a chave e solicite vr.home.local



openssl req -batch -new -newkey rsa:2048 -nodes -keyout vr.home.local.key -out vr.home.local.req -config vc.cfg


1.3 Altere os nomes e ip do servidor em vc.cfg e libere a chave e solicite srm.home.local



openssl req -batch -new -newkey rsa:2048 -nodes -keyout srm.home.local.key -out srm.home.local.req -config vc.cfg


1.4 Além disso, você precisa de certificados para serviços vcenter (vpxd, vsphere-webclient, vpxd-extension),

nós os fazemos com o comando:



openssl req -new -newkey rsa:2048 -nodes -keyout vpxd.key -out vpxd.req


Entraremos em um pequeno assistente, onde inseriremos informações sobre nós ou sobre a empresa. Certifique-se de escrever o nome do serviço no campo "Nome comum". Repetimos o procedimento para os demais serviços. Como resultado, obtemos uma chave privada e uma solicitação de certificado.







Gerando uma chave e um pedido de certificado



Agora que todas as solicitações e chaves estão prontas, vamos começar a emitir um certificado. Vá para o centro de emissão de certificados. Inicie o console da Autoridade de Certificação .







Em seguida, clique com o botão direito (pkm) na raiz do servidor e selecione emitir uma nova solicitação.







Selecionamos nosso arquivo de solicitação, com a extensão req.



para o menu Solicitações Pendentes . Se estiver vazio, pressione F5 e a janela será atualizada. Em seguida, pressione pkm e selecione Problema:







Em seguida, vá para o menu Certificados emitidos e abra nosso certificado.







Em seguida, precisamos salvá-lo no disco. Para fazer isso, vá para a guia Composição e clique no botão Copiar para arquivo... A seguir, um assistente aparecerá para salvar os arquivos, precisamos selecionar Base64 e o nome do arquivo neste caso vpxd.crt:







Salvando o certificado.



Repetimos o procedimento de emissão para todos os nossos certificados /



Ainda precisamos de um certificado raiz. Para fazer isso, abra qualquer certificado, vá para a guia Caminho de certificação , selecione nosso certificado raiz e clique no botão Exibir certificado. Além disso, também o salvaremos como todos os anteriores.







E isso não é tudo para VMware Replication Server e VMware Site Recovery Manager. Precisamos de um certificado e um contêiner de chave. arquivo pfx, é muito fácil de fazer, precisamos das chaves privadas e do arquivo de certificado:



openssl pkcs12 -export -out vr.home.local.pfx -inkey vr.home.local.key -in vr.home.local.crt


O OpenSSL pede uma senha, vem com uma senha e na saída obtemos o arquivo desejado.

Isso conclui a criação de certificados e prossegue para sua instalação.



2. Vamos começar a mudar com o Vcenter



Para fazer isso, vamos para a seção de administração e vá para a seção de certificados . Faça login como administrador.







Seção para gerenciamento de certificados.



Em seguida, uma vez no painel de controle, em primeiro lugar, adicione um certificado raiz ou Certificados raiz confiáveis. Vá até o final e pressione ADICIONAR. Selecionamos nosso certificado ca.crt







Adicionar certificados raiz confiáveis ​​A



seguir, alteramos os certificados atuais através do item de menu Substituir:







Selecione os certificados que criamos para vcenter:

Para serviços, selecionamos os certificados dos serviços criados no parágrafo 1.4



Para certificados __MACHINE_CERT e certificado de máquina vc.home.local, criado no parágrafo 1.1







Substituímos todos os certificados que estão disponíveis para nós no painel de controle. Se você tiver uma

configuração que não contenha os componentes do VMware Replication Server e VMware Site Recovery Manager, poderá acabar com isso e aproveitar o VCentre após reiniciar o servidor. Se você estiver usando um servidor autônomo para emitir certificados, aconselho a fazer certificados por 10 anos ou mais. Se você comprar, observe as circunstâncias.



Para o reconhecimento correto dos certificados por seus navegadores, você precisa instalar o certificado raiz no armazenamento de certificados do sistema operacional.



3. Altere o certificado no servidor de replicação VMware



Vamos começar com o fato de que você precisa instalar um certificado raiz no servidor vr, porque ele não está na interface da web padrão. Para fazer isso, precisamos fazer login no servidor via ssh, mas ele está desabilitado por padrão. Vamos ligar. Abra o console da máquina virtual e faça login como root.

Ativamos o servidor ssh.



/usr/bin/enable-sshd.sh


Depois disso, você pode se conectar ao servidor via putty.



Todos os certificados de ca raiz estão no contêiner jks ao longo do caminho /opt/vmware/hms/security/hms-truststore.jks



Mas o contêiner tem uma senha, vamos descobri-la com o comando:



/opt/vmware/hms/bin/hms-configtool -cmd list | grep keystore


A seguir, salvamos nosso ca.crt no servidor, normalmente faço isso através de editores de texto, no computador local abro o certificado com um notepad e copio para a área de transferência, na máquina remota usando o editor vi colo e salvo. Depois disso, podemos gravar nosso certificado no contêiner com o comando:



/usr/java/default/bin/keytool -import -trustcacerts -alias root -file /root/ca.crt -keystore /opt/vmware/hms/security/hms-truststore.jks -storepass     


Então dizemos sim ao pedido de adição . É isso, adicionamos com sucesso nosso certificado raiz.



Vamos para o painel de controle do servidor em vr.home.local : 5480



Vá para a guia Configuration , o campo Upload PKCS12 (* .pfx) file ,

selecione nosso arquivo pfx. clique em upload e instale a







configuração do servidor vr.



Depois de reiniciar o servidor web e fazer o login, tentamos salvar a configuração com o botão Salvar e reiniciar serviço:







E obtemos um erro:



Unhandled exception com.vmware.vim.vmomi.client.exception.SslException: javax.net.ssl.SSLException: Certificate thumbprint mismatch, expected:


O servidor informa que as impressões dos certificados dos serviços no centro não correspondem.



Abra o putty e conecte-se ao nosso centro vc.home.local. Inicie o



bash com o comando shell:







Mude para o diretório:



cd /usr/lib/vmidentity/tools/scripts/


E observamos o status deste serviço:



./lstool.py list --url https://localhost/lookupservice/sdk --no-check-cert --ep-type com.vmware.cis.cs.identity.sso 2>/dev/null






Se você abrir nosso certificado vc.home.local.crt em um editor de texto e comparar, verá que os certificados são diferentes. O fato é que a interface da web no centro não altera todos os certificados.



Copiamos o conteúdo do certificado no arquivo /tmp/old.crt, não se esqueça de que o conteúdo do certificado deve estar entre as marcas ----- BEGIN CERTIFICATE ----- e ----- END CERTIFICATE -----



Deve ser semelhante a isto :







Agora, abra nosso novo certificado no centro vc.home.local.crt em um editor de texto

e copie-o para vc no arquivo /tmp/new.crt



Em seguida, descubra o hash sha1 do arquivo /tmp/old.crt, você precisará dele lá para substituir os certificados antigos por Novo.



openssl x509 -in /tmp/old.crt -noout -fingerprint -sha1


Em seguida, execute o script de substituição:



./ls_update_certs.py --url https://vc.home.local/lookupservice/sdk --fingerprint 86:0D:BB:--- ----:C7:0E:D1:3E:17:39 --certfile /tmp/new.crt --user administrator@home.local --password 


No final do script, o relatório conterá o número de certificados substituídos.



Depois disso, vá para vr.home.local: 5480 e salve a configuração. Se você fez tudo corretamente, o servidor deve salvar com êxito a configuração e iniciar o serviço de vr do servidor.







3. Substituindo o certificado pelo VMware Site Recovery Manage



Neste servidor, tudo é feito a partir da interface web no menu Certificado .



Vamos para o painel administrativo srm.home.local : 5480



  1. Adicione nosso ca raiz com o botão ADD
  2. Altere o certificado atual com o botão ALTERAR







Isso conclui a mudança de todos os certificados.



Obrigado a todos!



All Articles