皆さまこんにちは! TAM の久松です。
前回公開させて頂いた、vSphere製品に関する証明書について(GUI編) に引き続き、VMware vSphere (VMware vCenter Server Appliance (以下 vCenter と記載します)/ VMware ESXi (以下 ESXi と記載します)) の主要な証明書について、コンソール CLI を利用した証明書の確認・更新方法について展開させて頂きます。vSphere の運用上管理が必要になってくる内容となりますので、是非一度目を通して頂けますと幸いでございます。
■目次
・はじめに
・vSphere ( vCenter / ESXi )に関する証明書一覧
・vCenter に関する証明書について
・ESXi に関する証明書について
・最後に
■はじめに
前回同様、この記事の前提条件について明記させて頂きます。
vSphere の証明書と一口で言っても、利用頂いているバージョン毎に細かく仕様が異なる部分があるため、本記事では、2023 年 11 月時点の VMware vCenter Server 7.0 Update 3 を前提としてご紹介させて頂きます。
また、「証明書の役割」「有効期限が切れた場合の影響」「デフォルトの有効期限」についてはGUI 編と同じ内容を記載しており、「有効期限の確認方法」「証明書の更新方法」はあくまで1つの例を記載しているため参考情報としてご参照ください。
他バージョンや最新情報につきましては、弊社の Docs や KB の確認か、担当 TAM にご相談頂くようお願いいたします。
■vSphere ( vCenter / ESXi )に関する証明書一覧
vSphere ( vCenter / ESXi )で利用している証明書はそれぞれ以下となっております。
・vCenter
証明書名 | 確認方法 |
STS証明書 | GUI、CUI どちらでも可 |
マシンSSL証明書 | GUI、CUI どちらでも可 |
ソリューションユーザ証明書 | CUI のみ可 |
root 証明書 | GUI、CUI どちらでも可 |
・ESXi
証明書名 | 確認方法 |
マシンSSL証明書 | GUI、CUI どちらでも可 |
■vCenter に関する証明書について
・STS証明書
・マシンSSL証明書
・ソリューションユーザ証明書
・root証明書
・STS証明書
証明書の役割:
vCenter とその他の関連サービスとの間で行われる通信をセキュアにするために使用されます。
有効期限が切れた場合の影響:
vSphere Client への接続が失敗し vCenter にログイン出来なくなります。
デフォルトの有効期限:
・7.0 U1 以降で新規構築インストール時:10 年
・6.5 U2で構築、7.0 へのアップグレードした場合:2 年
・手動で証明書の更新をした場合:更新日から 2 年
有効期限の確認方法:
こちらのKB (https://kb.vmware.com/s/article/79248)に記載がある通り、KB に添付されている「checksts.py」をダウンロードして頂き、vCenter のコンソール CLI に root ユーザでログインし、スクリプトを実行することで確認可能です。
・出力イメージ
証明書の更新方法:
こちらのKB (https://kb.vmware.com/s/article/76719)に記載がある通り、KB に添付されている「fixsts.sh」をダウンロードして頂き、vCenter のコンソール CLI に root ユーザでログインし、スクリプトを実行することで更新可能です。
※カスタム証明書やサードパーティ証明書を利用している場合、強制的に更新後の STS 証明書に上書きされるため、それらを利用していないことを必ずご確認ください。
<手順>
1. vCSA コンソール CLI に、root ユーザで SSH 接続。
2. ダウンロードした「fixsts.sh」を任意のディレクトリに配置。(例:/tmp など)
3.「fixsts.sh」に実行権限を付与する。
4.「fixsts.sh」を実行。
⇒
5. vCenter サービスを再起動させる。
6. STS 証明書が更新されたことを確認する。
注:他の証明書が期限切れの場合はサービスの再起動が失敗したり、「fixsts.sh」をWindowsベースのテキスト エディタからコピーすると余計な改行コードが含まれ、スクリプトが実行出来ないなどの問題があるためトラブル時は KB をご確認ください。
・マシン SSL 証明書
証明書の役割:
vCenter と SSL 通信実施時や、vCenter 内のサービス間で通信をする際に使用される証明書です。
【使用するサービス例】
・リバースプロキシサービス
・ vCenter サービス ( vpxd )
・ VMware Directory Service ( vmdir )
有効期限が切れた場合の影響:
vCenter サービス起動失敗や、vSphere Client への接続が失敗し vCenter にログイン出来なくなります。
※既に接続されているセッションでは有効期限が切れた場合でも操作は可能ですが、
一度セッションが切断されると再接続は出来なくなります。
デフォルトの有効期限:
・新規インストール時:2年
・手動更新時:2年
有効期限の確認方法:
コンソール CLI 上で確認する場合は、こちらのKB (https://kb.vmware.com/s/article/82332)に記載がある通り、vCenter のコンソール CLI に root ユーザでログインし、以下のコマンドを実行します。
※コマンドは変更される可能性があるため、リンクの KB を参照ください。
コマンド結果のうち、「MACHINE_CERT」 と記載された箇所がマシン SSL 証明書の情報となります。
・出力イメージ
証明書の更新方法:
コンソール CLI で更新する場合は、こちらのKB(https://kb.vmware.com/s/article/2112283)に記載がある、「Certificate-Manager」サービスを使用して証明書の更新を実施します。
<手順>
1. vCSA コンソール CLI に、root ユーザで SSH 接続。
2. “/usr/lib/vmware-vmca/bin/certificate-manager” を実行して、Certificate Managerを起動する。
3. “3. Replace Machine SSL certificate with VMCA Certificate” を選択する。
4. UserName/Password を入力する。
5. 証明書に必要な情報を入力する。
6. “Continue operation : Option[Y/N] ? :” で Y を入力。
その後、証明書が更新され vCentre 再起動まで自動で実施されます。
7. “Status : 100% Completed [All tasks completed successfully]” が表示されることを確認する。
8.証明書の有効期限が変わったことを確認する。
・更新前
・更新後
・ソリューションユーザ証明書
証明書の役割:
ソリューションユーザが vCenter へ SSO 接続するときに使用する証明書です。
【ソリューションユーザの例】
・machine:License や Log サービスで使用するユーザー
・vpxd:vCenter サービス全般で使用するユーザー
・vpxd-extension:vCenter サービスの拡張機能で使用するユーザー
有効期限が切れた場合の影響:
vCenter サービス起動失敗や、vSphere Client への接続が失敗し vCenter にログイン出来なくなります。
また、他 VMware 製品( VMware Horizon 、VMware NSX、VMware Aria Operations …etc)と vCenter を連携させている場合、その製品と vCenter 間で接続が取れなくなります。
デフォルトの有効期限:
・新規インストール時:10 年
・手動更新時: 2 年
有効期限の確認方法:
マシン SSL 証明書同様に、KB (https://kb.vmware.com/s/article/82332)記載の通り、vCenter のコンソール CLI に root ユーザでログインし、以下のコマンドを実行します。
※コマンドは変更される可能性があるため、リンクの KB を参照ください。
コマンド実行結果のうち、ユーザ名が記載されている証明書が対象のものとなっております。
・出力イメージ(例:vpxd ユーザの場合)
証明書の更新方法:
マシン SSL 証明書同様に、こちらのKB(https://kb.vmware.com/s/article/2112283)に記載がある、「Certificate-Manager」サービスを使用して証明書の更新を実施します。
注:手動で証明書更新すると有効期限は更新日から2年間となります。
“ ”更新タイミングによっては初期導入時の証明書期限より短くなるためご注意ください。
<手順>
1. vCSA コンソール CLI に、root ユーザで SSH 接続
2. “/usr/lib/vmware-vmca/bin/certificate-manager” を実行して、Certificate Manager を起動する。
3. “6. Replace Solution user certificates with VMCA certificates” を選択する。
4.”Do you wish to generate all certificates using configuration file : Option[Y/N] ? : ” でYを入力する。
5. UserName/Password を入力する。
6. “certool.cfg file exists, Do you wish to reconfigure : Option[Y/N] ? : ” で N を入力する。
(※ 作成済みの certool.cfg は /var/tmp/vmware/ に配置されているため、あえて要件を変更しない場合は”N”を選択。)
7. “You are going to regenerate Solution User Certificates using VMCA Continue operation : Option[Y/N] ? :” で Y を入力する。
8. “Status : 100% Completed [All tasks completed successfully]” が表示され、完了したことを確認する。
9.証明書の期限を確認する。
・更新前
・更新後(※手動で更新したので、証明書の期限が短くなっている。)
・root 証明書
証明書の役割:
vSphere の証明書の、証明書チェーンとして利用するためのデジタル証明書です。
外部の認証局が発行したルート証明書を使用しない場合に、こちらの機能を使います。
あくまでVMware 認証局 (VMCA) によって生成および発行される証明書であるため、デフォルトではvSphere の外部で証明書は信頼されていません。
有効期限が切れた場合の影響:
root 証明書が発行した各証明書と、その証明書に紐づいたサービスの起動が失敗する可能性があります。
デフォルトの有効期限:
・新規インストール時:10 年
・手動更新時:10 年
有効期限の確認方法:
マシン SSL 証明書/ソリューションユーザ証明書 同様に、コンソール CLI 上で確認する場合は、こちらのKB (https://kb.vmware.com/s/article/82332)に記載がある通り、vCenter のコンソール CLI に root ユーザでログインし以下のコマンドを実行します。
※コマンドは変更される可能性があるため、リンクの KB を参照ください。
コマンド結果のうち、「TRUSTEC_ROOTS」 と記載された箇所が、root 証明書の情報となります。
・出力イメージ
証明書の更新方法:
更新についても、マシン SSL 証明書/ソリューションユーザ証明書 同様に、こちらのKB(https://kb.vmware.com/s/article/2112283)に記載がある、「Certificate-Manager」サービスを使用して証明書の更新を実施します。
<手順>
1. vCSA コンソール CLI に、root ユーザで SSH 接続。
2. “/usr/lib/vmware-vmca/bin/certificate-manager” を実行して、Certificate Manager を起動する。
3. “4. Regenerate a new VMCA Root Certificate and replace all certificates “ を選択する。
注:root 証明書に紐づいている他証明書も、新しいroot 証明書に紐づく形で再生成されます。
4.”Do you wish to generate all certificates using configuration file : Option[Y/N] ? : ” でYを入力する。
5. UserName/Password を入力する。
6. “certool.cfg file exists, Do you wish to reconfigure : Option[Y/N] ? : ” で N を入力する。
(※作成済みの certool.cfg は /var/tmp/vmware/ に配置されているため、あえて要件を変更しない場合は”N”を選択)
7. “You are going to regenerate Solution User Certificates using VMCA Continue operation : Option[Y/N] ? :” で Y を入力する。
8. “Status : 100% Completed [All tasks completed successfully]” が表示され、完了したことを確認する。
9.有効期限の確認を行う。
・更新前
・更新後
■ESXiに関する証明書について
・マシンSSL証明書
証明書の役割:
ESXi で動作する各種サービスがSSL 通信を行うために使用する証明書です。
VMware 認証局 (VMCA)から証明書が発行されるため、vCenter との接続が必要となります。
有効期限が切れた場合の影響:
ESXi が vCenter から切断されます。
※ESXi サーバのアップグレード時に証明書は更新されないものとなっておりますので、ご注意ください。
デフォルトの有効期限:
・新規インストール時:5 年
・手動更新時:5 年
有効期限の確認方法:
コンソール CLI で確認する場合は、こちらの KB(https://kb.vmware.com/s/article/2015600)に記載がある通り、ESXi に root ユーザで SSH 接続し、以下のコマンドを実行することで確認が可能です。
※コマンドは変更される可能性があるため、念のため KB を参照ください。
・出力イメージ
証明書の更新方法:
Docs (https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.vsphere.security.doc/GUID-ECFD1A29-0534-4118-B762-967A113D5CAA.html)
の手順を利用して、vSphere Client (GUI) で証明書の更新が可能です。
こちらの 記事 で実行イメージを掲載しておりますので併せてご参照ください。
※コンソール CLI を利用した更新方法は公開されていないため、割愛させて頂きます。
■最後に
vSphere (vCenter / ESXi) の主要な証明書について、コンソール CLI を使った証明書の確認・更新方法をご紹介させて頂きました。
「Certificate Manager」を使った作業が基本となりますので、こちらの KB(https://kb.vmware.com/s/article/2097936)も併せてご参照頂くとより詳細な解説が確認出来ます。
また、上記の証明書を更新した場合 vCenter と連携している製品側で、新しい証明書を使った再接続設定が必要となりますので、証明書更新は影響範囲を十分に確認したうえで対応をお願い致します。
本記事を含めて、VMware 製品の証明書に関するご不明点・ご相談事項ございましたら、担当 TAM までご連絡ください。