ADC

Citrix ADC 设备上可用的密码

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

备注

NetScaler ADC 设备上的默认密码组中不包括 RC4 密码。但是,基于 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 ADC 平台和外部硬件安全模块 (HSM) 支持的密码套件:

注意:

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

表 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.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 不支持
TLS 1.1/1.2 13.0 所有内部版本 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 所有内部版本 11.0 所有内部版本 11.0 所有内部版本 11.0 所有内部版本
10.5 所有构建 10.5 所有构建 10.5–57.x 10.5—59.1359.e
ECDHE/DHE(示例 TLS1-ECDHE-RSA-AES128-SHA) 13.0 所有内部版本 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–51.x
11.0 所有内部版本 11.0 所有内部版本 11.0 所有内部版本
10.5–53.x 10.5–53.x 10.5 所有构建
AES-GCM(示例 TLS1.2-AES128-GCM-SHA256) 13.0 所有内部版本 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—51.x(请参阅注释)
11.0 所有内部版本 11.0 所有内部版本 11.0–66.x
10.5–53.x 10.5–53.x
SHA-2 密码(示例 TLS1.2-AES-128-SHA256) 13.0 所有内部版本 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–52.x
11.0 所有内部版本 11.0 所有内部版本 11.0–66.x
10.5–53.x 10.5–53.x
ECDSA(示例 TLS1-ECDHE-ECDSA-AES256-SHA) 不支持 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本
不支持 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本
不支持 12.0 所有内部版本 12.0-57.x 不支持
11.1 所有内部版本
CHACHA20 不支持 13.0 所有内部版本 13.0 所有内部版本 不支持 13.0 所有内部版本
不支持 不支持 12.1 所有内部版本 不支持
不支持 不支持 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.0 所有内部版本 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.0 所有内部版本 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.0 所有内部版本 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.0 所有内部版本 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.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本 13.0 所有内部版本
不支持 12.1 所有内部版本 12.1 所有内部版本 12.1 所有内部版本
不支持 12.0 所有内部版本 12.0–57.x 不支持
11.1–51.x
CHACHA20 不支持 13.0 所有内部版本 13.0 所有内部版本 不支持 13.0 所有内部版本
不支持 不支持 12.1 所有内部版本 不支持
不支持 不支持 12.0–56.x 不支持

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

注意

  • 从 10.5 版本 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 有什么帮助

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

SSL PFS-2

用例子解释

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

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

在 NetScaler ADC 设备上配置 PFS

可以通过配置 DHE 或 ECDHE 密码在 NetScaler ADC 上配置 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 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 密码。

  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-->
    
Citrix ADC 设备上可用的密码