Citrix ADC

SSL卸载配置

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

启用SSL

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

使用CLI开启SSL处理

在命令提示符下,输入:

启用ns feature SSL显示ns feature 

例子:

启用ns feature SSL完成显示ns feature feature首字母缩略词状态------- ------- ------ 1)Web日志WL OFF 2)浪涌保护SP ON 3)负载均衡LB ON…9) SSL卸载SSL ON…NetScaler Push Push OFF完成

通过使用GUI启用SSL处理

导航到系统>设置模式与特点组中,单击配置基本特性,并按SSL卸载

配置服务

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

通过CLI方式添加服务

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

添加服务 ( | )   show service  

例子:

add service sslsvc 198.51.100.225 SSL 443 Done sh SSL service sslsvc后端SSL高级配置sslsvc: DH: DISABLED DH私钥指数大小限制:DISABLED Ephemeral RSA: DISABLED会话重用:ENABLED超时:300秒Cipher重定向:DISABLED SSLv2重定向:DISABLED ClearText Port: 0 Server Auth: DISABLED SSL重定向:DISABLED非FIPS Cipher: DISABLED SNI: DISABLED OCSP Stapling: DISABLED SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1:ENABLED TLSv1.2: ENABLED TLSv1.3: DISABLED发送关闭通知:YES严格签名摘要检查:DISABLED零RTT早期数据:??DHE密钥交换与PSK: ??每个身份验证的票上下文:??ECC曲线:P_256, P_384, P_224, P_521 1)密码名称:DEFAULT_BACKEND描述:后端SSL会话的默认密码列表Done 

该任务指导系统管理员通过CLI修改或删除服务

需要修改服务,使用set service命令,该命令与add service命令类似,不同之处在于输入的是已存在的服务名称。

要删除服务,请使用rm service命令,该命令只接受参数。

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设备上被标记为down,直到一个有效的证书/密钥对和至少一个服务绑定到它。基于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 vserver SSL高级配置sslvs: DH: DISABLED DH私钥指数大小限制:DISABLED Ephemeral RSA: ENABLED刷新计数:0会话重用:ENABLED超时:120秒Cipher重定向:DISABLED SSLv2重定向:DISABLED ClearText Port: 0客户端认证:DISABLED SSL重定向:DISABLED非FIPS密码: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 ticket Per Authentication Context: 1 ECC Curve: P_256, P_384, P_224, P_521 1) Cipher Name: DEFAULT Description:默认密码列表,加密强度>= 128bit Done 

该任务指导系统管理员通过命令行修改或删除ssl虚拟服务器

要修改SSL虚拟服务器的负载均衡属性,请使用设置lb vserver命令。set命令类似于添加lb vserver命令,但输入的是已存在的虚拟服务器的名称。要修改SSL设置基于ssl的虚拟服务器的属性,使用设置SSL vserver命令。有关更多信息,请参阅本页后面的“SSL虚拟服务器参数”部分。

要删除SSL虚拟服务器,使用Rm lb vserver命令,它只接受<名称>论点。

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

导航到流量管理>负载均衡>虚拟服务器,创建虚拟服务器,并指定协议为SSL。

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

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

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

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

该任务指导管理员通过命令行绑定虚拟服务器

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

绑定lb vserver   show lb vserver  

例子:

bind lb vserver sslvs sslsvc Done sh lb vserver sslvs sslvs (192.0.2.240:443) - SSL Type: ADDRESS State: DOWN[Certkey not bound]最后一次状态更改时间:0天,00:13:21.150有效状态:DOWN客户端空闲超时:180秒DOWN状态刷新:ENABLED禁用主vserver On DOWN: DISABLED Appflow日志记录:ENABLED配置方法:LEASTCONNECTION BackupMethod: roundbin模式:IP持久化:无Vserver IP和端口插入:OFF Push: DISABLED Push Vserver: Push多客户端:NO Push标签规则:无L2Conn: OFF跳过持久化:无监听策略:无IcmpResponse:被动RHIstate:被动新业务启动请求速率:0 PER_SECOND,增量间隔:0 Mac模式保留Vlan: DISABLED DBS_LB: DISABLED Process Local: DISABLE流量域:1) sslsvc (198.51.100.225: 443) - SSL状态:DOWN权重:1完成

该任务指导系统管理员通过CLI解除虚拟服务器与服务的绑定

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

解绑定lb vserver   

例子:

解绑定lb vserver sslvs sslsvc——NeedCopy >

通过使用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。

该任务指导系统管理员通过命令行将多个服务器证书绑定到单个SSL虚拟服务器上

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

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

如果需要通过CLI方式将多个服务器证书绑定到一个透明服务,请替换vserver提供服务和vservername使用上述命令中的服务名称。

注意:方法创建SSL服务-clearTextPort 80选择。

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

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

在后端服务上支持SNI

请注意: DTLS后端服务不支持SNI。

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

联邦系统集成商客户的安全需求包括支持2012R2中的Active Directory联邦服务(ADFS) 3.0和WAP服务器。为了满足这一需求,需要在Citrix ADC设备的后端支持SNI。

注意:

要使SNI工作,客户机hello中的服务器名必须与绑定到SSL虚拟服务器的后端服务上配置的主机名匹配。例如,后端服务器的主机名为www.mail.example.com,则启用sni的后端服务必须配置服务器名为https://www.mail.example.com。这个主机名必须与客户机hello中的服务器名匹配。

在后端服务上支持动态SNI

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

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

注意事项:

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

  • 启用服务器身份验证时,服务器证书由CA证书进行验证,服务器证书中的common name/SAN表项与SNI进行匹配。因此,必须将CA证书与服务绑定。

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

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

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

在命令提示符下,输入:

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

例子:

添加服务service_ssl 198.51.100.100 SSL 443添加lb vserver SSL -vs 203.0.113.200 SSL 443绑定lb vserver SSL -vs service_ssl设置SSL服务service_ssl -SNIEnable ENABLED -commonName www.example.com设置SSL配置文件sslprof -SNIEnable ENABLED 

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

  1. 导航到流量管理>负载均衡>业务
  2. 选择SSL服务,并在高级设置,点击SSL参数
  3. 点击SNI启用

    使SNI

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

  1. 导航到>配置文件> SSL配置文件
  2. 点击添加
  3. 基本设置中,选择SNI启用

    SNI配置文件

  4. 点击好吧

将安全监视器绑定到启用sni的后端服务

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

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

在命令提示符下,输入:

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

例子:

添加ssl配置文件sni_backend_profile -sslProfileType后端设置ssl配置文件sni_backend_profile -sniEnable ENABLED -commonName example.com添加lb monitor HTTP-ECV -mon HTTP-ECV -secure YES set monitor HTTP-ECV -mon HTTP-ECV -customHeaders "Host: example.com\r\n" -sslprofile sni_backend_profile绑定服务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配置安全监视器并将其绑定到支持sni的后端服务

  1. 导航到交通管理>负载平衡>监控
  2. 添加类型为的监视器HTTP-ECVTCP-ECV,并指定自定义标题
  3. 选择创建
  4. 导航到交通管理>负载平衡>服务
  5. 选择SSL服务,单击编辑
  6. 监控,点击添加绑定,选择在步骤3中创建的监视器,然后单击绑定

添加或更新证书密钥对

注:

如果没有现有的证书和密钥,请参见创建证书

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

从41号楼开始。X时,证书名称最多支持63个字符。

从13.0版本开始构建79。X,受密码保护的证书密钥对总是添加成功。以前,如果在Citrix ADC设备上启用了强密码选项,有时不会添加受密码保护的证书-密钥对。但是,如果降级到较早的版本,则证书密钥配置将丢失。此外,在证书密钥对的NITRO 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 -区分编码规则
  • PFX—个人信息交换

软件会自动检测格式。因此,您不再需要在inform参数中指定格式。如果您指定了格式(正确或不正确),软件将忽略它。证书文件和密钥文件格式必须保持一致。

注意:证书必须使用以下散列算法之一进行签名:

  • 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 SDX设备支持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 [] 

例子:

添加ssl certKey sslkey -cert server_cert。Pem -key server_key。pem -password ssl -expiryMonitor ENABLED -notificationPeriod 30 Done注:对于FIPS设备,将-key替换为-fipskey show ssl certKey sslkey Name: sslkey Status: Valid, Days to expiration:8418 Version: 3 Serial Number: 01签名算法:md5WithRSAEncryption Issuer: C=US,ST=SJ,L=SJ,O=NS,OU=NSSSL,CN=www.root.com有效期Not Before: Jul 15 02:25:01 2005 GMT Not After: Nov 30 02:25:01 2032 GMT主题:C=US,ST=SJ,L=SJ,O=NS,OU=NSSSL,CN=www.server.com公钥算法:rsa加密公钥大小:2048完成

该任务指导管理员通过CLI方式更新或删除证书密钥对

要修改证书密钥对中的过期监视器或通知周期,请使用设置SSL证书密钥命令。要替换证书-密钥对中的证书或密钥,请使用更新SSL证书密钥命令。的更新SSL证书密钥命令有一个用于覆盖域检查的额外参数。对于这两个命令,都要输入已存在的证书-密钥对的名称。要删除SSL证书密钥对,请使用Rm SSL证书命令,它只接受< certkeyName >论点。

例子:

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

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

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

    安装证书

  2. 依次输入以下参数,单击安装

    • certificate -key Pair Name -证书和私钥对的名称。

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

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

    类型值

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

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

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

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

在SSL握手过程中,在客户端身份验证的证书请求消息中,服务器会列出与该服务器绑定的所有CA的DN (distinguished names)。服务器只接受来自此列表的客户端证书。如果不希望将特定CA证书的DN名称发送到SSL客户端,请设置skipCA国旗。此设置表示不能将特定CA证书的专有名称发送到SSL客户端。

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

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

该任务指导管理员通过命令行绑定虚拟服务器的SSL证书-密钥对

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

- bind ssl vserver  - certkeyname < certificatekeypairname > - ca - skipcaname - show ssl vserver  

例子:

bind ssl vs vs1 -certkeyName cert2 -CA -skipCAName Done sh ssl vs vs1 vs1高级ssl配置:DH: DISABLED Ephemeral RSA: ENABLED刷新计数:0会话重用:ENABLED超时:120秒Cipher重定向:DISABLED SSLv2重定向:DISABLED ClearText Port: 0 Client Auth: DISABLED ssl重定向:DISABLED非FIPS Cipher: 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 sign - digest Check: DISABLED ECC Curve: P_256, P_384, P_224, P_521 1) CertKey Name: cert1 CA Certificate OCSPCheck:可选CA_Name Sent 2) CertKey Name: cert2 CA Certificate OCSPCheck:可选CA_Name skip 1) Cipher Name: DEFAULT Description:默认加密强度的密码列表>= 128bit Done 

该任务指导管理员通过CLI解除虚拟服务器与SSL证书-密钥对的绑定

方法从虚拟服务器解除证书密钥对的绑定unbind ssl certKey 命令时,将出现错误消息。出现错误是因为命令的语法发生了变化。在命令提示符下,输入以下命令:

解除绑定ssl vserver  -certkeyName  

例子:

unbind ssl vserver vssl -certkeyName sslkey 

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

  1. 导航到流量管理>负载均衡>虚拟服务器并打开SSL虚拟服务器。点击证书部分。

    绑定证书到虚拟服务器

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

    单击箭头选择证书密钥对

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

    选择证书密钥对

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

    将证书绑定到虚拟服务器

SSL虚拟服务器参数

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

通过命令行方式设置SSL虚拟服务器参数

在命令提示符下,输入:

set ssl vserver @ [-clearTextPort ] [-dh (ENABLED |DISABLED) -dhFile ] [-dhCount ][-dhKeyExpSizeLimit (ENABLED |DISABLED)] [-eRSA (ENABLED |DISABLED)[-eRSACount ]] [-sessReuse (ENABLED |DISABLED)[-sessTimeout ]] [-cipherRedirect (ENABLED |DISABLED)[-cipherURL ]] [-sslv2Redirect (ENABLED |DISABLED)[-sslv2URL ]] [-clientAuth (ENABLED |DISABLED)[-clientCert(必选|可选)]][-sslRedirect(启用|禁用)][-redirectPortRewrite(启用|禁用)][-ssl2(启用|禁用)][-ssl3(启用|禁用)][-tls1(启用|禁用)][-tls11(启用|禁用)][-tls12(启用|禁用)][-tls13(启用|禁用)][-SNIEnable(启用|禁用)][-ocspStapling(启用|禁用)][-pushEncTrigger < pushEncTrigger >] [-sendCloseNotify(是的|不)][-dtlsProfileName <字符串>][-sslProfile <字符串>][-HSTS(启用|禁用)][-maxage ][-包括子域(YES | NO)][-strictSigDigestCheck (ENABLED | DISABLED)][-zeroRttEarlyData (ENABLED | DISABLED)][-tls13SessionTicketsPerAuthContext ] [-dheKeyExchangeWithPsk (YES | NO)] 

Diffie-Hellman参数

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

需要通过命令行设置DH参数的密码,输入:sh cipher DH。

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

开启DH密钥交换的方法请参见生成DH (Diffie-Hellman)密钥

通过命令行配置DH参数

在命令提示符下,输入如下命令配置DH参数并验证配置结果:

- ' set ssl vserver  -dh 

例子:

set ssl vserver vs-server -dh ENABLED -dhFile /nsconfig/ssl/ns-server。cert -dhCount 1000 Done show ssl vserver vs-server ssl高级配置:DH: ENABLED Ephemeral RSA: ENABLED Refresh Count: 1000 Session Reuse: ENABLED Timeout: 120秒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:启用TLSv1.2:启用1)密码名称:DEFAULT描述:预定义密码别名完成

通过图形化界面配置DH参数

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

短暂的RSA

临时RSA允许导出客户端与安全服务器通信,即使服务器证书不支持导出客户端(1024位证书)。如果需要防止导出客户端访问安全的web对象或资源,请关闭RSA密钥临时交换功能。

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

注意:

临时RSA密钥是在将导出密码绑定到SSL或基于tcp的SSL虚拟服务器或服务时自动生成的。删除导出密码时,不会删除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 ssl高级配置:DH: DISABLED Ephemeral RSA: ENABLED Refresh Count: 1000 Session Reuse: ENABLED Timeout: 120秒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:启用TLSv1.0:启用TLSv1.2:启用TLSv1.2:启用TLSv1.2:启用1)密码名称:DEFAULT描述:预定义密码别名完成

使用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高级ssl配置:DH: DISABLED Ephemeral RSA: enabled Refresh Count: 1000 Session Reuse: enabled Timeout: 600秒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名称:Auth-Cert-1服务器证书1)Cipher名称:DEFAULT描述:预定义的密码别名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)。

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

  • TLS_FALLBACK_SCSV值不包含在客户端hello消息中。
  • client hello中的协议版本为虚拟服务器支持的最高协议版本。

通过命令行配置支持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 vs-ssl vserver vs-ssl高级ssl配置:DH: DISABLED Ephemeral RSA: ENABLED刷新计数:0会话重用:ENABLED超时:120秒Cipher重定向:DISABLED SSLv2重定向:DISABLED ClearText Port: 0客户端认证:DISABLED ssl重定向:DISABLED非FIPS Cipher: DISABLED SNI: DISABLED SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED总是发送关闭通知:是1绑定证书:1)CertKey名称:mycert服务器证书1配置密码:1)密码名称:DEFAULT描述:预定义密码别名完成

使用GUI配置SSL协议支持

  1. 导航到流量管理>负载均衡>虚拟服务器,打开虚拟服务器。
  2. SSL参数节中,选择要启用的协议。

Close-notify

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

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

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

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

  1. 要在虚拟服务器级别进行配置,输入:
设置ssl vserver  -sendCloseNotify(是|否)显示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参数部分中,选择发送Close-Notify

SSL全局参数

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

  • 用于SSL事务的量子大小。
  • CRL内存大小。
  • OCSP缓存大小。
  • 拒绝SSL重新协商。
  • 为解密、加密或所有记录设置PUSH标志。
  • 如果客户端为一个域发起握手,并为另一个域发送HTTP请求,则丢弃请求。
  • 设置触发加密的时间。注意:指定的时间仅在使用设置SSL vserver命令或配置实用程序设置基于定时器的加密。
  • NDCPP遵从性证书检查——当设备充当客户机(后端连接)时应用。在证书验证过程中,如果SSL证书中存在SAN,则忽略common name。
  • 启用基于Cavium芯片的设备(如MPX 14000)和基于Intel Coleto芯片的设备(如MPX 15000)的异构集群,这些设备具有不同数量的数据包引擎。(在13.0 build 47.x版本中添加了支持)。
  • 在后端启用安全重新协商(从版本1.0 build 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 < positive_integer >] [- dropReqWithNoHostHeader(是的|不)][-pushEncTriggerTimeout < positive_integer >] [-ndcppComplianceCertCheck(是的|不)][-heterogeneousSSLHW (ENABLED | DISABLED)] show ssl参数

例子:

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证书头插入空间:YES禁用SSL_BRIDGE安全监视器的TLS 1.1/1.2: NO禁用动态和VPN业务的TLS 1.1/1.2: NO软件加密加速CPU阈值:0混合FIPS模式:禁用TLS1.2支持的签名和哈希算法:所有SSL拦截错误学习和缓存:禁用SSL拦截最大错误缓存内存:0字节NDCPP合规证书检查:YES异构SSL HW (Cavium和Intel基于):启用完成

通过GUI配置NDcPP符合性证书检查

  1. 导航到流量管理> SSL设置组,选择更改高级SSL设置

    更改高级设置

  2. 选择NDCPP符合性证书检查。点击好吧

    NDcPP符合性证书检查

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

注意:该特性在release 13.0 build 58中得到支持。X和之后。在早期的版本和构建中,只在后端支持非安全的重新协商。

支持VPX平台支持N2或N3芯片的MPX平台支持基于Intel Coleto SSL芯片的平台

FIPS平台还不支持该特性。

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

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

  • 没有
  • FRONTEND_CLIENT
  • FRONTEND_CLIENTSERVER
  • 不安全的

通过CLI开启安全重协商功能

在命令提示符下,输入:

设置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会话:NO匹配HTTP主机头SNI: CERT推送加密触发超时:1毫秒加密设备禁用限制:0控制策略全局不定义:CLIENTAUTH数据策略全局不定义:NOOP默认配置文件:ENABLED SSL在证书头插入空间:YES SSL_BRIDGE安全监控禁用TLS 1.1/1.2: NO禁用动态和VPN业务TLS 1.1/1.2: NO软件加密加速CPU阈值:0混合FIPS模式:禁用TLS1.2支持的签名和哈希算法:所有SSL拦截错误学习和缓存:禁用SSL拦截最大错误缓存内存:0字节NDCPP合规证书检查:无异构SSL硬件(基于Cavium和Intel):禁用加密操作队列限制:150%完成

通过使用GUI启用安全重新协商

  1. 导航到流量管理> SSL >修改SSL高级设置
  2. 拒绝SSL重协商为除ALL以外的任何值。

    后端安全重协商全局参数

自适应SSL流量控制

注意:该特性在release 13.0 build 58中得到支持。X和之后。

当设备上接收到高流量并且加密加速容量已满时,设备开始排队连接以便稍后处理。目前,这个队列的大小固定为64k,如果超过这个值,设备就开始断开连接。

从13.0版本开始构建58。X时,用户可以配置为实际容量的百分比。通过此增强,如果队列中的元素数量大于自适应动态计算的限制,则设备会丢弃新连接。这种方法控制传入的SSL连接,并防止设备上的过度资源消耗和其他故障,例如负载平衡监视故障或对安全应用程序的缓慢响应。

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

限额的计算依据:

  • 器具的实际容量。
  • 由用户配置,占实际容量的百分比。默认值为150%。

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

通过CLI配置操作队列限制

在命令提示符下,输入:

set ssl parameter -operationQueueLimit

操作队列限制-限制加密操作队列的容量百分比,超过该百分比后,在队列减少之前不接受新的SSL连接。缺省值:150。最小值:0。最大值:10000。

通过使用GUI配置操作队列限制

  1. 导航到流量管理> SSL
  2. 设置,点击更改高级SSL设置
  3. 操作队列限制。默认值是150。
  4. 点击好吧

    操作队列限制

异构集群部署

从13.0版本开始,构建47。通过将SSL参数“heterogeneous SSL HW”设置为ENABLED,可以将Citrix ADC MPX设备与不同数量的数据包引擎组成异构集群部署。例如,要形成基于Cavium芯片的设备(MPX 14000或类似)和基于Intel Coleto芯片的设备(MPX 15000或类似)的集群,启用SSL参数“异构SSL HW”。若要使用同一芯片组成多个平台集群,请保持该参数的默认值DISABLED。

注:

异构集群不支持以下特性:

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

有关异构集群中支持的平台的详细信息,请参见https://docs.citrix.com/en-us/citrix-adc/current-release/clustering/support-for-heterogeneous-cluster.html

该任务指导系统管理员通过CLI开启异构集群

在命令提示符下,输入:

设置ssl参数-异构sslhw ENABLED

使用GUI启用异构集群

  1. 导航到流量管理> SSL设置组,选择更改高级SSL设置
  2. 选择异构SSL硬件。点击好吧

    异构SSL硬件设置

基于PUSH标志的加密触发机制

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

  • 将设置了PSH标志的连续报文合并为一条SSL记录,或者忽略PSH标志。
  • 执行基于定时器的加密,其中超时值通过使用set ssl parameter -pushEncTriggerTimeout 命令。

通过命令行配置基于PUSH标志的加密

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

set ssl vserver  [-pushEncTrigger ] show ssl vserver 

例子:

set ssl vserver vserver1 -pushEncTrigger always Done sh ssl vserver vserver1的ssl高级配置:DH: DISABLED DH私钥指数大小限制:DISABLED Ephemeral RSA: ENABLED刷新计数:0会话重用:ENABLED超时:120秒Cipher重定向:DISABLED SSLv2重定向:DISABLED ClearText Port: 0客户端认证:DISABLED ssl重定向:DISABLED非FIPS Cipher: DISABLED SNI: DISABLED OCSP Stapling: DISABLED HSTS: DISABLED HSTS包括:NO HSTS Max-Age: 0 SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED TLSv1.3: DISABLED推送加密触发:Always Send Close-Notify: YES Strict sign - digest Check: DISABLED Zero RTT Early Data: DISABLED DHE Key Exchange With PSK: NO ticket Per Authentication上下文:1 ECC曲线:P_256, P_384, P_224, P_521 1)密码名称:DEFAULT描述:默认加密强度的密码列表>= 128bit Done 

通过使用GUI配置基于PUSH标志的加密

  1. 导航到流量管理>负载均衡>虚拟服务器并打开SSL虚拟服务器。
  2. SSL参数节,从PUSH加密触发器列表中,选择一个值。

支持TLS1.2签名哈希算法

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

在SSL握手中,客户端发送一个支持签名哈希算法的列表。客户端通过使用“signature_algorithms”扩展向服务器指示SSL握手消息(SKE和CCV)中可能使用的签名哈希算法对。这个扩展的“extension_data”字段在客户端Hello消息中包含一个“supported_signature_algorithms”值。如果服务器支持这些签名散列算法之一,则继续进行SSL握手。如果服务器不支持这些算法中的任何一种,连接将被丢弃。

类似地,如果服务器请求客户端证书进行客户端身份验证,则证书请求消息包含一个“supported_signature_algorithms”值。根据签名哈希算法选择客户端证书。

注意:

Citrix ADC设备对客户机充当服务器,对后端服务器充当客户机。

一体机只支持前端的RSA-SHA1和RSA-SHA256协议,后端支持RSA-MD5、RSA-SHA1和RSA-SHA256协议。

MPX/SDX/VPX设备支持以下签名散列组合。在SDX设备上,如果将SSL芯片分配给VPX实例,则应用MPX设备的密码支持。否则,使用VPX实例的普通密码支持。

  • 在VPX实例和没有N3芯片的MPX/SDX设备上:
    • RSA-MD5
    • RSA-SHA1
    • RSA-SHA224
    • RSA-SHA256
    • RSA-SHA384
    • RSA-SHA512
  • 在带有N3芯片的MPX/SDX设备上:
    • 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  Parameters sigDigestType设备支持的签名摘要算法。平台决定默认支持的算法列表。VPX平台:RSA- md5 RSA- sha1 RSA- sha224 RSA- sha224 RSA-SHA256 RSA- sha384 RSA-SHA512 N3卡的MPX平台:RSA- md5 RSA- sha1 RSA- sha224 RSA-SHA256 RSA- sha384 RSA-SHA512其他MPX平台:RSA- md5 RSA- sha1 RSA- sha224 RSA-SHA256 RSA- sha384 RSA-SHA512。set ssl parameter -sigDigestType RSA-SHA224 RSA-SHA256 RSA-SHA384 RSA-SHA512 

验证对端证书

根据RFC 5246,对等证书必须使用Client Hello扩展中包含的签名散列算法之一进行签名。你可以使用strictSigDigestCheck参数。根据客户端发送的签名散列列表,如果启用strictSigDigestCheck,设备返回由Client Hello扩展中提到的签名散列算法之一签名的证书。如果对端没有正确的证书,则断开连接。如果不启用该参数,则不在对端证书中检查签名哈希值。

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

如果在SSL服务上启用此参数,则客户端收到的服务器证书必须使用客户端Hello扩展中列出的签名散列算法之一进行签名。必须使用证书请求消息中列出的签名散列算法之一对客户端证书进行签名。

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

通过命令行配置SSL虚拟服务器、服务或配置文件的严格签名摘要检查

在命令提示符下,输入:

set ssl vserver  -strictSigDigestCheck (ENABLED | DISABLED) set ssl service  -strictSigDigestCheck (ENABLED | DISABLED) set ssl profile -strictSigDigestCheck (ENABLED | DISABLED) Parameters strictSigDigestCheck检查对端实体证书是否使用Citrix ADC设备支持的签名哈希算法之一进行签名。取值范围:ENABLED, DISABLED默认值:DISABLED 

例子:

set ssl vserver v1 -strictSigDigestCheck Enabled设置ssl服务s1 -strictSigDigestCheck Enabled设置ssl配置文件p1 -strictSigDigestCheck Enabled 

重要的是:

如果在设备上配置了DH、ECDHE或ECDSA密码,则必须使用客户端列表和设备上配置的列表共用的签名散列之一对SKE消息进行签名。如果没有公共签名散列,则断开连接。