XenServer

证书验证

当为池启用证书验证时,其管理网络上的所有 TLS 通信端点都会使用证书来验证其对等方的身份,然后才传输机密信息。

行为

由 XenServer® 主机在管理网络上发起的连接要求目标端点提供 TLS 证书以验证其身份。此要求会影响属于池或与池交互的以下各项:

  • 池中的主机
  • XenCenter®
  • 使用 API 的第三方客户端

证书验证与 XenServer 提供的自签名证书和受信任机构签名的用户安装证书兼容。有关详细信息,请参阅在主机上安装 TLS 证书

池中的每个 XenServer 主机都有两个用于标识它的证书:

  • 池内部身份证书用于保护池内主机之间的通信。对于池内通信,XenServer 始终使用自签名证书。

  • 服务器身份证书用于向在管理网络上与池通信的任何客户端应用程序验证 XenServer 主机的身份。对于主机和客户端应用程序之间的通信,您可以使用自签名证书,也可以在主机上安装自己的 TLS 证书。

当主机首次加入池或客户端首次连接到池时,池会信任该连接。在此首次连接期间,证书在池与加入主机或连接客户端之间交换。对于此主机或客户端在管理网络上的所有后续通信,证书用于验证通信中涉及各方的身份。

建议您在所有主机和池上启用证书验证。XenServer 主机要成功加入池,主机和池都必须启用或禁用证书验证。如果其中一个启用了证书验证而另一个没有,则加入操作将不成功。XenCenter 会提供警告消息,建议您在池或加入主机上启用证书验证。

当主机离开启用了证书验证的池时,主机和池都会删除与对方相关的证书。

工作负载平衡虚拟设备可与证书验证配合使用。您必须确保工作负载平衡自签名证书已安装到您的 XenServer 主机中。

Conversion Manager 虚拟设备不连接到 XenServer 主机,因此当它充当 TLS 客户端终结点时,免除证书检查要求。

为池启用证书验证

在 XenServer 8.4 及更高版本的新安装中,证书验证默认启用。如果您从早期版本的 XenServer 升级,证书验证不会自动启用,您必须手动启用它。下次连接到升级后的池时,XenCenter 会提示您启用证书验证。

在池上启用证书验证之前,请确保池中没有正在运行的操作。

使用 XenCenter 启用

XenCenter 提供了几种启用证书验证的方法。

  • 首次将 XenCenter 连接到未启用证书验证的池时,系统会提示您启用它。单击 是,启用证书验证

  • 菜单中,选择 启用证书验证

  • 在池的 常规 选项卡上,右键单击 证书验证 条目,然后从菜单中选择 启用证书验证

使用 xe CLI 启用

要为池启用证书验证,请在池中主机的控制台中运行以下命令:

xe pool-enable-tls-verification

管理证书

您可以安装、查看有关证书的信息,并重置用于验证主机身份的证书。

安装证书

您可以为主机安装自己的 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 中,转到该主机的“常规”选项卡。“证书”部分显示服务器身份证书和池内部身份证书的指纹和有效期。

  • 使用 xe CLI,可以运行以下命令:

     xe certificate-list
    

刷新池内部身份证书

您可以使用 xe CLI 刷新池内部身份证书:

  1. 通过运行以下命令查找要重置其证书的主机的 UUID:

    xe host-list
    
  2. 要重置证书,请运行以下命令:

    xe host-refresh-server-certificate host=<host_uuid>
    

    注意:

    此命令可与任何主机选择器参数一起使用,以指示要重置证书的主机。

重置服务器身份证书

您可以从 XenCenter 或 xe CLI 重置服务器身份证书。重置证书会从主机中删除该证书,并在其位置安装新的自签名证书。

要在 XenCenter 中重置证书:

  1. 转到主机的“常规”选项卡。
  2. 在“证书”部分中,右键单击要重置的证书。
  3. 从菜单中选择“重置证书”。
  4. 在出现的对话框中,单击“”以确认重置证书。

或者,在“服务器”菜单中,您可以转到“证书 > 重置证书”。

重置证书时,与 XenServer 主机的任何现有连接都将断开 — 包括 XenCenter 与主机之间的连接。证书重置后,XenCenter 会自动重新连接到主机。

要使用 xe CLI 重置证书:

  1. 通过运行以下命令查找要重置其证书的主机的 UUID:

    xe host-list
    
  2. 要重置证书,请运行以下命令:

    xe host-reset-server-certificate host=<host_uuid>
    

    注意:

    此命令可与任何主机选择器参数一起使用,以指示要重置证书的 XenServer 主机。

重置证书时,与 XenServer 主机的任何现有连接都将断开 — 包括 XenCenter 与主机之间的连接。证书重置后,XenCenter 会自动重新连接到主机。

过期警报

当您的服务器身份证书、池内部身份证书或池 CA 证书临近其到期日期时,XenCenter 会在通知视图中显示警报。

暂时禁用证书验证

我们不建议您在主机或池上启用证书验证后将其禁用。但是,XenServer 提供了可在排查证书问题时用于按主机禁用证书验证的命令。

要暂时禁用证书验证,请在主机控制台上运行以下命令:

xe host-emergency-disable-tls-verification

当已启用该功能的池中的主机上禁用了证书验证时,XenCenter 会在通知视图中显示警报。

解决主机上的任何证书问题后,请确保再次启用证书验证。要再次启用证书验证,请在主机控制台上运行以下命令:

xe host-emergency-reenable-tls-verification
证书验证