XenServer

Workload Balancing の証明書

XenServer® と Workload Balancing は HTTPS を介して通信します。Workload Balancing の構成中に、ウィザードは 自己署名テスト証明書を自動的に作成します。この自己署名テスト証明書により、Workload Balancing は XenServer との TLS 接続を確立できます。デフォルトでは、Workload Balancing は XenServer とこの TLS 接続を 自動的に作成します。Workload Balancing がこの TLS 接続を作成するために、構成中または構成後に証明書の設定を 行う必要はありません。

注記:

自己署名証明書は、HTTPS 通信を容易にするためのプレースホルダーであり、信頼できる認証局からのものではありません。 セキュリティを強化するために、信頼できる認証局によって署名された証明書を使用することをお勧めします。

商用認証局からの署名付き証明書など、別の認証局からの証明書を使用するには、 Workload Balancing と XenServer を構成してそれを使用する必要があります。

デフォルトでは、XenServer は Workload Balancing への接続を確立する前に証明書のIDを検証します。 XenServer が特定の証明書をチェックするように構成するには、証明書の署名に使用されたルート証明書をエクスポートします。 証明書を XenServer にコピーし、Workload Balancing への接続が確立されたときに XenServer がそれをチェックするように構成します。 このシナリオでは、XenServer がクライアントとして機能し、Workload Balancing がサーバーとして機能します。

セキュリティ目標に応じて、次のいずれかを実行できます。

  • 自己署名証明書を検証するように XenServer を構成する(/ja-jp/xenserver/8/wlb/certificates.html#configure-xenserver-to-verify-the-self-signed-certificate)。

  • 認証局証明書を検証するように XenServer を構成する(/ja-jp/xenserver/8/wlb/certificates.html#configure-xenserver-to-verify-a-certificate-authority-certificate)。

XenServer は、Workload Balancing 仮想アプライアンスが TLS 経由で接続することを許可する前に、特定の証明書が存在することを確認します。この場合、実際の証明書(秘密鍵を持つ証明書)は Workload Balancing サーバー上にあります。その署名に使用された証明書は XenServer プールコーディネーター上にあります。](/en-us/xenserver/8/media/wlb-certificates.png)

注記:

証明書の検証は、不要な接続を防ぐために設計されたセキュリティ対策です。Workload Balancing の 証明書は厳格な要件を満たしている必要があり、そうでない場合、証明書の検証は成功しません。証明書の 検証が失敗すると、XenServer は接続を許可しません。

証明書の検証を成功させるには、XenServer が証明書を見つけることを期待する特定の場所に 証明書を保存する必要があります。

証明書の自動インポート

XenCenter® 2025.1 以降と Workload Balancing 8.4.0 以降では、XenCenter は Workload Balancing への接続を 初めて構成するときに、Workload Balancing 証明書を自動的にインポートします。

XenCenterを実行しているWindowsシステムがWorkload Balancing仮想アプライアンスにアクセスできない場合(たとえば、 Workload BalancingとXenServer間の通信に使用されるポートが無効になっている場合)、証明書の自動インポートは利用できず、 代わりにWorkload Balancing証明書をプールに手動でインストールする必要があります。

自己署名証明書を検証するようにXenServerを構成する

XenServerがWorkload Balancingへの接続を許可する前に、XenServer Workload Balancingの自己署名証明書が本物であることを 検証するようにXenServerを構成できます。

重要:

XenServer Workload Balancingの自己署名証明書を検証するには、そのホスト名を使用してWorkload Balancingに接続する必要があります。 Workload Balancingのホスト名を見つけるには、仮想アプライアンスでhostnameコマンドを実行します。

自己署名証明書を検証するようにXenServerを構成するには、次の手順を実行します。

  1. 自己署名証明書をWorkload Balancing仮想アプライアンスからプールコーディネーターにコピーします。 XenServer Workload Balancingの自己署名証明書は/etc/ssl/certs/server.pemに保存されています。プールコーディネーターで次の コマンドを実行します。

    scp root@<wlb-ip>:/etc/ssl/certs/server.pem wlb.pem
    <!--NeedCopy-->
    
  2. wlb-ipの信頼性を確立できないというメッセージが表示された場合は、続行するにはyesと入力します。

  3. プロンプトが表示されたら、Workload Balancing仮想アプライアンスのrootパスワードを入力します。証明書は現在の ディレクトリにコピーされます。

  4. 証明書をインストールします。証明書をコピーしたディレクトリで次のコマンドを実行します。

    xe pool-certificate-install filename=wlb.pem
    <!--NeedCopy-->
    
  5. 証明書が正しくインストールされたことを確認するには、プールコーディネーターで次のコマンドを実行します。

    xe pool-certificate-list
    <!--NeedCopy-->
    

    証明書が正しくインストールされている場合、このコマンドの出力には、エクスポートされたルート証明書が含まれます。 このコマンドを実行すると、インストールした証明書を含む、インストールされているすべてのTLS証明書が一覧表示されます。

  6. コーディネーターからプール内のすべてのホストに証明書を同期するには、プールコーディネーターで次のコマンドを 実行します。

    xe pool-certificate-sync
    <!--NeedCopy-->
    

    コーディネーターでpool-certificate-syncコマンドを実行すると、すべてのプールホストの証明書と証明書 失効リストがコーディネーターと同期されます。このアクションにより、プール内のすべてのホストが 同じ証明書を使用するようになります。

    このコマンドからは出力がありません。ただし、この手順が正常に機能しなかった場合、次の手順は機能しません。

  7. XenServerがWorkload Balancing仮想アプライアンスに接続する前に、証明書を検証するように指示します。 プールコーディネーターで次のコマンドを実行します。

    xe pool-param-set wlb-verify-cert=true uuid=uuid_of_pool
    <!--NeedCopy-->
    

    ヒント:

    Tabキーを押すと、プールのUUIDが自動的に入力されます。

  8. (オプション) この手順が正常に機能したことを確認するには、次の手順を実行します。

    1. 証明書がプール内の他のホストに同期されたかどうかをテストするには、それらのホストでpool-certificate-list コマンドを実行します。

    2. XenServerが証明書を検証するように設定されているかどうかをテストするには、param-name=wlb-verify-certパラメーターを指定してpool-param-getコマンドを実行します。 例:

      xe pool-param-get param-name=wlb-verify-cert uuid=uuid_of_pool
      <!--NeedCopy-->
      

XenServerが認証局証明書を検証するように構成する

信頼された認証局によって署名された証明書をXenServerが検証するように構成できます。

信頼された認証局証明書の場合、XenServerは、エクスポートされた証明書または証明書チェーン(中間 およびルート証明書)を、公開鍵を含む.pem形式で必要とします。

Workload Balancingで信頼された認証局証明書を使用する場合は、次のタスクを実行します。

  1. 認証局から署名付き証明書を取得する

  2. 新しい証明書を指定して適用する

  3. 証明書チェーンをプールにインポートする

これらのタスクを開始する前に、以下を確認してください。

  • XenServerプールコーディネーターのIPアドレスを把握していること。

  • XenServerはWorkload Balancingのホスト名を解決できます。(たとえば、プールコーディネーターのXenServerコンソールからWorkload Balancing FQDNにpingを試すことができます。)

認証局から署名付き証明書を取得する

認証局から証明書を取得するには、証明書署名要求(CSR)を生成する必要があります。Workload Balancing仮想アプライアンスで、 秘密鍵を作成し、その秘密鍵を使用してCSRを生成します。

コモンネームの指定に関するガイドライン

CSRの作成時に指定するコモンネーム(CN)は、Workload Balancing仮想 アプライアンスのFQDNと完全に一致する必要があります。また、WLBサーバーに接続 ダイアログボックスのアドレスボックスで指定したFQDNまたはIPアドレスとも一致する必要があります。

名前が一致することを確認するには、以下のいずれかのガイドラインを使用してコモンネームを指定します。

  • 証明書のコモンネームには、WLBサーバーに接続 ダイアログで指定した情報と同じ情報を指定します。

    たとえば、Workload Balancing仮想アプライアンスの名前がwlb-vpx.yourdomainの場合、WLBサーバーに接続ダイアログで wlb-vpx.yourdomainを指定し、CSRの作成時にコモンネームとしてwlb-vpx.yourdomainを 指定します。

  • プールをIPアドレスでWorkload Balancingに接続した場合、コモンネームとしてFQDNを使用し、IPアドレスを サブジェクト代替名(SAN)として使用します。ただし、このアプローチはすべての状況で機能するとは限りません。

秘密鍵ファイルを作成する

Workload Balancing仮想アプライアンスで、次の手順を実行します。

  1. 秘密鍵ファイルを作成します。

    openssl genrsa -des3 -out privatekey.pem 2048
    <!--NeedCopy-->
    
  2. パスワードを削除します。

    openssl rsa -in privatekey.pem -out privatekey.nop.pem
    <!--NeedCopy-->
    

注:

パスワードを誤って入力したり、一貫性のない入力をしたりすると、ユーザーインターフェースエラーを示すメッセージが表示されることがあります。 このメッセージは無視して、コマンドを再実行して秘密鍵ファイルを作成できます。

証明書署名要求を生成する

Workload Balancing仮想アプライアンスで、次の手順を実行します。

  1. 秘密鍵を使用して証明書署名要求 (CSR) を作成します。

    openssl req -new -key privatekey.nop.pem -out csr
    <!--NeedCopy-->
    
  2. プロンプトに従って、CSRの生成に必要な情報を提供します。

    国名。お住まいの国のTLS証明書国コードを入力します。たとえば、カナダの場合はCA、ジャマイカの場合は ジャマイカです。TLS証明書国コードのリストはWebで確認できます。

    都道府県名(フルネーム)。プールが配置されている州または都道府県を入力します。たとえば、 マサチューセッツ州またはアルバータ州です。

    市区町村名。プールが配置されている都市の名前です。

    組織名。会社または組織の名前です。

    組織単位名。部署名を入力します。このフィールドはオプションです。

    コモンネーム。Workload BalancingサーバーのFQDNを入力します。この値は、プールがWorkload Balancingに接続するために使用する名前と一致する必要があります。 詳細については、 コモンネーム指定のガイドラインを参照してください。

    メールアドレス。このメールアドレスは、証明書を生成する際に証明書に含まれます。

  3. オプションの属性を指定するか、Enterキーを押してこの情報の提供をスキップします。

    CSR要求は現在のディレクトリに保存され、csrという名前が付けられます。

  4. Workload Balancingアプライアンスコンソールで次のコマンドを実行して、コンソールウィンドウにCSRを表示します。

    cat csr
    <!--NeedCopy-->
    
  5. CSR全体をコピーし、それを使用して認証局に証明書を要求します。

新しい証明書を指定して適用する

この手順を使用して、Workload Balancing が認証局からの証明書を使用するように指定します。この手順では、 ルート証明書と(利用可能な場合は)中間証明書をインストールします。

新しい証明書を指定するには、次の手順を完了します。

  1. 署名済み証明書、ルート証明書、および認証局が中間証明書を持っている場合は、その中間 証明書を認証局からダウンロードします。

  2. 証明書を Workload Balancing 仮想アプライアンスに直接ダウンロードしなかった場合は、次のいずれかの方法を 使用してコピーします。

    • Windows コンピューターから、WinSCP または別のコピーユーティリティを使用します。

      ホスト名には IP アドレスを入力し、ポートはデフォルトのままにすることができます。ユーザー名とパスワードは 通常 root で、構成時に設定したパスワードです。

    • Linux コンピューターから Workload Balancing アプライアンスへは、SCP または別のコピーユーティリティを使用します。例:

       scp root_ca.pem root@wlb-ip:/path_on_your_WLB
       <!--NeedCopy-->
      
  3. Workload Balancing 仮想アプライアンスで、すべての証明書(ルート証明書、 中間証明書(存在する場合)、および署名済み証明書)の内容を1つのファイルにマージします。次のコマンドを使用できます。

    cat signed_cert.pem intermediate_ca.pem root_ca.pem > server.pem
    <!--NeedCopy-->
    
  4. move コマンドを使用して、既存の証明書とキーの名前を変更します。

    mv /etc/ssl/certs/server.pem /etc/ssl/certs/server.pem_orig
    mv /etc/ssl/certs/server.key /etc/ssl/certs/server.key_orig
    <!--NeedCopy-->
    
  5. マージされた証明書をコピーします。

    mv server.pem /etc/ssl/certs/server.pem
    <!--NeedCopy-->
    
  6. 以前に作成した秘密鍵をコピーします。

    mv privatekey.nop.pem /etc/ssl/certs/server.key
    <!--NeedCopy-->
    
  7. 秘密鍵を root のみが読み取り可能にします。chmod コマンドを使用して権限を修正します。

    chmod 600 /etc/ssl/certs/server.key
    <!--NeedCopy-->
    
  8. stunnel を再起動します。

    pkill -9 stunnel
    stunnel
    <!--NeedCopy-->
    

証明書チェーンをプールにインポートする

証明書を取得したら、XenServerプールコーディネーターにインポートします。プール内のホストを同期して、 それらの証明書を使用するようにします。その後、Workload Balancingがホストに接続するたびに、XenServerが証明書のIDと有効性を確認するように 構成できます。

  1. 署名済み証明書、ルート証明書、および証明機関が中間証明書を持っている場合は、その中間 証明書を証明機関からXenServerプールコーディネーターにコピーします。

  2. ルート証明書をプールコーディネーターにインストールします。

    xe pool-install-ca-certificate filename=root_ca.pem
    <!--NeedCopy-->
    
  3. 該当する場合は、中間証明書をプールコーディネーターにインストールします。

    xe pool-install-ca-certificate filename=intermediate_ca.pem
    <!--NeedCopy-->
    
  4. プールコーディネーターでこのコマンドを実行して、両方の証明書が正しくインストールされていることを確認します。

    xe pool-certificate-list
    <!--NeedCopy-->
    

    このコマンドを実行すると、インストールされているすべてのTLS証明書が一覧表示されます。証明書が正常にインストールされている場合、それらは このリストに表示されます。

  5. プールコーディネーター上の証明書をプール内のすべてのホストに同期します。

    xe pool-certificate-sync
    <!--NeedCopy-->
    

    コーディネーターでpool-certificate-syncコマンドを実行すると、すべてのプールホスト上の証明書と証明書失効 リストがプールコーディネーターと同期されます。このアクションにより、プール内のすべてのホストが 同じ証明書を使用するようになります。

  6. Workload Balancing仮想アプライアンスに接続する前に、XenServerに証明書を検証するように指示します。プールコーディネーターで 次のコマンドを実行します。

    xe pool-param-set wlb-verify-cert=true uuid=uuid_of_pool
    <!--NeedCopy-->
    

    ヒント:

    Tabキーを押すと、プールのUUIDが自動的に入力されます。

  7. 証明書検証を有効にする前にWLBサーバーに接続ダイアログでIPアドレスを指定した場合、プールを Workload Balancingに再接続するように求められることがあります。

    WLBサーバーに接続ダイアログのアドレスに、Workload BalancingアプライアンスのFQDNを、 証明書のコモンネームに表示されているとおりに正確に指定します。XenServerが接続に使用する名前とコモンネームが 一致するように、FQDNを入力します。

トラブルシューティング

  • 証明書検証はプールでデフォルトで有効になっています。プールがWorkload Balancingに接続できない場合は、 証明書検証を無効にしてください。

    1. プールUUIDを取得します。

      xe pool-list
      <!--NeedCopy-->
      
    2. 証明書の検証を無効にします。

      xe pool-param-set wlb-verify-cert=false uuid=uuid_of_pool
      <!--NeedCopy-->
      

    証明書の検証をオフにした状態でプールがWorkload Balancingに接続できる場合、問題は 証明書の設定にあります。接続できない場合、問題はWorkload Balancingの資格情報または ネットワーク接続のいずれかにあります。詳細については、サポートに問い合わせるか、 Workload Balancingのトラブルシューティングを参照してください。

  • 一部の商用認証局は、証明書が正しくインストールされていることを確認するためのツールを提供しています。検討してください これらの手順で問題の特定に役立たない場合は、これらのツールを実行することを。これらのツールでTLS ポートの指定が必要な場合は、ポート8012、またはWorkload Balancingの設定時に設定したポートを指定してください。

  • WLBタブに接続エラーが表示される場合、証明書のコモンネームと Workload Balancing仮想アプライアンスの名前との間に競合がある可能性があります。Workload Balancing仮想アプライアンスの名前とコモンネーム は完全に一致している必要があります。

詳細については、(/ja-jp/xenserver/8/wlb/troubleshoot.html)を参照してください。

自己署名証明書を再生成する

Workload Balancing仮想アプライアンスのIPアドレスが変更され、証明書の値と一致しなくなった場合、 Workload Balancingはコンソールに警告メッセージを表示します。

この警告に対処するには、次の手順を実行します。

  1. Workload Balancing仮想アプライアンスにログインします。
  2. 次のコマンドを実行して証明書を再生成します: wlb_update_cert.sh
  3. Workload Balancing仮想アプライアンスに再接続します。
Workload Balancing の証明書