ADC

NetScaler 设备上提供的密码

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

备注

  • 从版本 13.0 Build 71.x 及更高版本中,以下平台支持 TLS1.3 硬件加速:

    • MPX 5900
    • MPX/SDX 8900
    • MPX/SDX 9100
    • MPX/SDX 15000
    • MPX/SDX 15000-50G
    • MPX/SDX 16000
    • MPX/SDX 26000
    • MPX/SDX 26000-50S
    • MPX/SDX 26000-100G

    - 除 NetScaler FIPS 设备外,所有其他 NetScaler MPX 和 SDX 设备均提供对 TLSv1.3 协议的纯软件支持。

  • TLSv1.3 仅支持增强型配置文件。要启用增强型配置文件,请参阅 启用增强型配置文件

  • 若要使用 TLS1.3,您必须使用符合 RFC 8446 规范的客户端。

  • RC4 密码不包含在 NetScaler 设备的默认密码组中。但是,基于 N3 的设备上的软件支持此功能。RC4加密(包括握手)是在软件中完成的。

  • Citrix 建议您不要使用此密码,因为 RFC 7465 认为该密码不安全且已弃用。

  • 使用“show hardware”命令确定您的设备是否有 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 进行加密。

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

注意:

有关 DTLS 密码支持,请参阅 NetScaler VPX、MPX 和 SDX 设备上的 DTLS 密码支持

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

|协议/平台|MPX/SDX (N2)|MPX/SDX (N3)|VPX|MPX/SDX 14000** FIPS|MPX 5900/8900 MPX 15000-50G MPX 26000-100G| |—|—|—|—|—|—| | TLS 1.3 | 13.1 所有内部版本 | 13.1 所有内部版本 | 13.1 所有内部版本 | 不支持 | 13.1 所有内部版本 | ||13.0 所有内部版本 | 13.0 所有内部版本 | 13.0 所有内部版本 | 不支持 | 13.0 所有内部版本 | || 12.1—50.x(TLS1.3-CHACHA20-POLY1305-SHA256 除外)| 12.1—50.x(TLS1.3-CHACHA20-POLY1305-SHA256 除外)| 12.1–50.x | 不支持 | 12.1–50.x | | TLS 1.1/1.2 | 13.1 所有内部版本 | 13.1 所有内部版本 | 13.1 所有内部版本 | 13.1 所有内部版本 | 13.1 所有内部版本 | || 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 所有内部版本 | 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–56.x 适用于 MPX 5900/8900 和 MPX 15000-50G,11.1-60.x 适用于 MPX 26000-100G | || 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–59.1359.e | 10.5–67.x、10.5-63.47(仅在 MPX 5900/8900 上)| | ECDHE/DHE(示例 TLS1-ECDHE-RSA-AES128-SHA)|13.1 所有版本 |13.1 所有版本 | 13.1 所有版本 | 13.1 所有版本 | 13.1 所有版本| || 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 所有版本 | 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–56.x,适用于 MPX 5900/8900 和 MPX 15000-50G,11.1-60.x 适用于 MPX 26000-100G | || 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–67.x,10.5-63.47(仅在 MPX 5900/8900 上) | |AES-GCM(示例 TLS1.2-AES128-GCM-SHA256)| 13.1 所有版本 | 13.1 所有版本|13.1 所有版本 | 13.1 所有版本 | 13.1 所有版本 | ||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 所有版本 | 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–56.x 适用于 MPX 5900/8900 和 MPX 15000-50G,11.1-60.x 适用于 MPX 26000-100G | ||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.1 所有版本|13.1 所有版本|13.1 所有版本|13.1 所有版本|13.1 所有版本 | ||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 所有版本 | 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–56.x,适用于 MPX 5900/8900 和 MPX 15000-50G,11.1-60.x 适用于 MPX 26000-100G | || 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.1 所有版本 | 13.1 所有版本 | 13.1 所有版本 | 13.1 所有版本 | || 不受支持 | 13.0 所有版本 | 13.0 所有版本 | 13.0 所有版本 | 13.0 所有版本 | || 不受支持 | 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 curves P_256 和 P_384。)| | CHACHA20 | 不受支持 | 13.1 所有版本 | 13.1 所有版本 | 不受支持 | 13.1 所有版本 | ||不受支持 | 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 MPX/SDX 14000** FIPS MPX 5900/8900 MPX 15000-50G MPX 26000-100G
TLS 1.1/1.2 13.1 所有内部版本 13.1 所有内部版本 13.1 所有内部版本 13.1 所有内部版本 13.1 所有内部版本
13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本
12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本
12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本 12.0 所有内部版本
11.1 所有内部版本 11.1 所有内部版本 11.1 所有内部版本 11.1 所有内部版本
11.0–50.x 11.0–50.x 11.0–66.x  
10.5–59.x 10.5–59.x 10.5—59.1359.e
ECDHE/DHE(示例 TLS1-ECDHE-RSA-AES128-SHA) 13.1 所有内部版本 13.1 所有内部版本 13.1 所有内部版本 13.1 所有内部版本 13.1 所有内部版本
13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本
12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本
12.0 所有内部版本 12.0 所有内部版本 12.0–56.x 12.0 所有内部版本
11.1 所有内部版本 11.1 所有内部版本 11.1–51.x
11.0–50.x 11.0–50.x
10.5–58.x 10.5–58.x
AES-GCM(示例 TLS1.2-AES128-GCM-SHA256) 13.1 所有内部版本 13.1 所有内部版本 13.1 所有内部版本 13.1 所有内部版本 13.1 所有内部版本
13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本
12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本
12.0 所有内部版本 12.0 所有内部版本 不支持 12.0 所有内部版本
11.1 所有内部版本 11.1 所有内部版本 11.1–51.x
SHA-2 密码(示例 TLS1.2-AES-128-SHA256) 13.1 所有内部版本 13.1 所有内部版本 13.1 所有内部版本 13.1 所有内部版本 13.1 所有内部版本
13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本
12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本
12.0 所有内部版本 12.0 所有内部版本 不支持 12.0 所有内部版本
11.1 所有内部版本 11.1 所有内部版本 11.1–52.x
ECDSA(示例 TLS1-ECDHE-ECDSA-AES256-SHA) 不支持 13.1 所有内部版本 13.1 所有内部版本 13.1 所有内部版本 13.1 所有内部版本
不支持 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本
不支持 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本
不支持 12.0 所有内部版本 12.0–57.x 不支持
11.1–51.x
CHACHA20 不支持 13.1 所有内部版本 13.1 所有内部版本 不支持 13.1 所有内部版本
不支持 13.0 所有内部版本 13.0 所有内部版本 不支持
不支持 不支持 12.1 所有内部版本 不支持
不支持 不支持 12.0–56.x 不支持

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

备注

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

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

  • 所有设备的前端都支持所有 SHA-2 签名证书(SHA256、SHA384、SHA512)。在版本 11.1 build 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 有什么帮助

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

SSL PFS-2

用例子解释

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

为每个会话创建密钥的另一面是它需要额外的计算。但是,这个问题可以通过使用具有较小关键帧大小的椭圆曲线来解决。

在 NetScaler 设备上配置 PFS

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

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

使用 GUI 配置 DHE

  1. 生成 DH 密钥。

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

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

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

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

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

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

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

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

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

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

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

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

使用 GUI 配置 ECDHE

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

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

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

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

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

    a. 导航到 配置 > 流量管理 > 虚拟服务器 ,然后选择要启用 DH 的虚拟服务器。

    b. 单击“编辑”>“SSL 密码”,然后选择 ECDHE 密码组,然后单击“绑定”。

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

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

使用 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 密码。

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

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

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

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

使用 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-->
    
NetScaler 设备上提供的密码