認証局 (CA) によって署名された証明書を作成およびインポートすると、SSL 通信の信頼レベルが最大になり、クラウド内の接続を保護することができます。
各 VMware Cloud Director サーバは、HTTPS 用とコンソール プロキシ通信用の 2 つの異なる SSL エンドポイントをサポートしている必要があります。
VMware Cloud Director アプライアンスでは、これら 2 台のエンドポイントは同じ IP アドレスまたはホスト名を共有しますが、2 つの個別のポート(HTTPS には 443
、コンソール プロキシ通信には 8443
)を使用します。ワイルドカード証明書を使用するなど、両方のエンドポイントに同じ証明書を使用できます。
いずれのエンドポイントの証明書にも、X.500 識別名と X.509 サブジェクトの別名拡張機能が含まれている必要があります。
独自のプライベート キー ファイルと CA 署名付き証明書ファイルがすでに存在する場合は、プライベート キーおよび CA 署名付き SSL 証明書の VMware Cloud Director アプライアンスへのインポートに記載されている手順を実行します。
重要: デプロイ時に、
VMware Cloud Director アプライアンスは、2,048 ビットのキー サイズの自己署名証明書を生成します。適切なキー サイズを選択する前に、インストールのセキュリティ要件を評価する必要があります。NIST Special Publication 800-131A に従い、1024 ビット未満のキー サイズはサポートされなくなりました。
この手順で使用されるプライベート キー パスワードは root ユーザー パスワードであり、root_password として表されます。
手順
- VMware Cloud Director アプライアンス コンソールに、root として直接ログインするか、SSH クライアントを使用して接続します。
- 環境のニーズに応じて、次のいずれかのオプションを選択します。
VMware Cloud Director アプライアンスをデプロイすると、
VMware Cloud Director は、HTTPS サービスとコンソール プロキシ サービス用に 2,048 ビットのキー サイズで自己署名証明書を自動的に生成します。
- デプロイ時に生成される証明書に認証局で署名する場合は、手順 5 に進みます。
- キー サイズを大きくするなどのカスタム オプションを使用して新しい証明書を生成する場合は、手順 3 に進みます。
- コマンドを実行して、既存の証明書ファイルをバックアップします。
cp /opt/vmware/vcloud-director/etc/user.http.pem /opt/vmware/vcloud-director/etc/user.http.pem.original
cp /opt/vmware/vcloud-director/etc/user.http.key /opt/vmware/vcloud-director/etc/user.http.key.original
cp /opt/vmware/vcloud-director/etc/user.consoleproxy.pem /opt/vmware/vcloud-director/etc/user.consoleproxy.pem.original
cp /opt/vmware/vcloud-director/etc/user.consoleproxy.key /opt/vmware/vcloud-director/etc/user.consoleproxy.key.original
- 次のコマンドを実行して、HTTPS サービス用とコンソール プロキシ サービス用のパブリックおよびプライベート キー ペアを作成します。
/opt/vmware/vcloud-director/bin/cell-management-tool generate-certs --cert /opt/vmware/vcloud-director/etc/user.http.pem --key /opt/vmware/vcloud-director/etc/user.http.key --key-password root-password
/opt/vmware/vcloud-director/bin/cell-management-tool generate-certs --cert /opt/vmware/vcloud-director/etc/user.consoleproxy.pem --key /opt/vmware/vcloud-director/etc/user.consoleproxy.key --key-password root-password
これらのコマンドにより、デフォルト値を使用した証明書ファイルの作成または上書き、および指定したパスワードを使用したプライベート キー ファイルの作成または上書きが行われます。環境の DNS 構成に応じて、発行者のコモン ネーム (CN) は各サービスの IP アドレスまたは FQDN に設定されます。証明書はキー長にデフォルトの 2048 ビットを使用し、作成後 1 年で期限切れになります。
重要:
VMware Cloud Director アプライアンスの構成上の制限のため、HTTPS 証明書ファイルの場所には
/opt/vmware/vcloud-director/etc/user.http.pem および
/opt/vmware/vcloud-director/etc/user.http.key を、コンソール プロキシ証明書ファイルの場所には
/opt/vmware/vcloud-director/etc/user.consoleproxy.pem および
/opt/vmware/vcloud-director/etc/user.consoleproxy.key を使用する必要があります。
注: アプライアンスの
root パスワードをキー パスワードとして使用します。
- HTTPS サービス用とコンソール プロキシ サービス用の証明書署名リクエスト (CSR) を作成します。
重要:
VMware Cloud Director アプライアンスは、HTTPS サービスとコンソール プロキシ サービスの両方で同じ IP アドレスおよびホスト名を共有します。そのため、CSR 作成コマンドでは、Subject Alternative Names (SAN) 拡張引数に同じ DNS および IP アドレスを指定する必要があります。
- http.csr ファイル内に証明書署名リクエストを作成します。
openssl req -new -key /opt/vmware/vcloud-director/etc/user.http.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 http.csr
- consoleproxy.csr ファイル内に証明書署名リクエストを作成します。
openssl req -new -key /opt/vmware/vcloud-director/etc/user.consoleproxy.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 consoleproxy.csr
- 証明書署名リクエストを認証局に送信します。
証明書発行機関により、Web サーバー タイプを指定するよう求められる場合は、Jakarta Tomcat を使用します。
CA 署名付き証明書を取得します。
- CA 署名付き証明書、CA ルート証明書、およびすべての中間証明書を VMware Cloud Director アプライアンスにコピーし、コマンドを実行して既存の証明書を上書きします。
- コマンドを実行して、アプライアンスの既存の
user.http.pem
証明書を CA 署名付きバージョンで上書きします。
cp ca-signed-http.pem /opt/vmware/vcloud-director/etc/user.http.pem
- コマンドを実行して、アプライアンスの既存の
user.consoleproxy.pem
を CA 署名付きバージョンで上書きします。
cp ca-signed-consoleproxy.pem /opt/vmware/vcloud-director/etc/user.consoleproxy.pem
- コマンドを実行して、ルート CA 署名付き証明書と中間証明書を HTTP 証明書およびコンソール プロキシ証明書に追加します。
cat intermediate-certificate-file-1.cer intermediate-certificate-file-2.cer root-CA-certificate.cer >> /opt/vmware/vcloud-director/etc/user.http.pem
cat intermediate-certificate-file-1.cer intermediate-certificate-file-2.cer root-CA-certificate.cer >> /opt/vmware/vcloud-director/etc/user.consoleproxy.pem
- コマンドを実行して、証明書を VMware Cloud Director インスタンスにインポートします。
/opt/vmware/vcloud-director/bin/cell-management-tool certificates -j --cert /opt/vmware/vcloud-director/etc/user.http.pem --key /opt/vmware/vcloud-director/etc/user.http.key --key-password root_password
/opt/vmware/vcloud-director/bin/cell-management-tool certificates -p --cert /opt/vmware/vcloud-director/etc/user.consoleproxy.pem --key /opt/vmware/vcloud-director/etc/user.consoleproxy.key --key-password root_password
- 新しい署名付き証明書を有効にするには、VMware Cloud Director アプライアンスで
vmware-vcd
サービスを再起動します。
- コマンドを実行してサービスを停止します。
/opt/vmware/vcloud-director/bin/cell-management-tool cell -i $(service vmware-vcd pid cell) -s
- コマンドを実行してサービスを開始します。
systemctl start vmware-vcd