遗留的SSL配置文件
注意:
Citrix建议使用增强配置文件而不是旧配置文件。有关增强配置文件基础结构的信息,请参见SSL配置基础设施.
重要的是:
将SSL配置文件绑定到SSL虚拟服务器。不要将DTLS配置文件绑定到SSL虚拟服务器。有关DTLS概要文件的信息,请参见迪泰概要文件.
您可以使用SSL配置文件来指定Citrix ADC如何处理SSL流量。该概要文件是SSL实体(如虚拟服务器、服务和服务组)的SSL参数设置的集合,提供了配置的简易性和灵活性。您不受限制只能配置一组全局参数。您可以创建多个全局参数集(概要文件),并将不同的集分配给不同的SSL实体。SSL配置文件分为两类:
- 前端配置文件,包含适用于前端实体的参数。也就是说,它们应用于从客户端接收请求的实体。
- 后端配置文件,包含适用于后端实体的参数。也就是说,它们应用于向服务器发送客户机请求的实体。
与TCP或HTTP配置文件不同,SSL配置文件是可选的。因此,默认SSL配置文件不存在。相同的概要文件可以跨多个实体重用。如果实体没有附加配置文件,则应用全局级别设置的值。对于动态学习服务,适用当前全局值。
下表列出了每个概要文件的部分参数。
前端配置文件 | 后端配置文件 |
---|---|
cipherRedirect, cipherURL | denySSLReneg |
clearTextPort * | encryptTriggerPktCount |
clientAuth, clientCert | nonFipsCiphers |
denySSLReneg | pushEncTrigger |
dh、dhFile dhCount | pushEncTriggerTimeout |
dropReqWithNoHostHeader | pushFlag |
encryptTriggerPktCount | quantumSize |
eRSA, eRSACount | serverAuth |
insertionEncoding | commonName |
nonFipsCiphers | sessReuse, sessTimeout |
pushEncTrigger | SNIEnable |
pushEncTriggerTimeout | ssl3 |
pushFlag | sslTriggerTimeout |
quantumSize | strictCAChecks |
redirectPortRewrite | tls1 |
sendCloseNotify | - |
sessReuse, sessTimeout | - |
SNIEnable |
- |
ssl3 | - |
sslRedirect | - |
sslTriggerTimeout | - |
strictCAChecks | - |
tls1、tls11 tls12 | - |
clearTextPort参数只适用于SSL虚拟服务器。
如果试图设置不属于概要文件的参数,则会出现错误消息。例如,如果您试图在后端配置文件中设置clientAuth参数。
一些SSL参数,例如CRL内存大小、OCSP缓存大小、反瓦解控制和反瓦解数据,都不是上述任何配置文件的一部分,因为这些参数独立于实体。
SSL配置文件支持以下功能:
- add -在Citrix ADC上创建SSL配置文件。指定配置文件是前端还是后端。默认为前端。
- set -修改已存在的配置文件的设置。
- 取消设置将指定的参数设置为默认值。如果不指定任何参数,则会出现错误消息。取消配置实体上的配置文件,将取消该配置文件与该实体的绑定。
- Remove-Deletes一个概要文件。正在被任何实体使用的配置文件不能被删除。清除配置将删除所有的实体。结果,配置文件也会被删除。
- show -显示Citrix ADC上可用的所有配置文件。如果指定了策略名称,则显示该策略的详细信息。如果指定了一个实体,则显示与该实体关联的配置文件。
该任务指导管理员通过CLI创建SSL配置文件
- 要添加SSL配置文件,输入:
add ssl profile [-sslProfileType (BackEnd | FrontEnd)]
- 要修改现有的概要文件,输入:
设置SSL配置文件
- 要取消现有的配置文件,输入:
unset ssl profile [-dh] [-dhFile] [-dhCount] [-eRSA]…
- 要从实体中取消现有配置文件,输入:
取消设置ssl vserver -sslProfile
- 要删除现有配置文件,输入:
Rm SSL配置文件
- 要显示一个现有的概要文件,输入:
Sh SSL配置文件
使用GUI创建SSL配置文件
导航到系统>配置文件,选择“SSL配置文件”页签,创建SSL配置文件。
对客户端证书验证启用更严格的控制
如果只有一个根ca颁发了有效的中间ca证书,Citrix ADC设备就会接受这些证书。也就是说,如果只将根ca证书绑定到虚拟服务器,并且根ca验证随客户端证书发送的任何中间证书,则设备信任证书链,握手就成功了。
但是,如果客户端在握手时发送证书链,则只有当证书绑定到SSL虚拟服务器时,才能使用CRL或OCSP响应器验证中间证书。因此,即使其中一个中间证书被撤销,握手也会成功。作为握手的一部分,SSL虚拟服务器发送绑定到它的CA证书列表。为了进行更严格的控制,可以将SSL虚拟服务器配置为只接受绑定到该虚拟服务器的CA证书之一签名的证书。要做到这一点,必须启用ClientAuthUseBoundCAChain
在绑定到虚拟服务器的SSL配置文件中设置。如果绑定到虚拟服务器的其中一个CA证书没有签署客户端证书,则握手失败。
例如,假设两个客户端证书clientcert1和clientcert2分别由中间证书Int-CA-A和Int-CA-B签署。中间证书由根证书root - ca签名。Int-CA-A和Root-CA分别与SSL虚拟服务器绑定。在默认情况下(禁用clientauthuseboundacchain),同时接受clientcert1和clientcert2。但是,如果启用了clientauthuseboundacchain, Citrix ADC设备只接受clientcert1。
通过CLI对客户端证书验证进行更严格的控制
在命令提示符处,输入:set ssl profile
使用GUI对客户端证书验证启用更严格的控制
- 导航到系统>配置文件,选择SSL配置文件页签,新建SSL配置文件,或选择已有配置文件。
- 选择使用绑定的CA链启用客户端身份验证.