使用单元管理工具的 ciphers 命令配置单元在 SSL 握手过程中提供使用的一组密码套件。

注: ciphers 命令仅适用于 VMware Cloud Director 用于 HTTPS 和控制台代理通信的一组证书,而不适用于 VMware Cloud Director 设备用于其设备管理用户界面和 API 的证书。

客户端与 VMware Cloud Director 单元建立 SSL 连接时,该单元支持仅使用其默认的允许密码的列表中配置的密码。多个密码不在此列表中,可能的原因是这些密码不够强,无法保护连接,或者已知这些密码会导致 SSL 连接失败。

安装或升级 VMware Cloud Director 时,安装或升级脚本会检查该单元的证书。如果使用允许密码列表中未列出的密码对任何证书进行加密,则安装或升级将失败。可以通过执行以下步骤替换证书并重新配置允许密码列表:
  1. 创建不使用任何禁用密码的证书。可以使用 cell-management-tool ciphers -a(如以下示例所示)列出默认配置中允许的所有密码。
  2. 使用 cell-management-tool certificates 命令将单元的现有证书替换为新证书。
  3. 使用 cell-management-tool ciphers 命令重新配置允许密码列表并包括用于新证书的所有必要密码。
    重要说明: 由于 VMRC 控制台需要使用 AES256-SHA 和 AES128-SHA 密码,因此如果 VMware Cloud Director 客户端使用 VMRC 控制台,则不能禁用这两个密码。
要管理允许的 SSL 密码的列表,请使用以下形式的命令行:
cell-management-tool ciphers options
表 1. 单元管理工具选项和参数,ciphers 子命令
选项 参数 描述
--help (-h) 提供此类别中可用命令的摘要。
--all-allowed (-a) 列出 VMware Cloud Director 支持的所有密码。
--compatible-reset (-c)(已弃用) 已弃用。使用 --reset 选项重置为默认的允许密码列表。
--disallow (-d) 以逗号分隔的密码名称列表。 禁用指定的逗号分隔列表中的密码。每次运行此选项时,都必须包含要停用的密码的完整列表,因为运行此选项会覆盖以前的设置。
重要说明: 如果运行此选项时不带任何值,将激活所有密码。
要查看所有可能的密码,请运行 -a 选项。
重要说明: 运行 ciphers --disallow 后,必须重新启动单元。
--list (-l) 列出当前正在使用的一组允许的密码。
--reset (-r) 重置为默认的允许密码列表。如果此单元的证书使用禁用的密码,您将无法与该单元建立 SSL 连接,除非安装使用允许密码的新证书。
重要说明: 运行 ciphers --reset 后,必须重新启动单元。

禁用两个密码

VMware Cloud Director 包含预配置的已启用密码列表。

此示例显示了如何从允许的密码列表中启用其他密码,以及如何禁用不希望使用的密码。

  1. 获取默认启用的密码列表。
    [root@cell1 /opt/vmware/vcloud-director/bin]# ./cell-management-tool ciphers -l
    该命令的输出将返回已启用密码的列表。
    Allowed ciphers:
    * TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    * TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    * TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    * TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  2. 获取单元在 SSL 握手期间可以提供的所有密码的列表。
    [root@cell1 /opt/vmware/vcloud-director/bin]# ./cell-management-tool ciphers -a
    命令的输出返回允许的密码列表。
    # ./cell-management-tool ciphers -a
    Product default ciphers:
    * TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    * TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    * TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    * TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    * TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
    * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
    * TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
    * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
    * TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
    * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
    * TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
    * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
    * TLS_RSA_WITH_AES_256_GCM_SHA384
    * TLS_RSA_WITH_AES_128_GCM_SHA256
    * TLS_RSA_WITH_AES_256_CBC_SHA256
    * TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
    * TLS_RSA_WITH_AES_256_CBC_SHA
    * TLS_RSA_WITH_AES_128_CBC_SHA256
    * TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
    * TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
    * TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
    * TLS_RSA_WITH_AES_128_CBC_SHA
  3. 指定要停用的密码。

    如果在运行命令时未明确停用某个密码,则该密码将处于激活状态。

    [root@cell1 /opt/vmware/vcloud-director/bin]#./cell-management-tool ciphers -d TLS_RSA_WITH_AES_128_CBC_SHA,TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
  4. 运行 命令以检查激活的密码列表。列表中不存在的任何密码均被停用。
    root@bos1-vcd-static-211-90 [ /opt/vmware/vcloud-director/bin ]# ./cell-management-tool ciphers -l
    输出将返回现在已启用的所有密码的列表。
    Allowed ciphers:
    * TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    * TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
    * TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
    * TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    * TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
    * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
    * TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
    * TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
    * TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
    * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
    * TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
    * TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
    * TLS_RSA_WITH_AES_256_GCM_SHA384
    * TLS_RSA_WITH_AES_128_GCM_SHA256
    * TLS_RSA_WITH_AES_256_CBC_SHA256
    * TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
    * TLS_RSA_WITH_AES_256_CBC_SHA
    * TLS_RSA_WITH_AES_128_CBC_SHA256
    * TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
    * TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA