Citrix ADC

SSL卸载配置

要配置SSL卸载,必须在Citrix ADC设备上启用SSL处理并配置基于SSL的虚拟服务器。虚拟服务器将拦截SSL流量,解密流量并将其转发到绑定到虚拟服务器的服务。要保护时间敏感的流量,例如媒体流,可以配置迪泰虚拟服务器。要启用SSL卸载,必须导入有效的证书和密钥并将该对绑定到虚拟服务器。

启用SSL

要处理SSL流量,必须启用SSL处理。您可以配置基于SSL的实体,例如虚拟服务器和服务,而无需启用SSL处理。但是,在启用SSL处理之前,它们不起作用。

使用CLI启用SSL处理

在命令提示符下,键入:

Enable ns feature SSL show ns feature 

示例:

enable ns feature SSL Done show ns feature feature Acronym Status ------- ------- ------ 1) Web Logging WL OFF 2) Surge Protection SP ON 3) Load Balancing LB ON…9) SSL卸载SSL ON…24) NetScaler Push Push OFF Done 

使用GUI启用SSL处理

导航到”系统设“>”置”,然后在“模式和功能”组中单击”配置基本功能”,然后单击”SSL卸载”。

配置服务

在Citrix ADC设备上,服务表示物理服务器或物理服务器上的应用程序。配置后,服务处于禁用状态,直到设备能够到达网络上的物理服务器并监视其状态。

使用CLI添加服务

在命令提示符下,键入以下命令以添加服务并验证配置:

add service  ( | )   show service  

示例:

add service sslsvc 198.51.100.225 SSL 443 Done sh SSL service sslsvc Advanced SSL configuration for backend SSL service sslsvc: DH: DISABLED DH Private-Key Exponent Size Limit: DISABLED Ephemeral RSA: DISABLED Session Reuse: ENABLED Timeout: 300 seconds Cipher Redirect: DISABLED SSLv2 Redirect: DISABLED ClearText Port: 0 Server Auth:DISABLED SSL Redirect: DISABLED Non FIPS cipher: DISABLED SNI: DISABLED OCSP Stapling: DISABLED SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED TLSv1.3: DISABLED Send Close-Notify: YES Strict Sig-Digest Check: DISABLED Zero RTT Early Data: ??与PSK交换DHE密钥:??每个认证上下文的票:??ECC Curve: P_256, P_384, P_224, P_521 1) Cipher Name: DEFAULT_BACKEND Description: Default Cipher list for Backend SSL session Done 

使用CLI修改或删除服务

要修改服务,请使用设置服务命令,这就像使用添加服务命令一样,只是输入现有服务的名称。

要删除服务,请使用rm服务命令,该命令仅接受<名称>参数。

Rm service  

示例:

Rm服务SSLSVC 

要修改服务,请使用设置服务命令,选择任意参数,然后更改其设置。

set service  ( | )   

示例:

set service sslsvc 198.51.100.225 SSL 443 

使用GUI配置服务

导航到流量管理 > 负载平衡 > 服务,创建服务,然后将协议指定为SSL。

SSL虚拟服务器配置

安全会话需要在Citrix ADC设备上建立客户端与基于SSL的虚拟服务器之间的连接。SSL虚拟服务器会在将其发送到绑定到虚拟服务器的服务之前拦截SSL流量,解密并对其进行处理。

注意:SSL虚拟服务器在Citrix ADC设备上被标记为“关闭”,直到有效的证书/密钥对以及至少一个服务绑定到该服务器。基于SSL的虚拟服务器是协议类型SSL或SSL_TCP的负载平衡虚拟服务器。必须在Citrix ADC设备上启用负载平衡功能。

使用CLI添加基于SSL的虚拟服务器

在命令提示窗口中,键入以下命令以创建基于SSL的虚拟服务器并验证配置:

add lb vserver  (serviceType)   show ssl vserver  

示例:

add lb vserver sslvs SSL 192.0.2.240 443 Done sh SSL vserver sslvs高级SSL配置vserver sslvs sslvs: DH: DISABLED DH Private-Key Exponent Size Limit: DISABLED Ephemeral RSA: ENABLED Refresh Count: 0 Session Reuse: ENABLED Timeout: 120 seconds Cipher Redirect: DISABLED SSLv2 Redirect: DISABLED ClearText Port: 0 Client Auth:DISABLED SSL Redirect: DISABLED Non FIPS cipher: DISABLED SNI: DISABLED OCSP Stapling: DISABLED HSTS: DISABLED HSTS inclesubdomains: NO HSTS Max-Age: 0 SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED TLSv1.3: DISABLED Push Encryption Trigger: Always Send Close-Notify: YES Strict sign - digest Check:DISABLED Zero RTT Early Data: DISABLED DHE Key Exchange With PSK: NO Tickets Per Authentication Context: 1 ECC Curve: P_256, P_384, P_224, P_521 1) Cipher Name: DEFAULT Description: DEFAULT Cipher list With encryption strength >= 128bit Done 

使用CLI修改或删除基于SSL的虚拟服务器

要修改SSL虚拟服务器的负载平衡属性,请使用设置磅vserver命令。设置命令与命加磅vserver令类似,只是输入现有虚拟服务器的名称。要修改基于SSL的虚拟服务器的SSL属性,请使用设置ssl vserver命令。有关详细信息,请参阅本页后面的“SSL虚拟服务器参数”部分。

要删除SSL虚拟服务器,请使用rm磅vserver命令,该命令仅接受<名称>参数。

使用GUI配置基于SSL的虚拟服务器

导航到”流量管理”>“负载平衡”>“虚拟服务器”,创建虚拟服务器,然后将协议指定为SSL。

将服务绑定到SSL虚拟服务器

ADC设备将解密的SSL数据转发到网络中的服务器。要转发数据,表示这些物理服务器的服务必须绑定到接收SSL数据的虚拟服务器。

通常,ADC设备与物理服务器之间的链接是安全的。因此,无需加密设备和物理服务器之间的数据传输。但是,您可以通过加密设备和服务器之间的数据传输来提供端到端加密。有关详细信息,请参阅使用端到端加密配置SSL卸载

注意:在将服务绑定到基于SSL的虚拟服务器之前,启用ADC设备上的负载平衡功能。

使用CLI将服务绑定到虚拟服务器

在命令提示符下,键入以下命令以将服务绑定到虚拟服务器并验证配置:

bind lb vserver   show lb vserver  

示例:

绑定磅vserver sslvs sslsvc做sh磅vserver sslvs sslvs (192.0.2.240:443) - SSL类型:地址状态:下降[Certkey决不能]去年状态改变自去年5月2日11:43:04 2018年结婚时候状态变化:0天,00:13:21.150有效状态:客户端闲置超时:180秒下状态刷新:启用禁用主vserver下来:DISABLED Appflow logging: ENABLED否。of Bound Services: 1 (Total) 0 (Active) Configured Method: LEASTCONNECTION BackupMethod: ROUNDROBIN Mode: IP Persistence: NONE Vserver IP and Port insertion: OFF Push: DISABLED Push Vserver: Push Multi client: NO Push Label Rule: NONE L2Conn: OFF Skip Persistence: NONE Listen Policy: NONE IcmpResponse: PASSIVE RHIstate:PASSIVE New Service Startup Request Rate: 0 PER_SECOND, Increment Interval: 0 Mac mode Retain Vlan: DISABLED DBS_LB: DISABLED Process Local: DISABLE Traffic Domain: 0 TROFS Persistence honored: ENABLED Retain Connections on Cluster: NO 1) sslsvc (198.51.100.225: 443) - SSL State: DOWN Weight: 1 Done 

使用CLI从虚拟服务器取消绑定服务

在命令提示符下,键入以下命令:

unbind lb vserver   

示例:

unbind lb vserver sslvs sslsvc Done 

使用GUI将服务绑定到虚拟服务器

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器
  2. 打开虚拟服务器,然后单击服务和服务组部分下的负载平衡虚拟服务器服务绑定磁贴。
  3. 负载平衡虚拟服务器服务绑定页面中,单击添加绑定选项卡, 单击选择服务下的单击以选择,然后选中要绑定的服务旁边的复选框。

  4. 单击选择,然后单击绑定

为多个站点的安全托管配置服务器名称指示(SNI)虚拟服务器

虚拟主机被Web服务器用来托管具有相同IP地址的多个域名。该设备通过使用透明 SSL 服务或基于虚拟服务器的 SSL 卸载从 Web 服务器卸载 SSL 处理来支持托管多个安全域。但是,当多个网站托管在同一虚拟服务器上时,SSL 握手将在预期的主机名发送到虚拟服务器之前完成。因此,设备无法确定在建立连接后向客户端显示哪个证书。通过在虚拟服务器上启用 SNI 来解决此问题。SNI 是客户端用于在握手启动期间提供主机名的传输层安全性 (TLS) 扩展。ADC 设备将此主机名与公用名进行比较,如果不匹配,则将其与使用者备用名 (SAN) 进行比较。如果名称匹配,设备将向客户端显示相应的证书。

如果同一组织控制这些域并且二级域名相同,则通配符SSL证书有助于在多个子域上启用SSL加密。例如,使用通用名称“* .sports.net”向体育网络颁发的通配符证书可用于保护域名,例如“login.sports.net”和“help.sports.net”。它无法保护“login.ftp.sports.net”域的安全。

注意:在ADC设备上,只比较字段中的域名、URL和电子邮件ID DNS条目。

您可以使用-SNICert选项将多个服务器证书绑定到单个SSL虚拟服务器或透明服务。如果在虚拟服务器或服务上启用了SNI,则虚拟服务器或服务将颁发这些证书。您可以随时启用SNI。

使用CLI将多个服务器证书绑定到单个SSL虚拟服务器

在命令提示符下,键入以下命令以配置SNI并验证配置:

set ssl vserver @ [-SNIEnable (ENABLED | DISABLED)] bind ssl vserver @ -certkeyName  -SNICert show ssl vserver  

要使用CLI将多个服务器证书绑定到透明服务,请在上述命令中将替换vserver为服务和vservername服务名称。

注意:使用-clearTextPort 80选项创建SSL服务。

使用GUI将多个服务器证书绑定到单个SSL虚拟服务器

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器
  2. 打开SSL虚拟服务器,然后在“书”中选择”服务器证书”。
  3. 添加证书或从列表中选择证书,然后单击SNI的服务器证书
  4. 在“高级设置“中,选择SSL参数
  5. 点击SNI启用

支持后端服务上的SNI

注意:迪泰后端服务不支持SNI。

Citrix ADC设备在后端支持服务器名称指示(SNI)。也就是说,公用名称作为客户端 hello 中的服务器名称发送到后端服务器,以便成功完成握手。此支持有助于满足联邦系统集成商客户安全要求。此外,SNI 提供了仅使用一个端口而不是在防火墙上打开数百个不同的 IP 地址和端口的优势。

联邦系统集成商客户安全要求包括对Active Directory联合身份验证服务(ADFS) 3.0在2012 r2和WAP服务器的支持。为满足此要求,需要在Citrix ADC设备上的后端支持SNI。

注意:要使SNI工作,客户端你好中的服务器名称必须与绑定到SSL虚拟服务器的后端服务上配置的主机名匹配。例如,如果后端服务器的主机名为www.mail.example.com,则必须将启用系统网络体系结构(SNA)的后端服务配置为服务器名称https://www.mail.example.com。此主机名必须与客户端你好中的服务器名匹配。

支持后端服务上的动态SNI

Citrix ADC设备支持后端TLS连接上的动态SNI。也就是说,设备学习客户端连接中的 SNI,并在服务器端连接中使用它。您不再需要在 SSL 服务、服务组或配置文件中指定公用名称。客户端 Hello 消息的 SNI 扩展中收到的公用名称将转发到后端 SSL 连接。

之前,您必须在SSL服务,服务组和SSL配置文件上配置静态SNI。因此,仅将配置的静态SNI扩展发送到服务器。如果客户端需要同时访问多个域,则ADC设备无法将从客户端接收的SNI发送到后端服务。相反,它发送了已配置的静态公用名称。现在,如果后端服务器配置为多个域,服务器可以根据设备的客户你好消息中收到的SNI使用正确的证书进行响应。

注意点:

  • 必须在前端启用SNI,并将正确的SNI证书绑定到SSL虚拟服务器。如果不在前端启用SNI,则SNI信息不会传递到后端。

  • 启用服务器身份验证后,服务器证书将由CA证书进行验证,服务器证书中的公用名称/圣条目将与SNI匹配。因此,CA证书必须绑定到服务。

  • 启用动态SNI时,后端连接和SSL会话的重用基于SNI。

启用动态SNI时,SSL监视器不会发送SNI。对于基于SNI的探测,请将配置静态SNI的后端配置文件附加到SSL监视器。必须使用与SNI相同的自定义标头配置监视器。

使用CLI在后端服务上配置SNI

在命令提示符下,键入:

add service     add lb vserver     bind lb vserver   set ssl service  -SNIEnable ENABLED -commonName  set ssl profile  -SNIEnable ENABLED 

示例:

add service service_ssl 198.51.100.100 SSL 443 add lb vserver SSL -vs 203.0.113.200 SSL 443 bind lb vserver SSL -vs service_ssl set SSL service service_ssl -SNIEnable ENABLED -commonName www.example.com set SSL profile sslprof -SNIEnable ENABLED 

使用GUI在后端服务上配置SNI

  1. 导航到流量管理 > 负载平衡 > 服务
  2. 选择SSL服务,然后在“高级设置“中单击”SSL参数”。
  3. 点击SNI启用

    启用SNI

使用GUI在SSL配置文件上配置SNI

  1. 导航到系统>配置文件> SSL配置文件。
  2. 单击添加
  3. 在“基本设置“中,选择”SNI启用”。

    个人资料中的SNI

  4. 单击好吧(确定)。

将安全监视器绑定到启用系统网络体系结构(SNA)的后端服务

您可以将HTTP、HTTP-ECV TCP或TCP-ECV类型的安全监视器绑定到支持SNI的后端服务和服务组。但是,如果启用了动态SNI,则监视器探头不会发送SNI扩展。要发送SNI探测器,请在后端SSL配置文件中启用静态SNI并将配置文件绑定到监视器。将监视器中的自定义标头设置为在监视器探测器的客户端你好中作为SNI扩展发送的服务器名称。

使用CLI配置安全监视器并将其绑定到启用SNI的后端服务

在命令提示符下,键入:

add lb monitor   -secure YES add sslprofile  -sslProfileType BackEnd set lb monitor   -customHeaders  -sslprofile < BackEnd sslprofile > set sslprofile  -sniEnable ENABLED -commonName  bind service  -monitorName  

示例:

add lb monitor HTTP-ECV -mon HTTP-ECV -secure YES set monitor HTTP-ECV -customHeaders "Host: example.com\r\n" -sslprofile sni_backend_profile -sslProfileType BackEnd set sslprofile sni_backend_profile -sniEnable ENABLED -commonName example.com add lb monitor HTTP-ECV -mon HTTP-ECV -secure YES set monitor HTTP-ECV -mon "Host: example.com\r\n" -sslprofile sni_backend_profile bind service ssl_service -monitorName HTTP-ECV -mon 

使用GUI配置安全监视器并将其绑定到启用了SNI的后端服务

  1. 导航到系统>配置文件> SSL配置文件
  2. 单击添加
  3. 指定配置文件的名称,然后在SSL配置文件类型中选择后端

    支持SNI的SSL配置文件

  4. 指定公用名称(与主机标头相同),然后选择SNI启用

    启用了SNI的SSL配置文件中的公用名称

  5. 单击好吧(确定)。
  6. 导航到流量管理 > 负载平衡 > 监控器
  7. 单击添加
  8. 指定监视器的名称。在“类型“中,选择“HTTP”、“HTTP-ECV”、“TCP”或“TCP-ECV”。
  9. 指定一个自定义标头

    启用了SNI的SSL配置文件中的自定义标头

  10. 选择安全
  11. SSL配置文件中,选择在上述步骤中创建的后端SSL配置文件。
  12. 单击创建

    创建启用SNI的SSL配置文件

  13. 导航到流量管理 > 负载平衡 > 服务
  14. 选择一个SSL服务,然后单击编辑
  15. 在“监器”中,单击”添加绑定”,选择在上述步骤中创建的监视器,然后单击”绑定”。

    将安全监视器绑定到启用SNI的SSL服务

使用GUI配置安全监视器并将其绑定到启用系统网络体系结构(SNA)的后端服务

  1. 导航到流量管理>负载平衡>监视
  2. 添加HTTP-ECVTCP-ECV类型的监视器,并指定自定义标头
  3. 选择创建(创建)。
  4. 导航到流量管理>负载平衡>服务
  5. 选择一个SSL服务,然后单击编辑
  6. 监视器中,单击添加绑定,选择在步骤 3 中创建的监视器,然后单击绑定

添加或更新证书密钥对

备注:

如果您没有现有证书和密钥,请参阅创建证书

要创建ECDSA证书密钥对,请单击创建ECDSA证书密钥对

在Biuld 41。x中,最多支持63个字符的证书名称。

从13.0版79本。x开始,始终成功添加密码保护的证书密钥对。之前,如果Citrix ADC设备上启用了强密码选项,有时候不会添加受密码保护的证书密钥对。但是,如果降级到早期版本,证书密钥配置将丢失。此外,在证书密钥对的硝基API响应中,将发送passplain变量而不是passcrypt变量。

对于任何SSL事务,服务器都需要有效的证书以及相应的私钥和公钥对。SSL数据使用服务器的公钥进行加密,该公钥可通过服务器的证书获得。解密需要相应的私钥。添加SSL证书密钥对时使用的私钥密码将使用每个 Citrix ADC 设备的唯一加密密钥保存。

ADC设备从服务器卸载SSL事务。因此,设备上必须存在服务器的证书和私钥,并且证书必须与其相应的私钥配对。此证书密钥对必须绑定到处理SSL事务的虚拟服务器。

注意:Citrix ADC设备上的默认证书为2048位。在早期版本中,默认证书为 512 位或 1024 位。升级到版本11.0后,必须删除以开头的所有旧证书密钥对“ns - - - - - -”,然后重新启动设备以自动生成 2048 位默认证书。

证书和密钥必须位于Citrix ADC设备的本地存储中,才能将它们添加到设备中。如果您的证书或密钥文件不在设备上,请先将其上传到设备,然后再创建对。

重要提示:默认情况下,证书和密钥存储在nsconfig / ssl目录中。如果证书或密钥存储在任何其他位置,则必须提供Citrix ADC设备上文件的绝对路径。Citrix ADC FIPS设备不支持外部密钥(非FIPS密钥)。在FIPS设备上,无法从本地存储设备(如硬盘或闪存)加载密钥。FIPS密钥必须存在于设备的硬件安全模块(HSM)中。

Citrix ADC设备仅支持RSA密钥。

设置通知期限并启用到期监视器,以便在证书到期之前发出提示。

Citrix ADC设备支持以下输入格式的证书和私钥文件:

  • PEM -增强隐私的邮件
  • DER -可分辨的编码规则
  • 可以,个人信息交换

该软件会自动检测格式。因此,您不再需要在通知参数中指定格式。如果您确实指定了格式(正确或不正确),软件将忽略它。证书和密钥文件的格式必须相同。

注意:必须使用以下哈希算法之一对证书进行签名:

  • MD5
  • sha - 1
  • sha - 224
  • sha - 256
  • sha - 384(仅在前端支持)
  • sha - 512(仅在前端支持)

MPX设备支持512位或更多位的证书,最多具有以下大小:

  • 虚拟服务器上的 4096 位服务器证书
  • 服务上的 4096 位客户端证书
  • 4096位CA证书(包括中间证书和根证书)
  • 后端服务器上的 4096 位证书
  • 4096 位客户端证书(如果在虚拟服务器上启用了客户端身份验证)

VPX虚拟设备支持512位或更多位的证书,最多具有以下大小:

  • 虚拟服务器上的 4096 位服务器证书
  • 服务上的 4096 位客户端证书
  • 4096位CA证书(包括中间证书和根证书)
  • 后端服务器上的 4096 位证书
  • 4096 位客户端证书(如果在虚拟服务器上启用了客户端身份验证)

注意

Citrix ADC对有关设备支持512位或更多位的证书。设备上托管的每个Citrix ADC VPX实例都支持VPX虚拟设备的上述证书大小。但是,如果将SSL芯片分配给实例,则该实例支持MPX设备支持的证书大小。

使用CLI添加证书密钥对

在命令提示符处,键入以下命令以添加证书密钥对并验证配置:

add ssl certKey  -cert [(-key [-password]) | -fipsKey ] [-inform (DER | PEM)] [] [-expiryMonitor (ENABLED | DISABLED) [-notificationPeriod ]] show ssl certKey [] 

示例:

add ssl certKey sslkey -cert server_cert. ssl证书pem关键server_key。pem密码启用ssl -expiryMonitor -notificationPeriod 30完成注:FIPS电器,替换关键-fipskey显示ssl certKey sslckey名称:sslckey状态:有效,天过期:8418版:3编号:01签名算法:md5WithRSAEncryption发行人:C =我们圣= SJ, L = SJ, O = NS, OU = NSSSL, CN = www.root.com有效性之前:ju15 02:25:01 2005 GMT Not After: Nov 30 02:25:01 2032 GMT Subject: C=US,ST=SJ,L=SJ,O=NS,OU= nssl,CN=www.server.com Public Key Algorithm: rsaEncryption Public Key size: 2048 Done 

使用CLI更新或删除证书密钥对

要修改证书密钥对中的到期监视器或通知期限,请使用设置ssl certkey命令。要替换证书密钥对中的证书或密钥,请使用更新ssl certkey命令。该更新ssl certkey命令具有用于覆盖域检查的额外参数。对于这两个命令,请输入现有证书密钥对的名称。要删除SSL证书密钥对,请使用rm ssl certkey命令,该命令仅接受< certkeyName >参数。

示例:

set ssl certKey  [-expiryMonitor (ENABLED | DISABLED)] [-notificationPeriod ]] update ssl certKey  [-cert  [-password]] [-key  | -fipsKey ] [-inform ] [-noDomainCheck] 

使用GUI添加或更新证书密钥对

  1. 导航到流量管理> SSL >证书>服务器

    安装证书

  2. 输入以下参数的值,然后单击安装

    • 证书密钥对名称-证书和私钥对的名称。

    • 证书文件名-从证书颁发机构收到的签名证书。

    • 密钥文件名-用于形成证书密钥对的私钥文件的名称和路径(可选)。

    类型值

将证书密钥对绑定到SSL虚拟服务器

重要提示:在将证书绑定到SSL虚拟服务器之前,将任何中间证书链接到此证书。有关链接证书的信息,请参阅创建证书链

用于处理SSL事务的证书必须绑定到接收SSL数据的虚拟服务器。如果有多个虚拟服务器接收SSL数据,则必须将有效的证书密钥对绑定到每个服务器。

使用已上传到Citrix ADC设备的有效现有SSL证书。作为测试目的的替代方案,请在设备上创建您自己的SSL证书。通过在设备上使用FIPS密钥创建的中间证书无法绑定到SSL虚拟服务器。

在SSL握手期间,在客户端身份验证期间的证书请求消息中,服务器会列出绑定到服务器的所有证书颁发机构(CA)的可分辨名称(DN)。服务器仅接受此列表中的客户端证书。如果不希望将特定CA证书的DN名称发送到SSL客户端,请设置skipCA标志。此设置指示不得将特定CA证书的可分辨名称发送到SSL客户端。

有关如何创建自己的证书的详细信息,请参阅管理证书

注意:Citrix建议您仅使用由受信任的证书颁发机构颁发的有效SSL证书。

使用CLI将SSL证书密钥对绑定到虚拟服务器

在命令提示符处,键入以下命令以将SSL证书密钥对绑定到虚拟服务器并验证配置:

- bind ssl vserver  - certkeyname  - ca - skipcaname - show ssl vserver  

示例:

结合ssl vs vs1 -certkeyName cert2 ca -skipCAName sh完成ssl vs vs1 VServer vs1先进的ssl配置:DH:禁用短暂的RSA:启用刷新数:0会话重用:启用超时:120秒密码重定向:禁用SSLv2的站点时重定向:明文禁用端口:0客户机身份验证:禁用ssl重定向:禁用非FIPS密码:DISABLED SNI: DISABLED OCSP Stapling: DISABLED HSTS: DISABLED inclesubdomains: NO HSTS Max-Age: 0 SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1: DISABLED TLSv1.2: DISABLED Push Encryption Trigger: Always Send Close-Notify: YES Strict Sig-Digest Check: DISABLED ECC Curve: P_256, P_384, P_224, P_521 1) CertKey Name:cert1 CA证书OCSPCheck:可选CA_Name Sent 2) CertKey Name: cert2 CA证书OCSPCheck:可选CA_Name skip 1) Cipher Name: DEFAULT Description:默认密码列表,加密强度>= 128bit Done 

使用CLI从虚拟服务器取消绑定SSL证书密钥对

如果您尝试使用unbind ssl certKey 命令从虚拟服务器解除绑定证书密钥对,将显示一条错误消息。出现错误是因为命令的语法已更改。在命令提示符下,键入以下命令:

unbind ssl vserver  -certkeyName  

示例:

unbind ssl vserver vssl -certkeyName sslkey 

使用GUI将SSL证书密钥对绑定到虚拟服务器

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器,然后打开SSL虚拟服务器。在“证书“部分中单击。

    将证书绑定到虚拟服务器

  2. 单击箭头以选择证书密钥对。

    单击箭头选择证书密钥对

  3. 从列表中选择证书密钥对。

    选择证书密钥对

  4. 将证书密钥对绑定到虚拟服务器。要将服务器证书添加为SNI证书,请为SNI选择服务器证书

    将证书绑定到虚拟服务器

SSL虚拟服务器参数

为SSL虚拟服务器设置高级SSL配置。您还可以在SSL配置文件中设置许多这些参数。有关可在SSL配置文件中设置的参数的信息,请参阅SSL配置文件参数

使用CLI设置SSL虚拟服务器参数

在命令提示符下,键入:

(-clearTextPort设置ssl vserver < vServerName > @ <端口>][dh(启用|禁用)-dhFile <字符串>][-dhCount < positive_integer >] [-dhKeyExpSizeLimit(启用|禁用)][-eRSA(启用|禁用)[-eRSACount < positive_integer >]] [-sessReuse(启用|禁用)[-sessTimeout < positive_integer >]] [-cipherRedirect(启用|禁用)[-cipherURL < URL >]] [-sslv2Redirect(启用|禁用)[-sslv2URL < URL >]] [clientauth(启用|禁用)[-clientCert(强制性|可选)]][-sslRedirect(启用|禁用)][-redirectPortRewrite(启用|禁用)][-ssl2(启用|禁用)][-ssl3(启用|禁用)][-tls1(启用|禁用)][-tls11 |启用禁用)][-tls12(启用|禁用)][-tls13(启用|禁用)][-SNIEnable(启用|禁用)][-ocspStapling(启用|禁用)][-pushEncTrigger < pushEncTrigger >] [-sendCloseNotify(是的|不)][-dtlsProfileName <字符串>][-sslProfile <字符串>][-HSTS(启用|禁用)][maxage < positive_integer >] [-IncludeSubdomains (是| NO)][-strictSigDigestCheck (ENABLED | DISABLED)][-zeroRttEarlyData (ENABLED | DISABLED)][-tls13SessionTicketsPerAuthContext ] [-dheKeyExchangeWithPsk (YES | NO)] 

diffie - hellman (DH)参数

要在设备上使用需要DH密钥交换来设置SSL事务的密码,请在设备上启用DH密钥交换。根据您的网络配置其他设置。

要列出必须使用CLI设置DH参数的密码,请键入:sh密码DH。

要列出必须使用配置实用程序设置DH参数的密码,请导航至流量管理> SSL >密码组,然后双击DH

有关如何启用DH密钥交换的详细信息,请参阅生成diffie - hellman (DH)密钥

使用CLI配置DH参数

在命令提示符下,键入以下命令来配置DH参数并验证配置:

- ' set ssl vserver  -dh 

示例:

设置ssl vserver vs-server -dh ENABLED -dhFile /nsconfig/ssl/ns-server。cert -dhCount 1000 Done show ssl vserver vs-server Advanced ssl configuration for vserver vs-server: DH: ENABLED Ephemeral RSA: ENABLED Refresh Count: 1000 Session Reuse: ENABLED Timeout: 120 seconds Cipher Redirect: DISABLED SSLv2 Redirect: DISABLED ClearText Port: 0 Client Auth: DISABLED ssl Redirect: DISABLED Non FIPS Cipher: DISABLED SNI:DISABLED OCSP Stapling: DISABLED HSTS: DISABLED HSTS inclesubdomains: NO HSTS Max-Age: 0 SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.2: ENABLED TLSv1.2: ENABLED 1) Cipher Name: DEFAULT Description:预定义密码别名Done 

使用GUI配置DH参数

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器,然后打开虚拟服务器。
  2. 在“SSL参数“部分中,选择”启用DH参数”,然后指定刷新计数和文件路径。

临时RSA

临时RSA允许导出客户端与安全服务器通信,即使服务器证书不支持导出客户端(1024位证书)也是如此。如果要阻止导出客户端访问安全网络的对象或资源,则需要禁用临时RSA密钥交换。

默认情况下,在Citrix ADC设备上启用此功能,刷新计数设置为零(无限使用)。

注意

将导出密码绑定到基于SSL或TCP的SSL虚拟服务器或服务时,会自动生成临时RSA密钥。删除导出密码时,不会删除eRSA密钥。以后当另一个导出密码绑定到基于SSL或TCP的SSL虚拟服务器或服务时,它会重复使用。系统重新启动时删除eRSA密钥。

使用CLI配置临时RSA

在命令提示符下,键入以下命令以配置临时RSA并验证配置:

set ssl vserver  -eRSA (enabled | disabled) -eRSACount  show ssl vserver  

示例:

set ssl vserver vs-server -eRSA ENABLED -eRSACount 1000 Done show ssl vserver vs-server Advanced ssl configuration for vserver vs-server: DH: DISABLED Ephemeral RSA: ENABLED Refresh Count: 1000 Session Reuse: ENABLED Timeout: 120 seconds Cipher Redirect: DISABLED SSLv2 Redirect: DISABLED ClearText Port: 0 Client Auth: DISABLED ssl Redirect:DISABLED Non FIPS Cipher: DISABLED SNI: DISABLED OCSP Stapling: DISABLED HSTS: DISABLED HSTS inclesubdomains: NO HSTS Max-Age: 0 SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.2: ENABLED TLSv1.2: ENABLED 1)密码名称:默认描述:预定义密码别名完成

使用GUI配置临时RSA

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器,然后打开虚拟服务器。
  2. 在“SSL参数“部分中,选择”启用临时RSA”,然后指定刷新计数。

会话重复使用

对于SSL事务,建立初始SSL握手需要CPU密集型公钥加密操作。大多数握手操作都与SSL会话密钥(客户端密钥交换消息)的交换相关联。当客户端会话空闲了一段时间,然后恢复时,SSL握手通常会重新执行。启用会话重用后,会避免从客户端收到的会话恢复请求的会话密钥交换。

默认情况下,在Citrix ADC设备上启用会话重用。启用此功能可减少服务器负载,缩短响应时间,并增加服务器可以支持的每秒SSL事务数(TPS)。

使用CLI配置会话重用

在命令提示符下,键入以下命令以配置会话重用并验证配置:

set ssl vserver  -sessReuse (ENABLED | DISABLED) -sessTimeout  show ssl vserver  

示例:

set ssl vserver vs-ssl -sessreuse enabled -sesstimeout 600 Done show ssl vserver vs-ssl Advanced ssl configuration for vserver vs-ssl: DH: DISABLED Ephemeral RSA: enabled Refresh Count: 1000 Session Reuse: enabled Timeout: 600 seconds Cipher Redirect: DISABLED SSLv2 Redirect: DISABLED ClearText Port: 0 Client Auth: DISABLED ssl Redirect:DISABLED Non FIPS Cipher: DISABLED SNI: DISABLED OCSP Stapling: DISABLED HSTS: DISABLED HSTS inclesubdomains: NO HSTS Max-Age: 0 SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.2: ENABLED TLSv1.2: ENABLED 1) CertKey Name: Auth-Cert-1 Server Certificate 1) Cipher Name: DEFAULT Description:预定义密码别名Done 

使用GUI配置会话重用

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器,然后打开虚拟服务器。
  2. 在“SSL参数“部分中,选择”启用会话重用”,然后指定会话保持活动状态的时间。

SSL协议设置

Citrix ADC设备支持SSLv3、TLSv1 TLSv1.1和TLSv1.2协议。可根据您的部署和连接到设备的客户端类型的要求在设备上设置其中的每个协议。

TLS协议版本1.0,1.1和1.2比旧版本的TLS / SSL协议更安全。但是,为了支持旧系统,许多TLS实现保持与SSLv3协议的向后兼容性。在SSL 握手中,使用客户端和 Citrix ADC 设备上配置的 SSL 虚拟服务器通用的最高协议版本。

在第一次握手尝试中,TLS客户端提供它支持的最高协议版本。如果握手失败,客户端将提供较低的协议版本。例如,如果TLS 1.1版本的握手不成功,客户端将尝试通过提供TLSv1.0协议重新协商。如果尝试不成功,客户端将使用SSLv3协议重新尝试。“中间人”(MITM)攻击者可以打破初始握手并触发与SSLv3协议的重新协商,然后利用SSLv3中的漏洞。为了缓解此类攻击,您可以禁用SSLv3或不允许使用降级协议进行重新协商。但是,如果您的部署包含旧系统,则此方法可能不切实际。另一种方法是识别客户端请求中的信令密码套件值(TLS_FALLBACK_SCSV)。

客户端你好消息中的TLS_FALLBACK_SCSV值向虚拟服务器指示客户端以前尝试使用更高的协议版本进行连接,并且当前请求是回退。如果虚拟服务器检测到此值,并且它支持的版本高于客户端指定的版本,则会拒绝连接并发出致命警报。如果满足以下条件之一,握手成功:

  • 客户端问候消息中不包含TLS_FALLBACK_SCSV值。
  • 客户端你好中的协议版本是虚拟服务器支持的最高协议版本。

使用CLI配置SSL协议支持

在命令提示符下,键入以下命令以配置SSL协议支持并验证配置:

set ssl vserver  -ssl2 (ENABLED | DISABLED) -ssl3 (ENABLED | DISABLED) -tls1 (ENABLED | DISABLED) -tls11 (ENABLED | DISABLED) -tls12 (ENABLED | DISABLED) show ssl vserver  

示例:

set ssl vserver vs-ssl -tls11 ENABLED -tls12 ENABLED Done sh ssl vs-ssl高级ssl配置vserver vs-ssl: DH: DISABLED Ephemeral RSA: ENABLED Refresh Count: 0 Session Reuse: ENABLED Timeout: 120 seconds Cipher Redirect: DISABLED SSLv2 Redirect: DISABLED ClearText Port: 0 Client Auth: DISABLED ssl Redirect:DISABLED Non FIPS cipher: DISABLED SNI: DISABLED SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED Push Encryption Trigger: Always Send Close-Notify: YES 1 bound certificate: 1) CertKey Name: mycert Server certificate 1 configured cipher: 1) cipher Name: DEFAULT Description:预定义cipher Alias Done 

使用GUI配置SSL协议支持

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器,然后打开虚拟服务器。
  2. 在“SSL参数“部分中,选择要启用的协议。

关闭通知

关闭通知是指示SSL数据传输结束的安全消息。需要在全局级别进行关闭通知设置。此设置适用于所有虚拟服务器、服务和服务组。有关全局设置的信息,请参阅本页后面的“全局SSL参数”部分。

除了全局设置之外,您还可以在虚拟服务器、服务或服务组级别设置关闭通知参数。因此,您可以灵活地为一个实体设置参数并为另一个实体取消设置参数。但是,请确保您在全局级别设置此参数。否则,实体级别的设置不适用。

使用CLI在实体级别配置关闭通知

在命令提示符下,键入以下任意命令来配置关闭通知功能并验证配置:

  1. 要在虚拟服务器级别进行配置,请键入:
set ssl vserver  - sendcloseotify (YES | NO) show ssl vserver  
  1. 要在服务级别进行配置,请键入:
set ssl service  -sendCloseNotify (YES | NO) show ssl service  
  1. 要在服务组级别进行配置,请键入:
set ssl serviceGroup  -sendCloseNotify (YES | NO) show ssl serviceGroup  

示例:

set ssl vserver sslvsvr -sendCloseNotify YES Done 

使用GUI在实体级别配置关闭通知功能

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器,然后打开虚拟服务器。
  2. 在“SSL参数“部分中,选择”发送关闭通知”。

全局SSL参数

SSL配置的高级自定义解决了特定问题。您可以使用ssl参数设置命令或配置实用程序指定以下内容:

  • 要用于SSL事务的量子大小。
  • CRL内存大小。
  • OCSP高速缓存大小。
  • 拒绝SSL重新协商。
  • 为解密记录,加密记录或所有记录设置标推志。
  • 如果客户端为一个域启动握手并为另一个域发送HTTP请求,则删除请求。
  • 设置触发加密的时间。注意:指定的时间仅适用于使用设置ssl vserver命令或配置实用程序设置基于计时器的加密。
  • NDCPP合规性证书检查,在设备操作客户端(后端连接)时应用。在证书验证期间,如果SSL证书中存在圣,则忽略公用名称。
  • 启用基于Cavium芯片的设备(如MPX 14000)的异构群集和基于英特尔Coleto芯片的设备(如MPX 15000设备)的异构群集,其中包含不同数量的数据包引擎。(13.0版本中增加了支持构建47. x)。
  • 在后端启用安全重新协商(从版本1.0构建58。x中添加的支持)。
  • 自适应SSL流量控制(版本13.0版本58岁。x中添加了支持)。

使用CLI配置全局SSL参数

在命令提示符下,键入以下命令以配置高级SSL设置并验证配置:

ssl参数设置(-quantumSize < quantumSize >] [-crlMemorySizeMB < positive_integer >] [-strictCAChecks(是的|不)][-sslTriggerTimeout < positive_integer >] [-sendCloseNotify(是的|不)][-encryptTriggerPktCount < positive_integer >] [-denySSLReneg < denySSLReneg >] [-insertionEncoding (Unicode | utf - 8)] [-ocspCacheSize < positive_integer >] [- pushFlag] [- dropreqwithnohotheader (YES | NO)] [- pushenctriggertimeout ] [- ndcppcompliancecertcheck (YES | NO)] [- heterogeneoussslhw (ENABLED | DISABLED)] show ssl parameter 

示例:

ssl参数设置-quantumSize 256 -crlMemorySizeMB -strictCAChecks没有-ssltriggerTimeout 100 -sendClosenotify -encryptTriggerPktCount 45 -denySSLReneg不-insertionEncoding unicode -ocspCacheSize 10 -pushFlag 3 -dropReqWithNoHostHeader是的-pushEncTriggerTimeout 100 ms -ndcppComplianceCertCheck完成ssl参数展示先进的ssl参数  ----------------------- SSL量子尺寸:8 KB马克斯CRL内存大小:256 MB严格CA检查:没有加密触发超时:100发送Close-Notify女士:没有加密触发包数:45否认SSL重新谈判:安全主题上/发行人名称插入格式:Unicode OCSP缓存大小:10 MB推动国旗:0 x3(每个解密和加密记录)严格的主机头检查SNI启用SSL会话:是的推动加密触发超时:100 ms加密设备禁用限制:0全球undef行动控制策略:CLIENTAUTH全球undef行动数据政策:无操作默认概要文件:禁用SSL证书头插入空间:是的禁用TLS 1.1/1.2 SSL_BRIDGE安全监控:没有禁用TLS 1.1/1.2动态和VPN服务:没有软件加密加速CPU阈值:0混合FIPS模式:禁用签名和哈希算法由TLS1.2: SSL拦截所有错误学习和缓存:禁用SSL拦截最大误差缓存内存:0 Bytes NDCPP Compliance Certificate Check: YES异构SSL HW (Cavium and Intel Based): ENABLED Done 

使用GUI配置ndCPP合规性证书检查

  1. 导航到”流量管理”>“SSL”,然后在“设置”组中选择”更改高级SSL设置”。

    更改高级设置

  2. 选择NDCPP合规性证书检查。单击好吧(确定)。

    ndCPP合规性证书检查

支持Citrix ADC设备后端的安全重新协商

注意:13.0版本构建58。x及更高版本支持此功能。在早期版本和内部版本中,后端只支持非安全的重新协商。

以下平台支持该功能:•VPX•包含N2或N3芯片的MPX平台•基于英特尔Coleto SSL芯片的平台

FIPS平台尚不支持该功能。

默认情况下,ADC设备的后端拒绝安全重新协商。也就是说,denySSLReneg参数设置为“全部”(默认值)。

要允许在后端进行安全重新协商,请从以下denySSLReneg参数设置之一中进行选择:

  • FRONTEND_CLIENT
  • FRONTEND_CLIENTSERVER
  • 不安全的

使用CLI启用安全重新协商

在命令提示符下,键入:

set ssl参数-denySSLReneg

示例:

ssl参数设置-denySSLReneg不做sh ssl参数先进ssl参数  ----------------------- SSL量子尺寸:8 KB马克斯CRL内存大小:256 MB严格CA检查:没有加密触发超时:100发送Close-Notify女士:是的加密触发包数:45否认SSL重新谈判:安全主题上/发行人名称插入格式:Unicode OCSP缓存大小:10 MB推动国旗:0 x0(汽车)严格的主机头检查SNI启用SSL会话:没有匹配HTTP主机头SNI: CERT推动加密触发超时:1 ms加密设备禁用限制:0全球undef行动控制策略:CLIENTAUTH全球undef行动数据政策:无操作默认概要文件:启用SSL证书头插入空间:是的禁用TLS 1.1/1.2 SSL_BRIDGE安全监控:没有禁用TLS 1.1/1.2动态和VPN服务:没有软件加密加速CPU阈值:0混合FIPS模式:禁用签名和哈希算法支持TLS1.2:所有SSL拦截错误学习和缓存:禁用SSL拦截最大错误缓存内存:0字节NDCPP符合性证书检查:无异构SSL HW (Cavium和Intel基于):禁用加密操作队列限制:150%完成

使用GUI启用安全重新协商

  1. 导航到交通管理(流量管理)> SSL >更改高级SSL设置(更改高级SSL设置)
  2. 将“拒绝SSL重新协商“设置为“全部”以外的任何值。

    后端安全重新协商全局参数

自适应SSL流量控制

注意:13.0版本构建58。x及更高版本支持此功能。

当设备上接收到高流量且加密加速容量已满时,设备将开始排队连接以便以后处理。目前,此队列的大小固定为64 K,如果超过此值,设备将开始删除连接。

从版本13.0构建58。x中,用户可以配置一个占实际容量百分比的值。通过此增强功能,如果队列中的元素数量超过自适应和动态计算的限制,设备将丢弃新连接。此方法控制传入的SSL连接,并防止设备上的资源消耗过多和其他故障,例如负载平衡监控失败或对安全应用程序的响应缓慢。

如果队列为空,设备可以继续接受连接。如果队列不为空,则加密系统已达到其容量,设备开始对连接进行排队。

限额的计算基于:

  • 设备的实际容量。
  • 用户配置的值占实际容量的百分比。默认值设置为 150%。

例如,如果设备在给定时间的实际容量为每秒 1000 次操作,并且配置了默认百分比,则设备断开连接的限制为 1500(1000 次的 150%)。

使用CLI配置操作队列限制

在命令提示符下,键入:

设置ssl参数-operationQueueLimit

操作队列限制——限制加密操作队列的容量百分比,超过此限制队列减少之前不接受新的SSL连接。默认值:150。最小值:0。最大值:10000

使用GUI配置操作队列限制

  1. 导航到流量管理> SSL
  2. 在“设置“中,单击”更改高级SSL设置”。
  3. 在“操作队列限制”中键入一个值。默认值为 150。
  4. 单击好吧(确定)。

    操作队列限制

异构群集部署

从13.0版本47岁。x开始,您可以通过将SSL参数“异构SSL HW”设置为“已启用”来构建具有不同数量的数据包引擎的Citrix ADC MPX设备的异构群集部署。例如,要组成基于Cavium芯片的设备(MPX 14000或类似设备)和基于英特尔Coleo芯片的设备(MPX 15000或类似设备)的集群,请启用SSL参数“异构SSL硬件”。“要使用同一芯片形成一个平台集群,请保留此参数的默认值(禁用)。

备注:

异构群集不支持以下功能:

  • Citrix ADC对有关设备上托管的VPX实例。
  • SSL实体(如虚拟服务器,服务,服务组和内部服务)上的SSLv3协议。
  • 软件加密加速CPU阈值(使用硬件和软件提高ECDSA和ECDHE密码性能)。

有关异构群集中支持的平台的更多信息,请参阅https://docs.citrix.com/zh-cn/citrix-adc/current-release/clustering/support-for-heterogeneous-cluster.html

使用CLI启用异构群集

在命令提示符下,键入:

set ssl parameter -heterogeneousSSLHW ENABLED

使用GUI启用异构群集

  1. 导航到”流量管理”>“SSL”,然后在“设置”组中选择”更改高级SSL设置”。
  2. 选择异构SSL HW。单击好吧(确定)。

    异构SSL硬件设置

基于推动标志的加密触发机制

基于PSH TCP标志的加密触发机制现在可以执行以下操作:

  • 将设置PSH标志的连续数据包合并到单个SSL记录中,或忽略PSH标志。
  • 执行基于计时器的加密,其中通过使用set ssl parameter -pushEncTriggerTimeout .使用实例命令全局设置超时值。

使用CLI配置基于推动标志的加密

在命令提示符下,键入以下命令以配置基于推动标志的加密并验证配置:

set ssl vserver  [-pushEncTrigger ] show ssl vserver 

示例:

set ssl vserver vserver1 -pushEncTrigger always Done sh ssl vserver vserver1高级ssl配置vserver vserver1: DH: DISABLED DH Private-Key Exponent Size Limit: DISABLED Ephemeral RSA: ENABLED Refresh Count: 0 Session Reuse: ENABLED Timeout: 120 seconds Cipher Redirect: DISABLED SSLv2 Redirect: DISABLED ClearText Port: 0 Client Auth:DISABLED SSL Redirect: DISABLED Non FIPS cipher: DISABLED SNI: DISABLED OCSP Stapling: DISABLED HSTS: DISABLED HSTS inclesubdomains: NO HSTS Max-Age: 0 SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED TLSv1.3: DISABLED Push Encryption Trigger: Always Send Close-Notify: YES Strict sign - digest Check:DISABLED Zero RTT Early Data: DISABLED DHE Key Exchange With PSK: NO Tickets Per Authentication Context: 1 ECC Curve: P_256, P_384, P_224, P_521 1) Cipher Name: DEFAULT Description: DEFAULT Cipher list With encryption strength >= 128bit Done 

使用GUI配置基于推动标志的加密

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器并打开SSL虚拟服务器。
  2. 在“SSL参数“部分的”推动加密触发器“列表中,选择一个值。

支持TLS1.2签名哈希算法

Citrix ADC设备完全符合TLS1.2签名哈希扩展。

在SSL握手中,客户端会发送受支持的签名哈希算法列表。客户端通过使用“签名_算法/算法”扩展向服务器指明哪些签名哈希算法对可以在SSL握手消息(SME和闭路)中使用。此扩展的“扩展名_data”字段在客户端你好消息中包含一个“支持的_signature_算法”值。如果服务器支持这些签名哈希算法之一,则SSL握手将继续进行。如果服务器不支持任何这些算法,则连接将被删除。

同样,如果服务器请求客户端证书进行客户端身份验证,则证书请求消息将包含“支持的_signature_算法”值。根据此签名哈希算法选择客户端证书。

注意: Citrix ADC设备充当客户端的服务器和后端服务器的客户端。

该设备在前端仅支持RSA-SHA1和RSA-SHA256,后端支持RSA-MD5, RSA-SHA1和RSA-SHA256。

MPX /有关VPX设备支持以下签名哈希组合。在SDX 设备上,如果将 SSL 芯片分配给 VPX 实例,则应用 MPX 设备的密码支持。否则,将适用 VPX 实例的正常密码支持。

  • 在VPX实例和没有N3芯片的MPX /有关设备上:
    • RSA-MD5
    • RSA-SHA1
    • RSA-SHA224
    • RSA-SHA256
    • RSA-SHA384
    • RSA-SHA512
  • 在带有N3芯片的MPX /有关设备上:
    • RSA-MD5
    • RSA-SHA1
    • RSA-SHA224
    • RSA-SHA256
    • RSA-SHA384
    • RSA-SHA512
    • ECDSA-SHA1
    • ECDSA-SHA224
    • ECDSA-SHA256
    • ECDSA-SHA384
    • ECDSA-SHA512

默认情况下,启用所有签名哈希算法。但是,您只能使用以下命令启用少数签名哈希算法:

set ssl parameter -sigDigestType 参数sigDigestType设备支持的签名摘要算法。平台决定默认支持的算法列表。VPX: RSA- md5 RSA- sha1 RSA- sha224 RSA-SHA256 RSA- sha384 RSA-SHA512 MPX with N3卡:RSA- md5 RSA- sha1 RSA- sha224 RSA-SHA256 RSA-SHA512 ECDSA- sha1 ECDSA- sha224 ECDSA- SHA256 ECDSA- sha384 ECDSA-SHA512其他MPX平台:RSA- md5 RSA- sha1 RSA- sha224 RSA-SHA256 RSA- sha384 RSA-SHA512set ssl参数-sigDigestType RSA-SHA224 RSA-SHA256 RSA-SHA384 RSA-SHA512 

验证对等证书

根据RFC 5246,对等证书必须使用客户端你好扩展中包含的签名哈希算法之一进行签名。您可以使用strictSigDigestCheck参数。根据客户端发送的签名哈希列表,如果启用strictSigDigestCheck,设备将返回由客户你好扩展中提到的签名哈希算法之一签名哈希算法签名的证书。如果对等方没有正确的证书,则连接将被删除。如果禁用此参数,则不会在对等证书中检查签名哈希。

您可以在SSL虚拟服务器和服务上配置严格的签名摘要检查。如果在SSL虚拟服务器上启用此参数,则服务器发送的服务器证书必须由客户你好扩展中列出的签名哈希算法之一签名。如果启用了客户端身份验证,则必须使用服务器发送的证书请求中列出的签名哈希算法之一对服务器接收的客户端证书进行签名。

如果您在SSL服务上启用此参数,则客户端接收的服务器证书必须由客户你好扩展中列出的签名哈希算法之一签名。客户端证书必须使用证书请求消息中列出的签名哈希算法之一进行签名。

如果启用了默认配置文件,则可以使用它在SSL虚拟服务器,SSL服务和SSL配置文件上配置严格的签名摘要检查。

使用CLI在SSL虚拟服务器,服务或配置文件上配置严格的签名摘要检查

在命令提示符下,键入:

设置ssl vserver < vServerName > -strictSigDigestCheck(启用|禁用)设置ssl服务<名> -strictSigDigestCheck(启用|禁用)设置ssl配置<名称> -strictSigDigestCheck(启用|禁用)参数strictSigDigestCheck检查是否对等实体证书签署使用signature-hash算法支持通过Citrix ADC设备。取值范围:ENABLED、DISABLED默认值:DISABLED 

示例:

set ssl vserver v1 -strictSigDigestCheck Enabled set ssl service s1 -strictSigDigestCheck Enabled set ssl profile p1 -strictSigDigestCheck Enabled 

重要:

如果在设备上配置了DH, ECDHE或ECDSA密码,则必须使用客户端列表和设备上配置的列表所通用的签名哈希之一,对SCE消息进行签名。如果没有通用的签名哈希,则连接将被删除。