Citrix ADC

Citrix ADC 设备上可用的密码

Citrix ADC 设备随附一组预定义的密码组。要使用不属于 DEFAULT 密码组的密码,您必须将密码显式绑定到 SSL 虚拟服务器。您还可以创建用户定义的密码组以绑定到 SSL 虚拟服务器。有关创建用户定义的密码组的更多信息,请参阅在 ADC 设备上配置用户定义的密码组

备注

Citrix ADC 设备上的默认密码组中不包括 RC4 密码。但是,在基于 N3 的设备的软件中支持它。RC4 加密,包括握手,是在软件中完成的。

Citrix 建议您不要使用此密码,因为它被 RFC 7465 视为不安全且不推荐使用。

使用“显示硬件”命令来识别您的设备是否具有 N3 芯片。

sh hardware

Platform: NSMPX-22000 16\*CPU+24\*IX+12\*E1K+2\*E1K+4*CVM N3 2200100

Manufactured on: 8/19/2013

CPU: 2900MHZ

Host Id: 1006665862

Serial no: ENUK6298FT

Encoded serial no: ENUK6298FT
<!--NeedCopy-->
  • 要显示有关在前端(到虚拟服务器)默认绑定的密码套件的信息,请键入: sh cipher DEFAULT
  • 要显示有关在后端(到服务)默认绑定的密码套件的信息,请键入: sh cipher DEFAULT_BACKEND
  • 要显示有关设备上定义的所有密码组(别名)的信息,请键入: sh cipher
  • 要显示属于特定密码组的所有密码套件的信息,请键入: sh cipher <alias name>。例如,sh 密码 ECDHE。

以下链接列出了不同 Citrix ADC 平台和外部硬件安全模块 (HSM) 支持的密码套件:

注意 : 有关 DTL 密码支持,请参阅 Citrix ADC VPX、MPX 和 SDX 设备上的 DTL 密码支持。

表 1-支持虚拟服务器/前端服务/内部服务:

协议/平台 MPX/SDX (N2) MPX/SDX (N3) VPX 带固件 2.2 的 MPX 9700* FIPS MPX/SDX 14000** FIPS MPX 5900/8900 MPX 15000-50G MPX 26000-100G
TLS 1.3 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 不支持 不支持 13.0 所有内部版本
  12.1–50.x 12.1–50.x 12.1–50.x 不支持 不支持 12.1–50.x
TLS 1.1/1.2 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本
  12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本(适用于 MPX 5900/8900)、12.1-50.x(适用于 MPX 15000-50G 和 MPX 26000-100G)
  12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本(适用于 MPX 5900/8900)、12.0-57.x(适用于 MPX 15000-50G)、12.0-60.x(适用于 MPX 26000-100G)
  11.1 所有内部版本 11.1 所有内部版本 11.1 所有内部版本 11.1 所有内部版本 11.1 所有内部版本 MPX 5900/8900 的 11.1-56.x 和 MPX 15000-50G,MPX 26000-100G 的 11.1-60.x
  11.0 所有版本 11.0 所有版本 11.0 所有版本 11.0 所有版本 11.0 所有版本 11.0—70.x(仅在 MPX 5900/8900 上)
  10.5 所有版本 10.5 所有版本 10.5–57.x 10.5 58.1108.e 10.5–59.1359.e 10.5—67.x、10.5-63.47(仅在 MPX 5900/8900 上)
ECDHE/DHE(示例:TLS1-ECDHE-RSA-AES128-SHA) 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本
  12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本(适用于 MPX 5900/8900)、12.1-50.x(适用于 MPX 15000-50G 和 MPX 26000-100G)
  12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本(适用于 MPX 5900/8900)、12.0-57.x(适用于 MPX 15000-50G)、12.0-60.x(适用于 MPX 26000-100G)
  11.1 所有内部版本 11.1 所有内部版本 11.1 所有内部版本 11.1 所有内部版本 11.1–51.x MPX 5900/8900 的 11.1-56.x 和 MPX 15000-50G,MPX 26000-100G 的 11.1-60.x
  11.0 所有版本 11.0 所有版本 11.0 所有版本     11.0—70.114(仅在 MPX 5900/8900 上)
  10.5–53.x 10.5–53.x 10.5 所有版本 10.5–59.1306.e   10.5—67.x、10.5-63.47(仅在 MPX 5900/8900 上)
AES-GCM(例如:TLS1.2-AES128-GCM-SHA256) 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本
  12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本(适用于 MPX 5900/8900)、12.1-50.x(适用于 MPX 15000-50G 和 MPX 26000-100G)
  12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本(适用于 MPX 5900/8900)、12.0-57.x(适用于 MPX 15000-50G)、12.0-60.x(适用于 MPX 26000-100G)
  11.1 所有内部版本 11.1 所有内部版本 11.1 所有内部版本 11.1—51.x(请参阅注释) 11.1—51.x(请参阅注释) MPX 5900/8900 的 11.1-56.x 和 MPX 15000-50G,MPX 26000-100G 的 11.1-60.x
  11.0 所有版本 11.0 所有版本 11.0–66.x     11.0—70.114(仅在 MPX 5900/8900 上)
  10.5–53.x 10.5–53.x       10.5—67.x、10.5-63.47(仅在 MPX 5900/8900 上)
SHA-2 密码(示例 TLS1.2-AES-128-SHA256) 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本
  12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本(适用于 MPX 5900/8900)、12.1-50.x(适用于 MPX 15000-50G 和 MPX 26000-100G)
  12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本(适用于 MPX 5900/8900)、12.0-57.x(适用于 MPX 15000-50G)、12.0-60.x(适用于 MPX 26000-100G)
  11.1 所有内部版本 11.1 所有内部版本 11.1 所有内部版本 11.1–52.x 11.1–52.x MPX 5900/8900 的 11.1-56.x 和 MPX 15000-50G,MPX 26000-100G 的 11.1-60.x
  11.0 所有版本 11.0 所有版本 11.0–66.x     11.0—72.x、11.0-70.114(仅在 MPX 5900/8900 上)
  10.5–53.x 10.5–53.x       10.5—67.x、10.5-63.47(仅在 MPX 5900/8900 上)
ECDSA(例如 TLS1-ECDHE-ECDSA-AES256-SHA) 不支持 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本
  不支持 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本(适用于 MPX 5900/8900)、12.1-50.x(适用于 MPX 15000-50G 和 MPX 26000-100G)
  不支持 12.0 所有内部版本 12.0–-57.x 不适用 不支持 12.0 所有内部版本(适用于 MPX 5900/8900)、12.0-57.x(适用于 MPX 15000-50G)、12.0-60.x(适用于 MPX 26000-100G)
    11.1 所有内部版本       11.1—56.x、11.1-54.126(仅支持 ECC 曲线 P_256 和 P_384。)
CHACHA20 不支持 13.0 所有内部版本 13.0 所有内部版本 不支持 不支持 13.0 所有内部版本
  不支持 不支持 12.1 所有内部版本 不支持 不支持 12.1—49.x(仅在 MPX 5900/8900 上)
  不支持 不支持 12.0–56.x 不支持 不支持 不支持

表 2-对后端服务的支持:

后端不支持 TLS 1.3。

协议/平台 MPX/SDX (N2) MPX/SDX (N3) VPX 带固件 2.2 的 MPX 9700* FIPS MPX/SDX 14000** FIPS MPX 5900/8900 MPX 15000-50G MPX 26000-100G
TLS 1.1/1.2 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本
  12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本(适用于 MPX 5900/8900)、12.1-50.x(适用于 MPX 15000-50G 和 MPX 26000-100G)
  12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本(适用于 MPX 5900/8900)、12.0-57.x(适用于 MPX 15000-50G)、12.0-60.x(适用于 MPX 26000-100G)
  11.1 所有内部版本 11.1 所有内部版本 11.1 所有内部版本 11.1 所有内部版本 11.1 所有内部版本 MPX 5900/8900 的 11.1-56.x 和 MPX 15000-50G,MPX 26000-100G 的 11.1-60.x
  11.0–50.x 11.0–50.x 11.0–66.x 11.0 所有版本   11.0—70.119(仅在 MPX 5900/8900 上)
  10.5–59.x 10.5–59.x   10.5–58.1108.e 10.5–59.1359.e 10.5—67.x、10.5-63.47(仅在 MPX 5900/8900 上)
ECDHE/DHE(示例:TLS1-ECDHE-RSA-AES128-SHA) 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本
  12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本(适用于 MPX 5900/8900)、12.1-50.x(适用于 MPX 15000-50G 和 MPX 26000-100G)
  12.0 所有内部版本 12.0 所有内部版本 12.0–56.x 12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本(适用于 MPX 5900/8900)、12.0-57.x(适用于 MPX 15000-50G)、12.0-60.x(适用于 MPX 26000-100G)
  11.1 所有内部版本 11.1 所有内部版本   11.1 所有内部版本 11.1–51.x MPX 5900/8900 的 11.1-56.x 和 MPX 15000-50G,MPX 26000-100G 的 11.1-60.x
  11.0–50.x 11.0–50.x       11.0—70.119(仅在 MPX 5900/8900 上)
  10.5–58.x 10.5–58.x   10.5–59.1306.e   10.5—67.x、10.5-63.47(仅在 MPX 5900/8900 上)
AES-GCM(例如:TLS1.2-AES128-GCM-SHA256) 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本
  12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本(适用于 MPX 5900/8900)、12.1-50.x(适用于 MPX 15000-50G 和 MPX 26000-100G)
  12.0 所有内部版本 12.0 所有内部版本 不支持 12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本(适用于 MPX 5900/8900)、12.0-57.x(适用于 MPX 15000-50G)、12.0-60.x(适用于 MPX 26000-100G)
  11.1 所有内部版本 11.1 所有内部版本   11.1–51.x 11.1–51.x MPX 5900/8900 的 11.1-56.x 和 MPX 15000-50G,MPX 26000-100G 的 11.1-60.x
SHA-2 密码(示例 TLS1.2-AES-128-SHA256) 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本
  12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本(适用于 MPX 5900/8900)、12.1-50.x(适用于 MPX 15000-50G 和 MPX 26000-100G)
  12.0 所有内部版本 12.0 所有内部版本 不支持 12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本(适用于 MPX 5900/8900)、12.0-57.x(适用于 MPX 15000-50G)、12.0-60.x(适用于 MPX 26000-100G)
  11.1 所有内部版本 11.1 所有内部版本   11.1–52.x 11.1–52.x MPX 5900/8900 的 11.1-56.x 和 MPX 15000-50G,MPX 26000-100G 的 11.1-60.x
ECDSA(例如 TLS1-ECDHE-ECDSA-AES256-SHA) 不支持 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本
  不支持 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本(适用于 MPX 5900/8900)、12.1-50.x(适用于 MPX 15000-50G 和 MPX 26000-100G)
  不支持 12.0 所有内部版本 12.0–57.x 不适用 不支持 12.0 所有内部版本(适用于 MPX 5900/8900)、12.0-57.x(适用于 MPX 15000-50G)、12.0-60.x(适用于 MPX 26000-100G)
    11.1–51.x   不适用   MPX 5900/8900 的 11.1-56.x 和 MPX 15000-50G,MPX 26000-100G 的 11.1-60.x(仅支持 ECC 曲线 P_256 和 P_384。)
CHACHA20 不支持 13.0 所有内部版本 13.0 所有内部版本 不支持 不支持 13.0 所有内部版本
  不支持 不支持 12.1 所有内部版本 不支持 不支持 MPX 5900/8900 的 12.1-49.x,MPX 15000-50G 和 MPX 26000-100G 的 12.1-50.x
  不支持 不支持 12.0–56.x 不支持 不支持 不支持

有关支持的 ECDSA 密码的详细列表,请参阅 ECDSA 密码套件支持。

注意

  • 从版本 10.5 版本 57.x 的所有设备都支持 TLS-Fallback_SCSV 密码套件

  • HTTP 严格传输安全性 (HSTS) 支持是基于策略的。

  • 所有设备的前端都支持所有 SHA-2 签名证书(SHA256、SHA384、SHA512)。在版本 11.1 版本 54.x 及更高版本中,所有设备的后端也支持这些证书。在 11.0 及更早版本中,所有设备的后端仅支持 SHA256 签名证书。

  • 在 11.1 版本 52.x 及更早版本中,只有 MPX 9700 和 MPX/SDX 14000 FIPS 设备的前端才支持以下密码:
    • TLS1.2-ECDHE-RSA-AES-256-SHA384
    • TLS1.2-ECDHE-RSA-AES256-GCM-SHA384 From release 11.1 build 53.x, and in release 12.0, these ciphers are also supported on the back end.
  • 所有 ChaCha20-Poly1035 密码都使用带 SHA-256 哈希函数的 TLS 伪随机函数 (PSF)。

完美的向前保密 (PFS)

Perfect Forward Secrecy 确保对当前 SSL 通信的保护,即使 Web 服务器的会话密钥在稍后某个时间点被泄露也是如此。

为什么你需要完美的向前保密 (PFS)

SSL 连接用于保护客户端和服务器之间传递的数据。此连接从客户端的浏览器和联系的 Web 服务器之间发生的 SSL 握手开始。正是在这次握手期间,浏览器和服务器交换某些信息以获得会话密钥,该密钥用作在整个通信中其余部分加密数据的手段。

SSL PFS-1

RSA 是密钥交换中最常用的算法。浏览器使用服务器的公钥对服务器进行加密,然后通过预置主机密发送给服务器。此预主密钥用于到达会话密钥。RSA 密钥交换方法的问题在于,如果攻击者设法在未来的任何时间点获得服务器的私钥的持有,那么攻击者就会获得会话密钥的预主机密钥。攻击者现在可以使用此会话密钥解密所有 SSL 对话。这意味着您的历史 SSL 通信早已安全,但它们已不再安全,因为服务器被盗的私钥可用于到达会话密钥,从而也可以解密任何保存的历史对话。

需要的是能够保护过去的 SSL 通信,即使服务器的私钥已被泄露。这就是配置完美向前保密 (PFS) 来救援的地方。

PFS 有什么帮助

Perfect Forward Secrecy (PFS) 通过让客户端和服务器商定每个会话的新密钥,并将此会话密钥的计算保密保密,从而保护过去的 SSL 通信。它的工作基础是,服务器密钥的破坏不得导致会话密钥受损。会话密钥在两端分别派生,永远不会通过电汇传输。通信完成后,会话密钥也会被销毁。这些事实确保,即使有人获得服务器的私钥的访问权限,他们也无法到达会话密钥,因此无法解密过去的数据。

SSL PFS-2

用例子解释

假设我们正在使用 DHE 来获得 PFS。DH 算法确保,即使黑客持有服务器的私钥,黑客也无法到达会话密钥,因为会话密钥和随机数(用于到达会话密钥)两端都保密,从来没有通过电汇交换。 PFS 可以通过使用临时 Diffie-Hellman 密钥交换来实现,该交换为每个 SSL 会话创建新的临时密钥。

为每个会话创建密钥的另一面是它需要额外的计算,但是可以通过使用具有较小键大小的 Elliptic Curve 来克服这一点。

在 Citrix ADC 设备上配置 PFS

可以通过配置 DHE 或 ECDHE 密码在 Citrix ADC 上配置 PFS。这些密码确保创建的秘密会话密钥不会在线上共享(DH 算法),并且会话密钥只能在短时间内保持活动状态(临时)。以下各节将对这两种配置进行说明。

注意: 使用 ECDHE 密码而不是 DHE 使用更小的密钥大小,通信更安全。

使用 GUI 配置 DHE

  1. 生成 DH 密钥。

    a. 导航到 流量管理 > SSL > 工具

    b. 点击 创建 Diffie Helman (DH) 密钥

    注意: 生成 2048 位 DH 密钥可能需要 30 分钟。

    SSL PFS-3

    SSL PFS-4

  2. 为 SSL 虚拟服务器启用 DH 参数,然后将 DH 密钥附加到 SSL 虚拟服务器。

    a. 导航到 配置 > 流量管理 > 虚拟服务器

    b. 选择要在其上启用 DH 的虚拟服务器。

    c. 单击 编辑,单击 SSL 参数,然后单击 启用 DH 参数。

    SSL PFS-5

  3. 将 DHE 密码绑定到虚拟服务器。

    a. 导航到 配置 > 流量管理 > 虚拟服务器

    b. 选择要在其上启用 DH 的虚拟服务器,然后单击铅笔图标进行编辑。

    c. 在 “ 高级设置” 下,单击 SSL 密码旁边的加号图标,然后选择 DHE 密码组,然 后单击确 定进行绑定。

    注意: 确保 DHE 密码位于绑定到虚拟服务器的密码列表的顶部。

    SSL PFS-6

    SSL PFS-7

    SSL PFS-8

使用 GUI 配置 ECDHE

  1. 将 ECC 曲线绑定到 SSL 虚拟服务器。

    a. 导航到 Configuration(配置)> Traffic Management(流量管理)> Load Balancing(负载平衡)> Virtual Servers(虚拟服务器)

    b. 选择要编辑的 SSL 虚拟服务器,单击 ECC Curve ,然后单击 添加绑定

    c. 将所需的 ECC 曲线绑定到虚拟服务器。

    SSL PFS-9

    SSL PFS-10

  2. 将 ECDHE 密码绑定到虚拟服务器。

    a. Navigate to Configuration > Traffic Management > Virtual Servers and select the virtual server on which you want to enable DH.

    b. Click Edit > SSL Ciphers and select the ECDHE cipher groups and click Bind.

    Note: Ensure that the ECDHE ciphers are at the top of the cipher list bound to the virtual server.

    SSL PFS-11

    SSL PFS-12

    SSL PFS-13

注意: 对于每种情况,请验证 Citrix ADC 设备是否支持要用于通信的密码。

使用 SSL 配置文件配置 PFS

注意: 使用 SSL 配置文件配置 PFS(密码或 ECC)的选项从 11.0 64.x 版本开始引入。如果使用旧版本,请忽略以下部分。

要使用 SSL 配置文件启用 PFS,需要在 SSL 配置文件上完成类似的配置(如前面的配置部分所述),而不是直接在虚拟服务器上进行配置。

使用 GUI 使用 SSL 配置文件配置 PFS

  1. 绑定 SSL 配置文件上的 ECC 曲线和 ECDHE 密码。

    注意: 默认情况下,ECC 曲线已绑定到所有 SSL 配置文件。

    a. 导航到 “ 系统” > “配置文件” > “SSL 配置文件 ”,然后选择要启用 PFS 的配置文件。

    b. 绑定 ECDHE 密码。

    SSL PFS-14

  2. 将 SSL 配置文件绑定到虚拟服务器。

    a. 转到 配置 > 流量管理 > 虚拟服务器 ,然后选择虚拟服务器。

    b. 单击铅笔图标以编辑 SSL 配置文件。

    c. 单击 确定,然后 单击 完成

    SSL PFS-15

使用 CLI 使用 SSL 配置 PFS

在命令提示符下,键入:

  1. 将 ECC 曲线绑定到 SSL 配置文件。

    bind sslprofile <SSLProfileName> -eccCurveName <Name_of_curve>
    <!--NeedCopy-->
    
  2. 绑定 ECDHE 密码组。

    bind sslprofile <SSLProfileName> cipherName <ciphergroupName>
    <!--NeedCopy-->
    
  3. 将 ECDHE 密码的优先级设置为 1。

    set sslprofile <SSLProfileName> cipherName <ciphergroupName> cipherPriority <positive_integer>
    <!--NeedCopy-->
    
  4. 将 SSL 配置文件绑定到虚拟服务器。

    set SSL vserver <vservername> sslProfile <SSLProfileName>
    <!--NeedCopy-->
    
Citrix ADC 设备上可用的密码