Citrix ADC

rfc8446中定义的TLSv1.3协议支持

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

笔记:

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

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

    • 除Citrix ADC FIPS设备外,所有其他Citrix ADC MPX和SDX设备均提供TLSv1.3协议的纯软件支持。
  • TLSv1.3仅支持增强的配置文件。要启用增强的配置文件,请参见启用增强的概要文件

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

支持Citrix ADC特性

以下SSL功能的支持:

  1. TLSv1.3密码套件:
    • TLS1.3-AES256-GCM-SHA384 (0 x1302)
    • TLS1.3_CHACHA20_POLY1305_SHA256 (0 x1303)
    • 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 protocol negotiation),通过application_level_protocol_negotiation扩展名实现。

  8. OCSP装订

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

  10. 用户可选择记录TLS 1.3交通机密nstrace数据包捕捉工具。

  11. 互操作性与实施RFC 8446.例如,Mozilla Firefox浏览器,谷歌Chrome和OpenSSL TLS的客户。

支持的浏览器

以下浏览器版本支持并兼容Citrix ADC实现的TLS 1.3协议:

  • 谷歌浏览器-版本72.0.3626.121(官方版本)(64位)
  • Mozilla Firefox-65.0.2(64位)
  • 歌剧-版本:58.0.3135.79

配置

默认情况下,在SSL配置文件上禁用TLSv1.3。

使用CLI添加SSL简介

在命令提示下,键入:

添加SSL配置文件 

例子:

添加tls13profile SH SSL轮廓tls13profile 1 SSL配置文件)名称:tls13profile(前端)的SSLv3:禁用TLSv1.0:启用TLSv1.1:启用TLSv1.2工作:已启用TLSv1.3:禁用客户端验证:禁用只能使用绑定CA证书:DISABLED Strict CA checks: NO Session Reuse: ENABLED Timeout: 120 seconds DH: DISABLED DH Private-Key Exponent Size Limit: DISABLED Ephemeral RSA: ENABLED Refresh Count: 0 Deny SSL Renegotiation ALL Non FIPS Ciphers: DISABLED Cipher Redirect: DISABLED SSL Redirect: DISABLED Send Close-Notify: YES Strict Sig-Digest Check: DISABLED Zero RTT Early Data: DISABLED DHE Key Exchange With PSK: NO Tickets Per Authentication Context: 1 Push Encryption Trigger: Always PUSH encryption trigger timeout: 1 ms SNI: DISABLED OCSP Stapling: DISABLED Strict Host Header check for SNI enabled SSL sessions: NO Push flag: 0x0 (Auto) SSL quantum size: 8 kB Encryption trigger timeout 100 mS Encryption trigger packet count: 45 Subject/Issuer Name Insertion Format: Unicode SSL Interception: DISABLED SSL Interception OCSP Check: ENABLED SSL Interception End to End Renegotiation: ENABLED SSL Interception Maximum Reuse Sessions per Server: 10 Session Ticket: DISABLED HSTS: DISABLED HSTS IncludeSubDomains: NO HSTS Max-Age: 0 ECC Curve: P_256, P_384, P_224, P_521 1) Cipher Name: DEFAULT Priority :1 Description: Predefined Cipher Alias Done 

通过使用GUI添加SSL简介

  1. 引导到系统>配置文件.选择SSL配置文件
  2. 点击添加并为配置文件指定一个名称。
  3. 协议选择TLSv13

    创建TLSv13概要

  4. 点击好吧

该任务指导管理员通过命令行方式为SSL虚拟服务器绑定SSL配置文件

在命令提示下,键入:

set ssl vserver  -sslProfile  

例子:

设置SSL虚拟服务器的SSL-VS -sslProfile tls13profile

使用GUI将SSL配置文件绑定到SSL虚拟服务器

  1. 引导到流量管理>负载均衡>虚拟服务器,选择SSL虚拟服务器。
  2. 高级设置,点击SSL配置文件
  3. 选择前面创建的TLSv1.3配置文件。
  4. 点击好吧
  5. 点击完成

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

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

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

    取值为:ENABLED、DISABLED

    默认值:禁用

    将SSL轮廓tls13profile -tls13使<! -  NeedCopy  - >
    设置SSL配置文件tls13profile -tls13 disable 
  2. 设置已发行的会议票证数量。

    tls13SessionTicketsPerAuthContext:协商TLS1.3、启用基于票证的恢复以及(1)握手完成或(2)握手后客户端身份验证完成时SSL虚拟服务器发出的票证数。

    此值可以增加,以使客户端能够使用每个连接的新票证打开多个并行连接。

    如果禁用恢复,则不发送门票。

    默认值:1

    最小值:1

    最大值:10

    集SSL轮廓tls13profile -tls13sessionTicketsPerAuthContext 1套SSL轮廓tls13profile -tls13sessionTicketsPerAuthContext 10 <! -  NeedCopy  - >
  3. 设置DH密钥交换

    dheKeyExchangeWithPsk:指定当在TLS 1.3会话恢复握手期间接受预共享密钥时,SSL虚拟服务器是否需要发生DHE密钥交换。DHE密钥交换确保了转发的保密性,即使票据密钥被泄露,也需要花费额外的资源来实现DHE密钥交换。

    可用的设置如下工作,如果会话票据已启用:

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

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

    取值范围:YES、NO

    默认值:NO

    将SSL轮廓tls13profile dheKeyExchangeWithPsk是将SSL轮廓tls13profile dheKeyExchangeWithPsk没有<! -  NeedCopy  - >
  4. 启用或禁用0-RTT早期数据接受

    zeroRttEarlyData:TLS 1.3早期应用数据的国家。适用的设置工作方式如下:

    ENABLED:早期的应用程序数据可能在握手完成之前被处理。DISABLED:忽略早期的应用数据。

    取值为:ENABLED、DISABLED

    默认值:禁用

    将SSL轮廓tls13profile -zeroRttEarlyData启用将SSL轮廓tls13profile -zeroRttEarlyData禁用<! -  NeedCopy  - >

默认密码组

默认密码组为TLS1.3 cipher。

sh cipher默认值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=cha20/POLY1305(256)Mac=AEAD HexCode=0x1303 29)密码名称:TLS1.3-AES128\U GCM-SHA256优先级:29描述:TLSv1.3 Kx=any Au=any Enc=AES-GCM(128)Mac=AEAD HexCode=0x1301 Done<<--需要复制-->

限制

  • 在Citrix ADC MPX平台,TLSv1.3处理不卸载到加密硬件。
  • 后端不支持TLSv1.3。
  • 在Citrix安全Web网关设备和Citrix ADC FIPS设备上不支持TLSv1.3。

操作注意事项

TLS 1.3草案版本兼容性说明:一个Citrix ADC设备实现TLS 1.3协议的RFC 8446变体(与该协议的早期草案版本不同)。使用支持RFC 8446的TLS 1.3客户端(或一个可互操作的草案# - 26、27或28)来完成与Citrix ADC设备的TLS 1.3握手。实现TLS 1.3协议不同草案版本的客户机和服务器可能无法相互操作。

安全限制

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

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

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

  • SSL 3.0的安全[SSLv3的]如在RFC7568中描述认为不足以,并且不能进行协商。启用了TLSv1.3禁用SSLv3的时候(SSLv3的默认情况下禁用)。

  • 如RFC6176所述,SSL 2.0 [SSLv2]的安全性被认为是不够的,因此必须不进行协商。启用TLS 1.3时禁用SSLv2(默认禁用SSLv2)。

注:

有关疑难解答,超过TLS1.3协议运行的信息,请参阅从数据包跟踪解密TLS1.3流量

rfc8446中定义的TLSv1.3协议支持