支持在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特性:
- 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)
- 临时Diffie-Hellman密钥交换的ECC曲线
- P_256
- P_384
- P_521
启用基于票证的会话恢复时,缩短握手
0-RTT前期申请数据
可选或强制的基于证书的客户端身份验证,支持客户端证书的OCSP和/或CRL验证
服务器名扩展:使用SNI选择服务器证书
应用协议协商(ALPN),使用application_level_protocol_negotiation扩展。
OCSP装订
TLSv1.3握手会产生日志消息和AppFlow记录。
可选记录TLS 1.3的流量秘密
nstrace
包捕获实用程序。- 与实现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配置文件参数
启用/禁用SSL配置文件中的TLS1.3参数。
tls13: SSL配置文件支持TLSv1.3协议的状态。
取值范围:ENABLED、DISABLED
默认值:DISABLED
设置SSL配置文件tls13profile -tls13 enable
设置SSL配置文件tls13profile -tls13 disable
设置发出的会话票的数量。
tls13SessionTicketsPerAuthContext:在协商TLS1.3时,SSL虚拟服务器发出的票据数,启用基于票据的恢复,并且(1)握手完成或(2)握手后客户端身份验证完成。可以增加此值,以使客户端能够为每个连接使用一个新的票证打开多个并行连接。如果禁用恢复,则不会发送票证。
缺省值:1
最小值:1
最大值:10
设置ssl配置文件tls13profile -tls13sessionTicketsPerAuthContext 1设置ssl配置文件tls13profile -tls13sessionTicketsPerAuthContext 10
设置DH密钥交换
dheKeyExchangeWithPsk
:指定在TLS 1.3会话恢复握手期间接受预共享密钥时,SSL虚拟服务器是否要求进行DHE密钥交换。DHE密钥交换确保了前向保密,即使票据密钥被泄露,但代价是需要额外的资源来执行她密钥交换。如果启用了会话票证,可用的设置如下:
是的:当接受预共享密钥时,无论客户端是否支持密钥交换,都需要DHE密钥交换。如果客户端在提供预共享密钥时不支持DHE密钥交换,那么握手将终止并发出致命警报。
没有: DHE密钥交换在接受预共享密钥时执行,仅在客户端请求时执行。
取值:YES、NO
默认值:NO
设置ssl配置文件tls13profile dheKeyExchangeWithPsk是设置ssl配置文件tls13profile dheKeyExchangeWithPsk否
启用或禁用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流量。