CA 署名付き証明書を作成およびインポートすると、SSL 通信の信頼レベルが最大になり、クラウド インフラストラクチャ内の接続を保護することができます。

vCloud Director サーバには、クライアントとサーバ間の通信を保護するために 2 つの SSL 証明書が必要です。各 vCloud Director サーバは、HTTPS 用とコンソール プロキシ通信用の 2 つの異なる SSL エンドポイントをサポートしている必要があります。

2 つのエンドポイントには異なる IP アドレスを割り当てたり、同じ IP アドレスで 2 つの異なるポートを割り当てたりすることも可能です。各エンドポイントには独自の SSL 証明書が必要です。ワイルドカード証明書を使用するなど、両方のエンドポイントに同じ証明書を使用できます。

いずれのエンドポイントの証明書にも、X.500 識別名と X.509 サブジェクトの別名拡張機能が含まれている必要があります。

信頼できる認証局 (CA) で署名された証明書か、自己署名証明書を使用できます。

cell-management-tool を使用して、自己署名付きの SSL 証明書を作成します。インストール ファイルを実行してから設定エージェントを実行するまでの間に、cell-management-tool ユーティリティがセルにインストールされます。サーバ グループの後続のメンバーへの vCloud Director のインストールを参照してください。

独自のプライベート キー ファイルと CA 署名付き証明書ファイルがすでに存在する場合は、Linux 上での vCloud Director 用にインポートされたプライベート キーを使用した、CA 署名付き SSL 証明書キーストアの作成に記載されている手順を実行します。

重要: これらの例では 2048 ビットのキー サイズを指定しますが、適切なキー サイズを選択する前にインストールのセキュリティ要件を評価する必要があります。NIST Special Publication 800-131A に従い、1024 ビット未満のキー サイズはサポートされなくなりました。

前提条件

  • keytool コマンドを使用して証明書をインポートできるように、Java バージョン 8 以降のランタイム環境のあるコンピュータにアクセスできることを確認します。vCloud Director インストーラでは keytool のコピーが /opt/vmware/vcloud-director/jre/bin/keytool に置かれますが、この手順は Java ランタイム環境がインストールされていればどのコンピュータでも実行できます。keytool で他のソースから作成された証明書を vCloud Director に使用することはできません。このコマンドラインの例では、keytool がユーザーのパス内にあることを前提としています。
  • keytool コマンドについて理解しておきます。
  • generate-certs コマンドで使用可能なオプションの詳細については、HTTPS およびコンソール プロキシ エンドポイントの自己署名証明書の生成を参照してください。
  • certificates コマンドで使用可能なオプションの詳細については、HTTP およびコンソール プロキシ エンドポイントの証明書の置き換えを参照してください。

手順

  1. vCloud Director サーバ セルの OS に root として直接ログインするか、SSH クライアントを使用して接続します。
  2. コマンドを実行して、HTTPS サービス用とコンソール プロキシ サービス用のパブリックおよびプライベート キー ペアを作成します。
    /opt/vmware/vcloud-director/bin/cell-management-tool generate-certs -j -p -o certificates.ks -w keystore_password

    このコマンドを実行すると、キーストアが特定のパスワードで certificates.ks に作成されるか、更新されます。証明書はコマンドのデフォルト値を使用して作成されます。環境の DNS 構成に応じて、発行者の CN は各サービスの IP アドレスまたは FQDN に設定されます。証明書はキー長にデフォルトの 2048 ビットを使用し、作成後 1 年で期限切れになります。

    重要: キーストア ファイルおよびキーストア ファイルが格納されているディレクトリは、ユーザー vcloud.vcloud から読み取り可能である必要があります。 vCloud Director インストーラにより、このユーザーとグループが作成されます。
  3. HTTPS サービスとコンソール プロキシ サービスの証明書署名リクエストを作成します。
    重要: HTTPS サービスとコンソール プロキシ サービスに異なる IP アドレスを使用している場合は、次のコマンドでホスト名と IP アドレスを調整します。
    1. http.csr ファイル内に証明書署名リクエストを作成します。
      keytool -keystore certificates.ks -storetype JCEKS -storepass keystore_password -certreq -alias http -file http.csr -ext "san=dns:vcd2.example.com,dns:vcd2,ip:10.100.101.10"
    2. consoleproxy.csr ファイル内に証明書署名リクエストを作成します。
      keytool -keystore certificates.ks -storetype JCEKS -storepass keystore_password -certreq -alias consoleproxy -file consoleproxy.csr -ext "san=dns:vcd2.example.com,dns:vcd2,ip:10.100.101.10"
  4. 証明書署名リクエストを認証局に送信します。
    証明書発行機関により、Web サーバー タイプを指定するよう求められる場合は、Jakarta Tomcat を使用します。
    CA 署名付き証明書を取得します。
  5. 署名付き証明書を JCEKS キーストアにインポートします。
    1. root.cer ファイルから certificates.ks キーストア ファイルに認証局のルート証明書をインポートします。
      keytool -import -storetype JCEKS -storepass keystore_password -keystore certificates.ks -alias root -file root_certificate_file
    2. 中間証明書を受信した場合は、この証明書を intermediate.cer ファイルから certificates.ks キーストア ファイルにインポートします。
      keytool -import -storetype JCEKS -storepass keystore_password -keystore certificates.ks -alias intermediate -file intermediate_certificate_file
    3. HTTPS サービス証明書をインポートします。
      keytool -import -storetype JCEKS -storepass keystore_password -keystore certificates.ks -alias http -file http_certificate_file
    4. コンソール プロキシ サービスの証明書をインポートします。
      keytool -import -storetype JCEKS -storepass keystore_password -keystore certificates.ks -alias consoleproxy -file console_proxy_certificate_file
    これらのコマンドは、 certificates.ks ファイルを新しく取得した CA 署名付きバージョンの証明書で上書きします。
  6. 証明書が JCEKS キーストアにインポートされているかどうかを確認するには、次のコマンドを実行してキーストア ファイルの内容を一覧表示します。
    keytool -storetype JCEKS -storepass keystore_password -keystore certificates.ks -list
  7. サーバ グループ内のすべての vCloud Director サーバでこの手順を繰り返します。

次のタスク

  • vCloud Director インスタンスをまだ構成していない場合は、configure スクリプトを実行して証明書キーストアを vCloud Director にインポートします。ネットワークおよびデータベース接続の構成を参照してください。
    注: certificates.ks キーストア ファイルを作成したコンピュータが、完全修飾ドメイン名とそれに関連付けられた IP アドレスのリストを生成したサーバーとは異なる場合、ここでキーストア ファイルをそのサーバーにコピーします。構成スクリプトを実行するときに、キーストアのパス名が必要になります。
  • vCloud Director インスタンスをすでにインストールして構成している場合は、セル管理ツールの certificates コマンドを使用して、証明書キーストアをインポートします。HTTP およびコンソール プロキシ エンドポイントの証明書の置き換えを参照してください。