Citrix ADC

支持在RFC 8446中定义的TLSv1.3协议

Citrix ADC VPX和Citrix ADC MPX设备现在支持RFC 8446中指定的TLSv1.3协议。

注:

  • 除了Citrix ADC FIPS设备外,所有Citrix ADC MPX设备都提供对TLSv1.3协议的纯软件支持。

  • 只有增强的配置文件才支持TLSv1.3。要启用增强的配置文件,请参见启用增强的配置文件

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

支持的Citrix ADC特性

支持以下SSL特性:

  1. TLSv1.3密码套件:
    • TLS1.3-AES256-GCM-SHA384 (0 x1302)
    • tls1.3 _chachha20_poly1305_sha256 (0x1303)(仅支持VPX,并且VPX实例在SDX上没有分配SSL芯片)
    • TLS1.3-AES128_GCM-SHA256 (0 x1301)
  2. 临时Diffie-Hellman密钥交换的ECC曲线
    • P_256
    • P_384
    • P_521
  3. 启用基于票证的会话恢复时,缩短握手

  4. 0-RTT前期申请数据

  5. 可选或强制的基于证书的客户端身份验证,支持客户端证书的OCSP和/或CRL验证

  6. 服务器名扩展:使用SNI选择服务器证书

  7. 应用协议协商(ALPN),使用application_level_protocol_negotiation扩展。

  8. OCSP装订

  9. TLSv1.3握手会产生日志消息和AppFlow记录。

  10. 可选记录TLS 1.3的流量秘密nstrace包捕获实用程序。

  11. 与实现RFC 8446的TLS客户端的互操作性。例如:Mozilla Firefox、Google Chrome、OpenSSL。

配置

SSL配置文件默认禁用TLSv1.3。

使用CLI方式添加SSL配置文件

在命令提示符下,输入:

添加SSL配置文件 

例子

add ssl profile tls13profile sh ssl profile tls13profile 1)名称:tls13profile(前端)SSLv3: DISABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED TLSv1.3: DISABLED客户端认证:DISABLED仅使用绑定CA证书:DISABLED严格CA检查:无会话重用:启用超时:120秒DH: DISABLED DH私钥指数大小限制:DISABLED短暂RSA: ENABLED刷新计数:0拒绝ssl重协商所有非FIPS密码:DISABLED密码重定向:DISABLED ssl重定向:禁用发送关闭通知:是严格签名摘要检查:禁用零RTT早期数据:禁用DHE密钥交换与PSK:无票每次认证上下文:1推送加密触发:总是推送加密触发超时:1 ms SNI:禁用OCSP订书:禁用严格主机头检查SNI启用SSL会话:NO推送标志:0x0(自动)SSL量子大小:8 kB加密触发超时100 ms加密触发包计数:45主题/颁发者名称插入格式:Unicode SSL拦截:DISABLED SSL拦截OCSP Check: ENABLED SSL拦截端到端重新协商:ENABLED SSL拦截每台服务器最大复用会话数:10会话票据:DISABLED HSTS: DISABLED HSTS inclesubdomains: NO HSTS Max-Age: 0 ECC曲线:P_256, P_384, P_224, P_521 1)密码名称:DEFAULT优先级:1描述:预定义密码别名Done 

配置SSL配置文件与SSL虚拟服务器绑定

在命令提示符下,输入:

set ssl vserver  -sslProfile  

例子

设置ssl vserver ssl-vs -sslProfile tls13profile

TLSv1.3协议的SSL配置文件参数

  1. 启用/禁用SSL配置文件中的TLS1.3参数。

    tls13: SSL配置文件支持TLSv1.3协议的状态。

    取值范围:ENABLED、DISABLED

    默认值:DISABLED

    设置SSL配置文件tls13profile -tls13 enable 
    设置SSL配置文件tls13profile -tls13 disable 
  2. 设置发出的会话票的数量。

    tls13SessionTicketsPerAuthContext:在协商TLS1.3时,SSL虚拟服务器发出的票据数,启用基于票据的恢复,并且(1)握手完成或(2)握手后客户端身份验证完成。可以增加此值,以使客户端能够为每个连接使用一个新的票证打开多个并行连接。如果禁用恢复,则不会发送票证。

    缺省值:1

    最小值:1

    最大值:10

    设置ssl配置文件tls13profile -tls13sessionTicketsPerAuthContext 1设置ssl配置文件tls13profile -tls13sessionTicketsPerAuthContext 10 
  3. 设置DH密钥交换

    dheKeyExchangeWithPsk:指定在TLS 1.3会话恢复握手期间接受预共享密钥时,SSL虚拟服务器是否要求进行DHE密钥交换。DHE密钥交换确保了前向保密,即使票据密钥被泄露,但代价是需要额外的资源来执行密钥交换。

    如果启用了会话票证,可用的设置如下:

    是的:当接受预共享密钥时,无论客户端是否支持密钥交换,都需要DHE密钥交换。如果客户端在提供预共享密钥时不支持DHE密钥交换,那么握手将终止并发出致命警报。

    没有: DHE密钥交换在接受预共享密钥时执行,仅在客户端请求时执行。

    取值:YES、NO

    默认值:NO

    设置ssl配置文件tls13profile dheKeyExchangeWithPsk是设置ssl配置文件tls13profile dheKeyExchangeWithPsk否
  4. 启用或禁用0-RTT早期数据接受

    zeroRttEarlyData: TLS 1.3早期应用数据的状态。适用的设置如下:ENABLED:早期的应用程序数据可能在握手完成之前被处理。DISABLED:忽略早期应用程序数据。

    取值范围:ENABLED、DISABLED

    默认值:DISABLED

    设置ssl配置文件tls13profile -zeroRttEarlyData ENABLED设置ssl配置文件tls13profile -zeroRttEarlyData DISABLED 

默认密码组

缺省密码组包含TLS1.3密码。

1)密码名称:TLS1-AES-256-CBC-SHA优先级:1描述:SSLv3 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1 HexCode=0x0035 2)密码名称:TLS1-AES-128-CBC-SHA优先级:2描述:SSLv3 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1 HexCode=0x002f ... ... 27)密码名称:TLS1.3-AES256-GCM-SHA384优先级:27描述:TLSv1.3 Kx=any Au=any Enc=AES- gcm (256) Mac=AEAD HexCode=0x1302 28)密码名称:TLS1.3_CHACHA20_POLY1305_SHA256优先级:28描述:TLSv1.3 Kx=any Au=any Enc= chachha20 /POLY1305(256) Mac=AEAD HexCode=0x1303 29)密码名称:TLS1.3-AES128_GCM-SHA256优先级:29描述:TLSv1.3 Kx=any Au=any Enc=AES-GCM(128) Mac=AEAD HexCode=0x1301完成

限制

  • 后端不支持TLSv1.3协议。
  • Citrix安全Web网关设备和Citrix ADC FIPS设备不支持TLSv1.3。
  • 当虚拟服务器配置为接受早期数据时,此版本提供了有限的保护,以防止早期数据重放攻击。您可以在配置时启用或禁用此特性。

安全限制

TLSv1.3服务器操作人员必须牢记RFC 8446中列出的以下向后兼容性安全限制。NetScaler设备上的默认配置符合这些限制。但是,NetScaler设备并不强制遵守这些规则。

  • 如RFC7465所述,RC4密码套件的安全性被认为是不足的。实现不能为任何版本的TLS提供或协商RC4密码套件。

  • 旧版本的TLS允许使用低强度密码。任何版本的TLS都不能提供或协商强度小于112位的密码。

  • SSL 3.0 [SSLv3]的安全性在RFC7568中被认为是不够的,不能协商。启用TLSv1.3时禁用SSLv3(默认禁用)。

  • 正如RFC6176所描述的那样,SSL 2.0 [SSLv2]的安全性被认为是不足的,并且不能进行协商。启用TLS 1.3时禁用SSLv2(默认禁用SSLv2)。

  • 在0-RTT早期数据中发送的应用程序数据容易受到重放攻击。

请注意

有关在TLS1.3上运行的协议的故障排除信息,请参见从报文跟踪中解密TLS1.3流量

支持在RFC 8446中定义的TLSv1.3协议