高级概念

Citrix ADC SSL 配置文件验证的参考设计

概述

Citrix ADC 摘要

Citrix ADC 是一款一体化应用程序交付控制器,它通过使用以下方法使应用程序的运行速度提高五倍、降低应用程序拥有成本、优化用户体验并确保应用程序始终可用:

  • 高级 L4-7 负载平衡和流量管理
  • 久经考验的应用程序加速,如 HTTP 压缩和缓存
  • 集成应用程序防火墙,确保应用程序安全
  • 卸载服务器以显著降低成本并整合服务器

作为服务和应用程序交付领域无可争议的领导者,Citrix ADC 已部署在全球数千个网络中,以优化、保护和控制所有企业和云服务的交付。Citrix ADC 直接部署在 Web 和数据库服务器的前面,将高速负载平衡和内容切换、http 压缩、内容缓存、SSL 加速、应用程序流可见性和强大的应用程序防火墙整合到一个易于使用的集成平台中。通过端到端监视,将网络数据转换为可操作的商业智能,大大简化了会议 SLA。Citrix ADC 允许使用简单的声明式策略引擎定义和管理策略,而无需编程专业知识。

概述 Citrix ADC SSL 配置文件

您可以使用 SSL 配置文件指定 Citrix ADC 如何处理 SSL 流量。配置文件是 SSL 实体(如虚拟服务器、服务和服务组)的 SSL 参数设置的集合,并提供了简单的配置和灵活性。您不仅限于配置一组全局参数。您可以创建多个全局参数集(配置文件),并将不同的集分配给不同的 SSL 实体。SSL 配置文件分为两类:

  • 前端配置文件,包含适用于前端实体的参数。也就是说,它们适用于从客户端接收请求的实体。
  • 后端配置文件,包含适用于后端实体的参数。也就是说,它们适用于向服务器发送客户端请求的实体。

与 TCP 或 HTTP 配置文件不同,SSL 配置文件是可选的。启用 SSL 配置文件(全局参数)后,所有 SSL 端点都将继承默认配置文件。同一个配置文件可以在多个实体中重复使用。如果实体没有附加配置文件,则应用在全局级别设置的值。对于动态学习的服务,应用当前的全局值。

与要求在单个 SSL 端点上配置 SSL 参数、密码和 ECC 曲线的替代方法相比,Citrix ADC 上的 SSL 配置文件充当所有相关端点的单点 SSL 配置,从而简化了配置管理。此外,使用 SSL 配置文件可以解决诸如密码重新排序和密码重新排序时停机等配置问题。

SSL 配置文件有助于在传统上无法设置这些参数和绑定的 SSL 端点上设置所需的 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 TLS 1.0、TLS 1.1、TLS 1.2
sendCloseNotify  
sessReuse, sessTimeout  
SNIEnable  
ssl3  
sslRedirect  
sslTriggerTimeout  
strictCAChecks  
tls1、tls11、tls12  

* clearTextPort 参数仅适用于 SSL 虚拟服务器。

如果您尝试设置不是配置文件一部分的参数(例如,如果您尝试在后端配置文件中设置 clientAuth 参数),则会显示一条错误消息。

某些 SSL 参数(如 CRL 内存大小、OCSP 高速缓存大小、UndefAction 控制以及 UndefAction 数据)不属于上述任何配置文件,因为这些参数独立于实体。这些参数出现在“流量管理”>“SSL”>“高级 SSL 设置”中。

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

  • 添加-在 Citrix ADC 上创建 SSL 配置文件。指定配置文件是前端还是后端。前端是默认值。

  • 设置-修改现有配置文件的设置。

  • Unset-将指定参数设置为其默认值。如果未指定任何参数,则会显示一条错误消息。如果您在实体上取消设置配置文件,则该配置文件将从实体中解除绑定。

  • 删除-删除配置文件。无法删除任何实体正在使用的配置文件。清除配置将删除所有实体。因此,配置文件也会被删除。

  • 绑定-将配置文件绑定到虚拟服务器。

  • 取消绑定-取消配置文件与虚拟服务器的绑定。

  • 显示-显示 Citrix ADC 上可用的所有配置文件。如果指定了配置文件名称,则会显示该配置文件的详细信息。如果指定了实体,则会显示与该实体关联的配置文件。


SSL 配置文件用例

SSL 默认配置文件

Citrix ADC 设备带有两个内置的默认配置文件 —

  1. ns_default_ssl_profile_frontend — 所有 SSL 类型虚拟服务器和内部服务的默认前端配置文件。

  2. ns_default_ssl_profile_backend — SSL 类型服务、服务组和安全监视器的默认后端配置文件。

创建的任何新端点都会绑定相应的默认 SSL 配置文件。

可以更改默认 SSL 配置文件的 SSL 参数和密码。这样可以确保客户可以一次更改相应端点引用的设置和绑定。

重要:

在升级软件并启用默认配置文件之前,请保存配置。

将软件升级到支持增强配置文件基础结构的版本,然后启用默认配置文件。根据您的具体部署,您可以采用以下两种方法之一。如果您的部署具有跨端点的通用 SSL 配置,请参阅用例 1。如果您的部署具有大型 SSL 配置,并且 SSL 参数和密码在端点之间不常见,请参阅用例 2。

升级软件后,如果启用配置文件,则无法撤消更改。也就是说,无法禁用配置文件。因此,撤消更改的唯一方法是使用旧配置重新启动。

注意: 单个操作(启用默认配置文件或 set ssl parameter -defaultProfile ENABLED)启用(绑定)默认前端配置文件和默认后端配置文件。

注意: 默认的 SSL 配置文件现在可用于从 v11.1 开始的群集

要使用 Citrix ADC 命令行保存配置,请在命令提示符下键入:

>save config

>shell

root@ns# cd /nsconfig

root@ns# cp ns.conf ns.conf.NS<currentreleasenumber><currentbuildnumber>
<!--NeedCopy-->

用例 1

启用默认配置文件后,它们将绑定到所有 SSL 端点。默认配置文件是可编辑的。如果您的部署使用大多数默认设置并且仅更改了几个参数,则可以编辑默认配置文件。这些更改会立即反映在所有端点上。

以下流程图说明了必须执行的步骤:

image-ssl-profiles-01

  1. 有关升级软件的信息,请参阅 升级系统软件。

  2. 使用 Citrix ADC 命令行或 GUI 启用默认配置文件。
    • 在命令行中,键入:set ssl parameter -defaultProfile ENABLED
    • 如果您更喜欢使用 GUI,请导航到 流量管理 > SSL > 更改高级 SSL 设置,向下滚动,然后选择 启用默认配置文件
  3. (可选)手动更改默认配置文件中的任何设置。
    • 在命令行中,键入:, set ssl profile <name> 然后键入要修改的参数。
    • 如果您更喜欢使用 GUI,请导航到“系统”>“配置文件”。在 SSL 配置文件中,选择一个配置文件并单击 编辑

用例 2

如果您的部署对大多数 SSL 实体使用特定设置,则可以运行一个脚本,为每个端点自动创建自定义配置文件并将它们绑定到终点。使用本节中详细介绍的过程保留部署中所有 SSL 端点的 SSL 设置。升级软件后,下载并运行迁移脚本以捕获特定于 SSL 的更改。运行此脚本的输出是一个批处理文件。启用默认配置文件,然后应用批处理文件中的命令。有关升级后迁移 SSL 配置的示例,请参阅附录。

以下流程图说明了必须执行的步骤:

image-ssl-profiles-02

  1. 有关升级软件的信息,请参阅 升级系统软件。

  2. 下载并运行脚本以捕获特定于 SSL 的更改。除其他迁移活动外,该脚本还会分析旧的 ns.conf 文件,并将任何特殊设置(默认设置除外)从 SSL 端点配置移动到自定义配置文件。升级后必须启用默认配置文件才能应用配置更改。

    注意:

    运行迁移脚本时,您可以选择自动生成配置文件名称,也可以以交互方式提示用户输入配置文件名称。迁移脚本会检查以下内容并相应地创建专业文件。

    • 具有默认设置和类似密码和密码组设置的端点:脚本创建一个配置文件。
    • 具有默认设置、不同密码组或密码组不同优先级的端点:在每种情况下,脚本都会创建一个用户定义的密码组,将其绑定到配置文件,然后将每个配置文件绑定到相应的端点。
    • 具有默认设置和默认密码的端点:默认配置文件绑定到终点。
    To run the script, at the command prompt, type:
    
    ./default_profile_script /nsconfig/ns.conf -b > <output file name>`
    <!--NeedCopy-->
    
    You must run this command from the folder in which you store the script.
    
  3. 使用 Citrix ADC 命令行或 GUI 启用默认配置文件。

    • 在命令行中,键入: set ssl parameter -defaultProfile ENABLED
    • 如果您更喜欢使用 GUI,请导航到 流量管理 > SSL > 更改高级 SSL 设置,向下滚动,然后选择 启用默认配置文件

自定义 SSL 配置文件

除了默认的 SSL 配置文件,客户可以为特定用例创建自定义的前端和后端 SSL 配置文件。在某些情况下,不同的应用程序需要不同的密码和 SSL 参数。在这些情况下,客户可以创建新的配置文件并将其绑定到端点。

在系统中可以创建的自定义配置文件的数量没有上限。

有关如何启用 SSL 配置 文件等的信息,请访问 SSL 配置文件文档。


SSL 前端配置文件

前端 SSL 配置文件与 SSL 类型的虚拟服务器和内部服务相关。前端配置文件适用于负载平衡虚拟服务器、内容交换虚拟服务器、AAA-TM 虚拟服务器和网关 VPN 虚拟服务器类别中的所有 SSL 类型虚拟服务器。

以下类型的虚拟服务器支持前端配置文件 — SSL、SSL_TCP、SIP_SSL、SSL_FIX 和 SSL_DIAMETER。

所有内部服务都支持前端配置文件。


SSL 后端配置文件

后端配置文件与 SSL 类型的服务、服务组和安全监视器相关。以下类型的服务和服务组支持后端配置文件 — SSL、SSL_TCP、SIP_SSL、SSL_FIX、SSL_DIAMETER。

某些监视器可以配置为通过安全连接检查后端服务器的运行状况。可以将 SSL 配置文件绑定到此类监视器以配置 SSL 参数和密码。此类监视器是 HTTP、HTTP-ECV、HTTP-INLINE、TCP 和 TCP-ECV。

Citrix ADC SSL 配置文件验证的参考设计