Stisknutím tlačítka "Enter" přeskočíte na obsah

Nastavení vCenter PSC jako intermediate autority

Od verze vSphere 6.0, resp vCentru, je součástí Platform Services Controlleru i certifikační autorita. Ta vydává certifikáty pro všechny připojené služby (ESX hosty, WebClienta, …) a stará se i o jejich renewal.

Oproti verzím předchozím, kdy jste museli všechny certifikáty generovat ručně, se tímto velmi zjednodušuje práce s certifikáty. Tím i bezpečnost prostředí, pokud potřebujete mít všechnu komunikaci v prostředí korektně šifrovanou a zabezpečenou.

Celý postup si ukážeme v několika krocích:

  1. nejprve je třeba vytvořit šablonu v CA pro certifikát použitý pro Intermediate CA. Já jsem použil Microsoft CA
    1. Nejjednodušší jak se dostat ke správě šablon je příkazem: certtmpl.msc
    2. Uděláme si duplikát šablony Subordinate Certification Authority
    3. Kvůli zpětné kompatibilitě Win2003
    4. Pojmenujeme Template, zkontrolujeme dobu platnosti (musí být delší než na jakou budeme vystavovat certifikáty), a vypublikování do AD
    5. V rámci záložky Extensions zkontrolujeme účely použití
  2. Vypublikovat šablonu pro Enrollment
    1. spustíme si certificate manager opět příkazem: certsrv.msc
    2. Přidáme novou šablonu, abychom ji mohli použít

  3. Nyní můžeme vygenerovat Certificate Signing Request
    1. přihlásíte se na vCenter server přes SSH, nebo konzoli. Dále je třeba spustit certification manager
      /usr/lib/vmware-vmca/bin/certificate-manager
    2. V rámci certification Manageru zvolíme volbu 2 pro vygenerování Certificate Signing Requestu (CSR). Musíte zadat uživatele a heslo, který má oprávnění k certifikační autoritě. Běžně je to uživatel Administrator@vsphere.local. Pak vyplníme jednotlivé položky certifikátu.

    3. Poslední krok v certification manageru je vygenerování klíče a CSR do souboru (volba 1). Zde zadáme cestu, kam se mají soubory uložit.
    4. CSR soubor nyní musíme stáhnout a nechat podepsat certifikační autoritou.
      Já k tomu použil WinSCP. Pokud jste ale nezměnili default shell, tak je třeba jej změnit na bash, jinak se vám objeví následující hláška.
      Přihlásit se přes SSH na vCenter server, přepnout se do bashe a nastavit bash jako default

      shell
      chsh
      /bin/bash

    5. Nyní je třeba stažený Certificate Signing Request (CSR) podepsat certifikační autoritou. Pokud použijete Windows CA, tak je možno z windows stanice certifikát podepsat i z příkazové řádky. Parametr CertificateTemplate je ten, který jsme si vytvářeli o několik kroků výše, soubor .csr je ten, co jsme si stáhli z vCenter.
      certreq.exe -attrib "CertificateTemplate:vSphere6.xVMCA" -submit .\vmca_issued_csr.csr

      Vygenerovaný certifikát můžeme přes WinSCP nakopírovat zpět a nesmíme zapomenout i na RootCA certifikát, který si stáhneme z certifikační autority.

  4. A teď už certifikát vložíme do vCSA
    1. Musíme certifikáty spojit do jednoho, protože je potřeba, aby tam byl zmíněn celý řetězec certifikátů až po kořenovou certifikační autoritu. První je certifikát samotný a pak postupně všechny až po kořenovou autoritu, která bude až úplně na konci.
    2. Opět spustíme certificate-manager, tentokrát ale nebudeme již generovat CSR, ale budeme pokračovat v importu
    3. Poté už by mělo vše projít bez problémů, všechny certifikáty by měly být vyměněny a vy byste se měli kochat korektně zabezpečeným spojením.

NOTE:

Když jsem aktualizoval certifikáty ve svém prostředí, stala se mi chyba.

V logu cat /var/log/vmware/vmcad/certificate-manager.log bylo vidět následující:

2019-03-28T15:41:15.269Z INFO certificate-manager lstool command currently being executed is : ['/usr/java/jre-vmware/bin/java', '-Djava.security.properties=/etc/vmware/java/vmware-override-java.security', '-cp', '/usr/lib/vmidentity/tools/lib/lookup-client.jar:/usr/lib/vmidentity/tools/lib/*', '-Dlog4j.configuration=tool-log4j.properties', 'com.vmware.vim.lookup.client.tool.LsTool', 'get', '--no-check-cert', '--url', 'https://sa-vcsa-01.vclass.local/lookupservice/sdk', '--id', '79e1822f-b6fe-4327-8cc9-484dd91af28e_com.netapp.nvpf.webclient', '--as-spec']
2019-03-28T15:41:16.517Z ERROR certificate-manager 'lstool get' failed: 1
2019-03-28T15:41:16.518Z INFO certificate-manager Error while reverting certificate for store : MACHINE_SSL_CERT
2019-03-28T15:41:16.518Z ERROR certificate-manager Error while performing rollback operation, please try Reset operation...
2019-03-28T15:41:16.518Z ERROR certificate-manager please see /var/log/vmware/vmcad/certificate-manager.log for more information.

Dlouho jsem hledal v čem může být problém. Nakonec jsem postupoval následovně:

Poslední certifikát, který se snažil získat byl pro službu ’79e1822f-b6fe-4327-8cc9-484dd91af28e_com.netapp.nvpf.webclient

Obdebral jsem tedy tuto extension přes MOB viz https://kb.vmware.com/s/article/1025360

Jakmile jsem odebral tuto extension, tak všechno už prošlo bez problémů.

Zdroj: https://kb.vmware.com/kb/2112009