VMware Cloud Director では、クライアントとサーバ間で安全な通信を行うために SSL ハンドシェイクを使用します。
署名付き証明書は、権限のある認証局 (CA) によって署名され、ローカル OS トラストストアに CA のルート証明書と中間証明書のコピーがある限り、ブラウザによって信頼されます。CA によっては、証明書の要件を提出することや、証明書署名リクエスト (CSR) を提出することが必要になります。いずれのシナリオでも、自己署名証明書を作成し、その証明書に基づく CSR を生成します。CA は、プライベート キーを使用して証明書に署名します。その後、ユーザーはパブリック キーのコピーを使用して復号し、信頼を確立できます。
期限切れの SSL 証明書を更新する場合、期限切れの証明書に関するデータを VMware Cloud Director に提供する必要はありません。つまり、必要な SSL 証明書を VMware Cloud Director アプライアンスにインポートした後に、これらをバックアップする必要はありません。
PEM ファイルは、VMware Cloud Director アプライアンスに直接インポートできます。証明書ファイルが別の形式になっている場合は、OpenSSL を使用して PEM に変換してから、セル管理ツールを使用してファイルを VMware Cloud Director にインポートできます。
VMware Cloud Director アプライアンスでの証明書の管理
Service Provider Admin Portal を使用して、セルの HTTP 証明書を管理できます。セル管理ツールの certificates
コマンドは削除されました。このため、10.6 以降のバージョンでの証明書管理は、それまでのバージョンと大きく異なります。
デフォルトでは、VMware Cloud Director アプライアンス インスタンスをデプロイすると、VMware Cloud Director は自己署名証明書を生成し、それらを使用して安全な通信用の VMware Cloud Director セルを構成します。アプライアンスをデプロイした後で、署名付き証明書を使用するようにセルを再構成できます。
バージョン 10.5.0 以前からバージョン 10.5.1 以降にアップグレードすると、VMware Cloud Director は各セルの既存の HTTP 証明書をオンディスクから System
組織の [証明書ライブラリ] に移行します。それまでオンディスクの HTTP 証明書がワイルドカード証明書などとしてサーバ グループ内の各セルで共有されていた場合、VMware Cloud Director は [証明書ライブラリ] に証明書のコピーを 1 つのみ追加して、各セルはそのライブラリ アイテムの利用者になります。
VMware Cloud Director 10.5.1 以降では、VMware Cloud Director がセルの HTTPS 通信に使用する証明書に加えて、VMware Cloud Director は 2 つ目の証明書を使用して Java Management Extensions (JMX) 通信を保護します。JMX は、セル間通信を簡素化するために使用されます。JMX を使用すると、各セルはサーバ グループ内の他のセルでの操作をリモートから起動できます。VMware Cloud Director 10.6.x セルの初回起動時、VMware Cloud Director は JMX 証明書を自動的に生成して、System
組織の [証明書ライブラリ] と [信頼されている証明書] の両方に追加します。
VMware Cloud Director セルの証明書の置き換えまたは更新
証明書が期限切れになった場合や、自己署名証明書を適切に署名された証明書に置き換える場合などは、VMware Cloud Director セルの証明書の置き換えや更新などが必要になる場合があります。
前提条件
-
デプロイ後、VMware Cloud Director アプライアンスは、2,048 ビットのキー サイズの自己署名証明書を生成します。適切なキー サイズを選択する前に、インストールのセキュリティ要件を評価します。VMware Cloud Director は、NIST Special Publication 800-131A に従って、1,024 ビット未満のキー サイズをサポートしていません。
認証局 (CA) が署名するための新しい証明書を生成する必要がある場合は、「VMware Cloud Director HTTPS エンドポイントの自己署名証明書の生成」を参照してください。
- 作成する証明書チェーン内に、SHA1 を使用する証明書がないことを確認します。VMware Cloud Director では、署名アルゴリズムが SHA1(
sha1WithRSAEncryption
など)を使用する証明書は受け入れられません。 - HTTP マテリアルを [証明書ライブラリ] にアップロードする前に、サーバが提供する証明書チェーンを準備する必要があります。
intermediate-certificate-file-{1-n}.cer などの中間証明書がある場合は、HTTPS 証明書に追加します。
まれに、ルート証明書 root-CA-certificate.cer の追加が必要になる場合もあります。これは一般的ではありません。また、使用する CA が、最新のブラウザを使用して証明書を配布する既知の認証局の 1 つである場合、原則として該当しません。詳細や、ルート証明書を追加する必要があるかどうかを確認するには、CA に問い合わせてください。
cat intermediate-certificate-file-1.cer intermediate-certificate-file-2.cer >> your-http-certificate.pem
ここで、intermediate-certificate-file-1.cer と intermediate-certificate-file-2.cer は中間証明書の名前です。
- 証明書が PEM でエンコードされた X.509 形式であることと、関連付けられているプライベート キーが PEM でエンコードされた PKCS #8 形式であることを確認します。[証明書ライブラリ] にアップロードできるのは、これらの形式のみです。
- 証明書とそれに関連付けられたプライベート キーを、
System
組織の証明書ライブラリにインポートします。「VMware Cloud Director Service Provider Admin Portal を使用した証明書ライブラリへの証明書のインポート」を参照してください。 - セルの証明書を変更します。
- クラスタ内の各アプライアンスで手順 1 と手順 2 を繰り返します。
VMware Cloud Director アプライアンス管理証明書の置き換えまたは更新
- VMware Cloud Director アプライアンスの OS に root として直接ログインするか、SSH で接続します。
- VMware Cloud Director サービスを停止するには、次のコマンドを実行します。
/opt/vmware/vcloud-director/bin/cell-management-tool -u administrator cell --shutdown
- 次のコマンドを実行することにより、組み込みの PostgreSQL データベースと VMware Cloud Director アプライアンス管理ユーザー インターフェイス用の自己署名証明書を生成します。
/opt/vmware/appliance/bin/generate-appliance-certificates.sh
注: VMware Cloud Director 10.5.1.1 以降では、generate-certificates.sh
スクリプトは名前がgenerate-appliance-certificates.sh
に変更され、 VMware Cloud Director アプライアンス証明書のみを更新します。スクリプトに VMware Cloud Director 証明書の更新と置き換えは含まれなくなりました。このコマンドは、組み込みの PostgreSQL データベースおよびアプライアンス管理ユーザー インターフェイスに新しく生成された証明書が使用されるように自動設定します。PostgreSQL サーバと Nginx サーバが再起動します。
- (オプション)新しく生成された証明書に CA が署名するためには、CA 署名付き証明書を取得してコピーし、サービスを再起動します。
- vcd_ova.csr ファイル内に証明書署名リクエストを作成します。
openssl req -new -key /opt/vmware/appliance/etc/ssl/vcd_ova.key -reqexts SAN -config <(cat /etc/ssl/openssl.cnf <(printf "\n[SAN]\nsubjectAltName=DNS:vcd2.example.com,DNS:vcd2,IP:10.100.101.10\n")) -out vcd_ova.csr
- 証明書署名リクエストを CA に送信します。Web サーバ タイプを指定する必要がある場合は、Jakarta Tomcat を使用します。
- CA 署名付き証明書を取得したら、その CA 署名付き証明書をコピーして元の証明書を上書きします。
cp ca-signed-vcd_ova.pem /opt/vmware/appliance/etc/ssl/vcd_ova.crt
nginx
およびpostgres
サービスを再起動します。systemctl restart nginx.service systemctl restart vpostgres.service
- vcd_ova.csr ファイル内に証明書署名リクエストを作成します。
- VMware Cloud Director サービスを再起動します。
service vmware-vcd start