証明書の検証
プールで証明書の検証が有効になっている場合、その管理ネットワーク上のすべてのTLS通信エンドポイントは、機密情報を送信する前に、証明書を使用してピアのIDを検証します。
動作
管理ネットワーク上でXenServer®ホストによって開始される接続では、宛先エンドポイントがそのIDを検証するためにTLS証明書を提供する必要があります。この要件は、プールの一部であるか、プールと対話する以下の項目に影響します。
- プール内のホスト
- XenCenter®
- APIを使用するサードパーティクライアント
証明書の検証は、XenServerが提供する自己署名証明書と、信頼された認証局によって署名されたユーザーインストール証明書の両方に対応しています。詳細については、「ホストにTLS証明書をインストールする」を参照してください。
プール内の各XenServerホストには、それを識別する2つの証明書があります。
-
プール内部ID証明書は、プール内のホスト間の通信を保護するために使用されます。プール内の通信では、XenServerは常に自己署名証明書を使用します。
-
サーバーID証明書は、管理ネットワーク上でプールと通信するクライアントアプリケーションに対して、XenServerホストのIDを検証するために使用されます。ホストとクライアントアプリケーション間の通信では、自己署名証明書を使用することも、独自のTLS証明書をホストにインストールすることもできます。
ホストが初めてプールに参加するとき、またはクライアントが初めてプールに接続するとき、プールはその接続を信頼します。この最初の接続中に、プールと参加ホストまたは接続クライアントの間で証明書が交換されます。このホストまたはクライアントによる管理ネットワーク上のその後のすべての通信では、証明書は通信に関与する当事者のIDを検証するために使用されます。
すべてのホストとプールで証明書の検証を有効にすることをお勧めします。XenServerホストがプールに正常に参加するには、ホストとプールの両方で証明書の検証が有効または無効になっている必要があります。一方では証明書の検証が有効で、もう一方では無効になっている場合、参加操作は成功しません。XenCenterは、プールまたは参加ホストで証明書の検証を有効にするようアドバイスする警告メッセージを表示します。
証明書の検証が有効になっているプールからホストが離れると、ホストとプールの両方が、互いに関連する証明書を削除します。
Workload Balancing仮想アプライアンスは、証明書の検証とともに使用できます。Workload Balancingの自己署名証明書がXenServerホストにインストールされていることを確認する必要があります。
Conversion Manager仮想アプライアンスはXenServerホストに接続しないため、TLSクライアントエンドポイントとして機能する場合、証明書チェック要件の対象外となります。
プールでの証明書検証の有効化
XenServer 8.4以降の新規インストールでは、証明書検証はデフォルトで有効になっています。以前のバージョンのXenServerからアップグレードした場合、証明書検証は自動的に有効にならないため、手動で有効にする必要があります。XenCenterは、アップグレードされたプールに次回接続するときに、証明書検証を有効にするよう促します。
プールで証明書検証を有効にする前に、プール内で操作が実行されていないことを確認してください。
XenCenterを使用して有効にする
XenCenterには、証明書検証を有効にするためのいくつかの方法があります。
-
XenCenterを証明書検証が有効になっていないプールに初めて接続すると、有効にするよう促されます。「はい、証明書検証を有効にする」をクリックします。
-
プールメニューで、証明書検証を有効にするを選択します。
-
プールの全般タブで、証明書検証エントリを右クリックし、メニューから証明書検証を有効にするを選択します。
xe CLIを使用して有効にする
プールで証明書検証を有効にするには、プール内のホストのコンソールで次のコマンドを実行します。
xe pool-enable-tls-verification
証明書の管理
ホストのIDを検証するために使用される証明書をインストールしたり、情報を表示したり、リセットしたりできます。
証明書のインストール
管理ネットワーク上のクライアントアプリケーションから接続を受信する際に、ホストがID証明書として提示する独自のTLS証明書をインストールできます。
詳細については、「ホストにTLS証明書をインストールする」を参照してください。
証明書情報の表示
プールで証明書検証が有効になっているかどうかを確認するには:
-
XenCenterで、プールの全般タブを確認します。全般セクションには、証明書検証が有効か無効かを示す証明書検証のエントリがあります。このタブには、CA証明書の名前、有効性、およびサムプリントを一覧表示する証明書セクションも含まれています。
-
xe CLIを使用すると、次のコマンドを実行できます。
xe pool-param-get uuid=<pool_uuid> param-name=tls-verification-enabled証明書検証が有効になっている場合、コマンド出力に
tls-verification-enabled ( RO): trueの行が表示されます。
XenServerホスト上の証明書に関する情報を表示するには:
-
XenCenterで、そのホストの全般タブに移動します。証明書セクションには、サーバーID証明書とプール内部ID証明書のサムプリントおよび有効期限が表示されます。
-
xe CLIを使用すると、次のコマンドを実行できます。
xe certificate-list
プール内部ID証明書の更新
xe CLIを使用して、プール内部ID証明書を更新できます。
-
次のコマンドを実行して、証明書をリセットするホストのUUIDを見つけます。
xe host-list -
証明書をリセットするには、次のコマンドを実行します。
xe host-refresh-server-certificate host=<host_uuid>注:
このコマンドでは、証明書をリセットするホストを示すために、任意のホストセレクターパラメーターを使用できます。
サーバーID証明書のリセット
XenCenterまたはxe CLIからサーバーID証明書をリセットできます。証明書をリセットすると、ホストから証明書が削除され、新しい自己署名証明書がその場所にインストールされます。
XenCenterで証明書をリセットするには:
- ホストの全般タブに移動します。
- 証明書セクションで、リセットする証明書を右クリックします。
- メニューから証明書のリセットを選択します。
- 表示されるダイアログで、はいをクリックして証明書のリセットを確認します。
または、サーバーメニューで、証明書 > 証明書のリセットに移動できます。
証明書をリセットすると、XenServerホストへの既存の接続はすべて切断されます。これにはXenCenterとホスト間の接続も含まれます。証明書のリセット後、XenCenterはホストに自動的に再接続します。
xe CLIを使用して証明書をリセットするには:
-
次のコマンドを実行して、証明書をリセットしたいホストのUUIDを見つけます。
xe host-list -
証明書をリセットするには、次のコマンドを実行します。
xe host-reset-server-certificate host=<host_uuid>注:
このコマンドでは、証明書をリセットするXenServerホストを示すために、任意のホストセレクターパラメーターを使用できます。
証明書をリセットすると、XenServerホストへの既存の接続はすべて切断されます。これにはXenCenterとホスト間の接続も含まれます。証明書のリセット後、XenCenterはホストに自動的に再接続します。
有効期限切れアラート
XenCenterは、サーバーID証明書、プール内部ID証明書、またはプールCA証明書の有効期限が近づいている場合に、通知ビューにアラートを表示します。
証明書検証の一時的な無効化
ホストまたはプールで証明書検証が有効になった後で、それを無効にすることはお勧めしません。ただし、XenServerには、証明書の問題をトラブルシューティングする際に、ホストごとに証明書検証を無効にするために使用できるコマンドが用意されています。
証明書検証を一時的に無効にするには、ホストコンソールで次のコマンドを実行します。
xe host-emergency-disable-tls-verification
機能が有効になっているプール内のホストで証明書検証が無効になっている場合、XenCenterは通知ビューにアラートを表示します。
ホスト上の証明書に関する問題を解決したら、証明書検証を再度有効にしてください。証明書検証を再度有効にするには、ホストコンソールで次のコマンドを実行します。
xe host-emergency-reenable-tls-verification