旧版 SSL 配置文件
注意 : Citrix 建议使用增强型配置文件而不是旧配置文件。有关增强型配置文件基础设施的信息,请参阅 SSL 配置文件基
重要:
将 SSL 配置文件绑定到 SSL 虚拟服务器。不要将 DTLS 配置文件绑定到 SSL 虚拟服务器。有关 DTLS 配置文件的信息,请参阅 DTL 配置文件。
您可以使用 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 缓存大小、deData)不属于上述任何配置文件,因为这些参数独立于实体。
SSL 配置文件支持以下操作:
- 添加-在 Citrix ADC 上创建 SSL 配置文件。指定配置文件是前端还是后端。前端是默认值。
- 设置-修改现有配置文件的设置。
- Unset-将指定参数设置为其默认值。如果未指定任何参数,则会显示一条错误消息。如果您在实体上取消设置配置文件,则该配置文件将从实体中解除绑定。
- 删除-删除配置文件。无法删除任何实体正在使用的配置文件。清除配置将删除所有实体。因此,配置文件也会被删除。
- 显示-显示 Citrix ADC 上可用的所有配置文件。如果指定了配置文件名称,则会显示该配置文件的详细信息。如果指定了实体,则会显示与该实体关联的配置文件。
使用 CLI 创建 SSL 配置文件
- 要添加 SSL 配置文件,请键入:
add ssl profile <name> [-sslProfileType ( BackEnd | FrontEnd )]
<!--NeedCopy-->
- 要修改现有配置文件,请键入:
set ssl profile <name>
<!--NeedCopy-->
- 要取消设置现有配置文件,请键入:
unset ssl profile <name> [-dh] [-dhFile] [-dhCount] [-eRSA]…
<!--NeedCopy-->
- 要从实体取消设置现有配置文件,请键入:
unset ssl vserver <vServerName> –sslProfile
<!--NeedCopy-->
- 要删除现有配置文件,请键入:
rm ssl profile <name>
<!--NeedCopy-->
- 要显示现有配置文件,请键入:
sh ssl profile <name>
<!--NeedCopy-->
使用 GUI 创建 SSL 配置文件
导航到“系统”>“配 置文件”,选择“SSL 配置文件”选项卡,然后创建 SSL 配置文件。
对客户端证书验证启用更严格的控制
如果单个 Root-CA 颁发了有效的中间 CA 证书,Citrix ADC 设备将接受这些证书。也就是说,如果只有 Root-CA 证书绑定到虚拟服务器,并且 Root-CA 验证随客户端证书一起发送的任何中间证书,则设备将信任证书链,并且握手成功。
但是,如果客户端在握手中发送了一连串证书,则只有当该证书绑定到 SSL 虚拟服务器时,才能使用 CRL 或 OCSP 响应程序验证中间证书。因此,即使其中一个中间证书被吊销,握手也是成功的。作为握手的一部分,SSL 虚拟服务器发送绑定到它的 CA 证书的列表。为了进行更严格的控制,您可以将 SSL 虚拟服务器配置为仅接受绑定到该虚拟服务器的一个 CA 证书已签署的证书。为此,必须启用绑定到虚拟服务器的 SSL 配置文件中的设置 ClientAuthUseBoundCAChain
。如果绑定到虚拟服务器的 CA 证书之一尚未签署客户端证书,握手将失败。
例如,假设两个客户端证书,即 clientcert1 和 clientcert2,分别由中间证书 INT-CA-A 和 INT-CA-B 签名。中间证书由根证书根 CA 签名。Int-CA-A 和 Root-CA 绑定到 SSL 虚拟服务器。在默认情况下(禁用 ClientAuthUseBoundCAChain),接受 clientcert1 和 clientcert2。但是,如果启用了 ClientauthuseBoundCachaon,Citrix ADC 设备只接受 clientcert1。
使用 CLI 启用对客户端证书验证的更严格的控制
在命令提示符处,键入: set ssl profile <name> -ClientAuthUseBoundCAChain Enabled
使用 GUI 对客户端证书验证进行更严格的控制
- 导航到“系统”>“配 置文件”,选择“SSL 配置文 件”选项卡,然后创建 SSL 配置文件,或选择现有配置文件。
- 选择“使用绑定 CA 链启用客户端身份验证”。