vCenter Serverの証明書変更


vSphere ClientからESXiに接続した際に表示される「セキュリティ警告」画面。20141231_01vSphere Client接続後も、内部的に[VMware VirtualCenter Management Webservices]を利用している画面でポコポコ警告を出してくる。
ESXiの証明書更新に続き、今回はvCenter Serverの証明書更新にスポットを当てる。
vCenter Server がバージョン5.1以降の場合、内部的に複数の証明書が利用されるため、手順は多少複雑になる。

原因

vCenter Serverへの接続情報(ホスト名 or IPアドレス)と、vCenter Serverが使用しているSSL証明書のコモンネームが異なる場合など、証明書の検証が失敗した際に表示される。20141231_02
この証明書はvCenter Server 5.5をインストールした際に、vSphere Web Client用に自動生成されるものである。
コモンネームは[VMware default certificate]であり、これでは証明書検証に成功するはずもない。

解決策

vCenter Serverの証明書変更は、手動で一つずつ証明書を変更する方法と、「SSL Certificate Automation Tool」を利用する方法がある。

手動で変更する場合

「SSL Certificate Automation Tool」を利用する場合

KB2034833を見れば分かるが、手動での証明書変更は複数のKBで構成されており複雑な手順となっている。
今回は、「SSL Certificate Automation Tool」を利用してvCenter Serverの証明書を変更する。

やってみる

【作業環境】
OS:Windows Server 2012R2
vCenter:5.5.0 build-2183111
FQDN:vc01.dozono.net
IPアドレス:10.10.30.40

今回のSSL証明書変更対象は、vCenter Server を Simple Installした際にインストールされる以下の4種とする。
(1)vCenter Single Sign-On
(2)Inventory Service
(3)vCenter Server
(4)vSphere Web Client

【注意事項】
VMware社のKBにも書かれていますが、手順を誤るとvCenter Serverが応答不能となることがあります。
証明書更新前には、必ずvCenter Serverのバックアップ(仮想マシンの場合はスナップショット)を取得してください。

  1. SSL Certificate Automation Tool の展開。
    「SSL Certificate Automation Tool」は、vCenter Server 5.1の場合はMyVMwareより、vCenter Server 5.5の場合はvCenter Serverのインストーラより入手可能である。
    zipファイルで提供されるため、vCenter ServerをインストールしたWindowsサーバに展開する。
  2. CSR(証明書要求)、秘密鍵を作成する。
    「ssl-updater.bat」を実行し、CSRおよび秘密鍵を作成する。
    以下は「vCenter Single Sign-On」の例であるが、同様の手順で「Inventory Service」、「vCenter Server」、「vSphere Web Client」のCSRおよび秘密鍵も作成すること。

    ==================================================================
    Main menuEnter the action you want to run
    1. Plan your steps to update SSL certificates(Update Steps Planner)
    2. Generate Certificate Signing Requests
    3. Update Single Sign-On
    4. Update Inventory Service
    5. Update vCenter Server
    6. Update vCenter Orchestrator(vCO)
    7. Update vSphere Web Client and Log Browser
    8. Update vSphere Update Manager(VUM)
    9. End the update process and exitThe chosen action is: 2 <strong><span style="color: #008000;"># 2キーを入力しEnter。
    </span></strong>==================================================================
    2. Generate Certificate Signing Request for:1. Single Sign-On
    2. Inventory Service
    3. vCenter Server
    4. vCenter Orchestrator
    5. vSphere Web Client
    6. Log Browser
    7. vSphere Update Manager
    8. Other service
    9. Return to the main menuThe chosen service is: 1 <span style="color: #008000;"><strong># 1キーを入力しEnter。</strong></span>
    Enter the Fully Qualified Domain Name of the server (default value is: vc01.dozo
    no.net):<span style="color: #008000;"> <strong># FQDNを指定しEnter。デフォルトでOSのFQDNが取得される。</strong></span>
    ---IP addresses assigned to this server:
    10.10.30.40
    Enter the IP Address of the server (default value is: 10.10.30.40): <span style="color: #008000;"> <strong># IPアドレスを指定しEnter。デフォルトでOSのIPアドレスが取得される。</strong></span>
    Enter the short hostname of the server (default value is: vc01): <span style="color: #008000;"><strong># ホスト名を指定しEnter。デフォルトでOSのホスト名が取得される。</strong></span>
    Enter the 2 letter code of the country: JP <span style="color: #008000;"><strong># 国名を2文字で指定</strong></span>
    Enter the name of the state or province: Tokyo<span style="color: #008000;"> <strong># 都道府県を指定</strong></span>
    Enter the name of the city, locality name: Sumida<span style="color: #008000;"> <strong># 市区町村を指定</strong></span>
    Enter the name of the organization: dozono<span style="color: #008000;"> <strong># 組織名を指定</strong></span>
    Organizational Unit name will be DN of the certificate and has to be unique!
    Enter the name of the organizational unit (default value is: vCenterSSO-vc01): <span style="color: #008000;"><strong># 空Enter。</strong></span>
    Enter the location where the generated CSR will be saved (default value is: "C:\
    ssl-certificate-updater-tool-1308332\requests\vCenterSSO-vc01"): <span style="color: #008000;"><strong># CSR,秘密鍵の出力先を指定しEnter。</strong></span>[2015/01/04 - 2:18:10.14]: Last operation generate CSR for Single Sign-On compl
    eted successfully.[2015/01/04 - 2:18:10.15]: CSR is located here: C:\ssl-certificate-updater-tool
    -1308332\requests\vCenterSSO-vc01
    ==================================================================
  3. CSRが正しく作成できているか確認する。
    # openssl req -in rui.csr -noout -text
    Certificate Request:
     Data:
     Version: 0 (0x0)
     Subject: C=JP, ST=Tokyo, L=Sumida, O=dozono, OU=vCenterSSO-vc01, CN=vc01.dozono.net
     Subject Public Key Info:
     Public Key Algorithm: rsaEncryption
     Public-Key: (2048 bit)
    
    <中略>
    
    X509v3 Subject Alternative Name:
     DNS:vc01, IP Address:10.10.30.40, DNS:vc01.dozono.net
     Signature Algorithm: sha1WithRSAEncryption
    
    <後略>
    
  4. CSRより証明書を発行する。
    (1) 商用CAを用いる場合
    作成したCSRを使用し、商用CAに証明書を申請する。【有料】
    第三者機関の証明が必要なため最もセキュリティは高く、OS標準のルート証明書によりほとんどの証明書が検証可能である。しかし、ESXiやvCenter ServerのManagement Networkは隔離することがVMwareの推奨となっていること、および一般公開する通信ではない事から、商用CAを用いるメリットは薄いと考えられる。

    (2)プライベートCAを用いる場合(自己署名証明書)
    既存システムで利用しているプライベートCAでCSRを署名する。【基本無料、CAの管理者が他社(チーム)の場合を除く】
    KBにはMicrosoft CAを利用する方法が記載されているが、今回はESXiの証明書変更でも利用したOpenSSLで作業する。

    
    # openssl ca -out rui.crt -in rui.csr
    Using configuration from /etc/pki/tls/openssl.cnf
    Enter pass phrase for /etc/pki/CA/private/cakey.pem: # CAのパスワードを入力
    Check that the request matches the signature
    Signature ok
    Certificate Details:
     Serial Number: 17020871593032576623 (0xec3648888e3e6e6f)
     Validity
     Not Before: Jan 3 08:37:29 2015 GMT
     Not After : Jan 3 08:37:29 2016 GMT
     Subject:
     countryName = JP
     stateOrProvinceName = Tokyo
     localityName = Sumida
     organizationName = dozono
     organizationalUnitName = vCenterInventoryService
     commonName = vc01.dozono.net
     X509v3 extensions:
     X509v3 Basic Constraints:
     CA:FALSE
     Netscape Comment:
     OpenSSL Generated Certificate
     X509v3 Subject Key Identifier:
     49:55:23:94:12:2A:B5:44:E8:5C:92:8D:84:7D:7E:EA:93:10:5C:BC
     X509v3 Authority Key Identifier:
     keyid:DC:16:63:91:17:81:2E:B6:C1:4B:D7:80:1D:14:01:B0:E4:02:FA:29
    
    Certificate is to be certified until Jan 3 08:37:29 2016 GMT (365 days)
    Sign the certificate? [y/n]:y # yキーを入力
    
    1 out of 1 certificate requests certified, commit? [y/n]y # yキーを入力
    Write out database with 1 new entries
    Data Base Updated
    # ls
    inventoryservice.cfg rui-orig.key rui.crt rui.csr rui.key
    # 
  5. PEMファイルを作成する。
    作成した証明書と、ルート証明書/中間証明書を結合したPEMファイルを作成する。
    テキストエディタ、もしくは以下のコマンドで証明書を結合する。

    # cat rui.crt <中間証明書> <ルート証明書> > chain.pem
    # cat rui.crt Intermediate.crt root.crt > chain.pem
    

    作成したPEMファイル(chain.pem)はvCenter Serverに配置すること。

  6. SSL Certificate Automation Tool のデフォルト値設定【任意】
    SSL Certificate Automation Toolの設定は「ssl-environment.bat」に記載されている。
    「ssl-environment.bat」を変更することで入力ミスを防止できるため、適宜修正する。
  7. SSL Certificate Automation Toolによる証明書変更手順の確認
    「ssl-updater.bat」を実行し、[Plan your steps to update SSL certificates(Update Steps Planner)] を選択する。

    ==================================================================
    Main menu
    Enter the action you want to run1. Plan your steps to update SSL certificates(Update Steps Planner)
    2. Generate Certificate Signing Requests
    3. Update Single Sign-On
    4. Update Inventory Service
    5. Update vCenter Server
    6. Update vCenter Orchestrator(vCO)
    7. Update vSphere Web Client and Log Browser
    8. Update vSphere Update Manager(VUM)
    9. End the update process and exitThe chosen action is: 1 <strong><span style="color: #008000;"># 1キーを入力しEnter。
    </span></strong>==================================================================
    1. Plan your steps to update SSL certificates(Update Steps Planner)Choose the services you want to update:
    1. Single Sign-On
    2. Inventory Service
    3. vCenter Server
    4. vCenter Orchestrator
    5. vSphere Web Client
    6. Log Browser
    7. vSphere Update Manager
    8. All services(listed above)
    9. Return to the main menuExample:
    To choose the certificate update of Inventory Service,
    vCenter Server and vSphere Web Client you would enter: 2,3,5You chose (enter comma-separated list of numbers):
    

    「Single Sign-On」、「Inventory Service」、「vCenter Server」、「vSphere Web Client」を指定(1,2,3,5)し、Enterキーを押す。

    You chose (enter comma-separated list of numbers): 1,2,3,5 <span style="color: #008000;"><strong># 1,2,3,5 と入力しEnter。</strong></span>
    Input arguments: [1,2,3,5]
    Input service number: 1, name: Single Sign-On
    Input service number: 2, name: Inventory Service
    Input service number: 3, name: vCenter Server
    Input service number: 5, name: Web ClientSelected services: Single Sign-On, Inventory Service, vCenter Server, Web ClientDetailed Plan to follow:1. Go to the machine with Single Sign-On installed and - Update the Single Sign-
    On SSL certificate.&lt;中略&gt;15. Go to the machine with vSphere Update Manager installed and - Update vSphere
    Update Manager trust to vCenter Server.
  8. SSL Certificate Automation Toolによる証明書変更
    「ssl-updater.bat」を再度起動し、手順7で確認した手順に従い証明書を更新する。
    例)1. Go to the machine with Single Sign-On installed and – Update the Single Sign-
    On SSL certificate.

    ==================================================================
    Main menuEnter the action you want to run
    1. Plan your steps to update SSL certificates(Update Steps Planner)
    2. Generate Certificate Signing Requests
    3. Update Single Sign-On
    4. Update Inventory Service
    5. Update vCenter Server
    6. Update vCenter Orchestrator(vCO)
    7. Update vSphere Web Client and Log Browser
    8. Update vSphere Update Manager(VUM)
    9. End the update process and exitThe chosen action is: 3 <span style="color: #008000;"><strong># 3 と入力しEnter。
    </strong></span>==================================================================
    3. Update the Single Sign-On SSL Certificate1. Update the Single Sign-On SSL Certificate
    2. Rollback to the previous Single Sign-On SSL Certificate
    3. Return to the main menu to update other servicesThe chosen service is: 1
    [2015/01/04 - 4:13:35.46]: The services that are restarted as a part of this op
    eration are: vCenter Single Sign-On (if it is stopped it won't be started).
    Enter location to the new Single Sign-On SSL chain: C:\
    ssl-certificate-updater-tool-1308332\requests\vCenterSSO-vc01\chain.pem <span style="color: #008000;"><strong># PEMファイルのパスを入力しEnter。</strong></span>
    Enter location to the new Single Sign-On private key: C:\
    ssl-certificate-updater-tool-1308332\requests\vCenterSSO-vc01\rui.key <span style="color: #008000;"><strong># 秘密鍵ファイルのパスを入力しEnter。</strong></span>
    Enter Single Sign-On Administrator user: vsphere.local\administrator <span style="color: #008000;"><strong># 管理者アカウント名を入力しEnter。</strong></span>
    Enter Single Sign-On Administrator password (will not be echoed): <span style="color: #008000;"><strong># 管理者アカウントのパスワードを入力しEnter。</strong></span>
    Do you have a load balancer installed? (yes/no) (default value is: n): n <span style="color: #008000;"><strong># vCenter SSOが高可用性構成の場合はyes、シングル構成の場合はnを入力しEnter。</strong></span>
    [.] Beginning certificate replacement procedure for Single Sign-On.&lt;中略&gt;[2015/01/04 - 4:14:44.66]: Last operation update Single Sign-On SSL certificate
    completed successfully.
    [2015/01/04 - 4:14:44.66]: Go to the next step in the plan that was received fr
    om Update Steps Planner.
    ==================================================================
    3. Update the Single Sign-On SSL Certificate1. Update the Single Sign-On SSL Certificate
    2. Rollback to the previous Single Sign-On SSL Certificate
    3. Return to the main menu to update other servicesThe chosen service is:

    Update Steps Planner を確認し、表示されたSTEPを全て消化するまで残りの作業を行う。

  9. 動作を確認する。
    ブラウザより以下のURLに接続し証明書の更新を確認する。
    (1) vCenter Single Sign-On
    https://<vCenter ServerのFQDN>:7444/
    (2) Inventory Service
    https://<vCenter ServerのFQDN>:10443/
    (3) vCenter Server
    https://<vCenter ServerのFQDN>/
    (4) vSphere Web Client
    https://<vCenter ServerのFQDN>:9443/
    20141231_03証明書が更新され、https通信の鍵マークが正常な状態であることが分かる。
    ※ プライベートCAを用いる場合は、接続元のOSにルート証明書をインポートしておく必要あり。
Digiprove sealCopyright secured by Digiprove © 2015
ブックマーク へのパーマリンク.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください