ADC

旧版 SSL 配置文件

注意:

Citrix 建议使用增强型配置文件而不是旧配置文件。有关增强型配置文件基础设施的信息,请参阅 SSL 配置文件基

重要:

将 SSL 配置文件绑定到 SSL 虚拟服务器。不要将 DTLS 配置文件绑定到 SSL 虚拟服务器。有关 DTLS 配置文件的信息,请参阅 DTL 配置文件

您可以使用 SSL 配置文件指定 NetScaler 如何处理 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 缓存大小、UndeFaction Control 和 undeFaction 数据,不属于上述任何配置文件,因为这些参数独立于实体。

SSL 配置文件支持以下操作:

  • 添加-在 NetScaler 上创建 SSL 配置文件。指定配置文件是前端还是后端。前端是默认设置。
  • 设置-修改现有配置文件的设置。
  • 取消设置-将指定参数设置为其默认值。如果您未指定任何参数,则会显示一条错误消息。如果您在实体上取消设置配置文件,则该配置文件将解除与该实体的绑定。
  • 移除-删除配置文件。任何实体正在使用的配置文件都无法删除。清除配置会删除所有实体。因此,配置文件也会被删除。
  • 显示-显示 NetScaler 上可用的所有配置文件。如果指定了配置文件名称,则会显示该配置文件的详细信息。如果指定了实体,则会显示与该实体关联的配置文件。

使用 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 证书,则 NetScaler 设备会接受这些证书。也就是说,如果只将 root-CA 证书绑定到虚拟服务器,并且 root-CA 验证了与客户端证书一起发送的任何中间证书,则设备信任证书链,握手成功。

但是,如果客户端在握手中发送了一系列证书,则只有在该证书绑定到 SSL 虚拟服务器时,才能使用 CRL 或 OCSP 响应程序对中间证书进行验证。因此,即使其中一个中间证书被吊销,握手也是成功的。作为握手的一部分,SSL 虚拟服务器会发送绑定到它的 CA 证书列表。为了进行更严格的控制,您可以将 SSL 虚拟服务器配置为仅接受绑定到该虚拟服务器的某个 CA 证书已签名的证书。为此,必须启用绑定到虚拟服务器的 SSL 配置文件中的 ClientAuthUseBoundCAChain 设置。如果绑定到虚拟服务器的 CA 证书之一尚未签署客户端证书,握手将失败。

例如,假设两个客户端证书 clientcert1 和 clientcert2 分别由 int-ca-a 和 int-ca-B 的中间证书签名。中间证书由根证书 root-CA 签名。int-ca-a 和 root-CA 绑定到 SSL 虚拟服务器。在默认情况下(禁用 ClientAuthUseBoundCAChain),将接受 clientcert1 和 clientcert2。但是,如果启用了 ClientAuthUseBoundCAChain,NetScaler 设备将仅接受 clientcert1。

使用 CLI 对客户端证书验证启用更严格的控制

在命令提示符处,键入: set ssl profile <name> -ClientAuthUseBoundCAChain Enabled

使用 GUI 对客户端证书验证启用更严格的控制

  1. 导航到“系统”>“配置文件”,选择“SSL 配置文件”选项卡,然后创建 SSL 配置文件,或选择现有配置文件。
  2. 选择 使用绑定 CA 链启用客户端身份验证
旧版 SSL 配置文件