传统和高级策略

警告

经典策略表达式从 Citrix ADC 12.0 版本 56.20 版本中不建议使用,作为替代方案,Citrix 建议您使用高级策略。有关详细信息,请参阅高级策略

经典策略评估流量和其他数据的基本特征。例如,经典策略可以识别 HTTP 请求或响应是否包含特定类型的标头或 URL。

高级策略可以执行与经典策略相同的评估类型。此外,默认语法策略使您能够分析更多数据(例如 HTTP 请求的正文),并在策略规则中配置更多操作(例如,将请求正文中的数据转换为 HTTP 标头)。

除了为策略分配操作或配置文件之外,还可以将策略绑定到与 Citrix ADC 功能关联的处理中的特定点。绑定点是决定何时评估策略的一个因素。

使用高级策略的优势

默认语法策略使用基于类对象模型构建的强大表达式语言,这些语法策略提供了多个选项,以增强您配置各种 Citrix ADC 功能的行为的能力。使用默认语法策略,您可以执行以下操作:

  • 对图层 2 到 7 中的网络流量执行细粒度分析。
  • 评估 HTTP 或 HTTPS 请求或响应的标头或正文的任何部分。
  • 将策略绑定到默认语法策略基础结构在默认、覆盖和虚拟服务器级别支持的多个绑定点。
  • 使用 goto 表达式将控制权转移到其他策略和绑定点,具体取决于表达式评估结果。
  • 使用特殊工具,如模式集、策略标签、速率限制标识符和 HTTP 标注,这些工具使您能够为复杂的用例有效配置策略。

此外,配置实用程序还扩展了对默认语法策略和表达式的强大图形用户界面支持,并使网络协议知识有限的用户能够快速轻松地配置策略。配置实用程序还包括默认语法策略的策略评估功能。您可以使用此功能评估默认语法策略并在提交之前测试其行为,从而降低配置错误的风险。

高级策略的基本组件

下面是高级策略的一些特征:

  • Name(名称)。每个策略都有一个唯一的名称。

  • 规则。该规则是一个逻辑表达式,使 Citrix ADC 功能能够评估一段流量或另一个对象。例如,规则可使 Citrix ADC 确定 HTTP 请求是源自特定 IP 地址,还是 HTTP 请求中的缓存控制标头是否具有“无缓存”值。

高级策略可以使用经典策略中提供的所有表达式,但 SSL VPN 客户端的经典表达式除外。此外,通过高级策略,您可以配置更复杂的表达式。

  • 绑定。要确保 Citrix ADC 可以在需要时调用策略,请将策略关联或将其绑定到一个或多个绑定点。

您可以将策略全局绑定或绑定到虚拟服务器。有关详细信息,请参阅关于策略绑定

  • 关联的操作。操作是独立于策略的实体。策略评估最终导致 Citrix ADC 执行操作。

例如,集成缓存中的策略可以识别 .gif 或 .jpeg 文件的 HTTP 请求。与此策略关联的操作确定从缓存中提供对这些类型请求的响应。

对于某些功能,您可以将操作配置为一组更复杂的说明(称为配置文件)的一部分。

不同 Citrix ADC 功能如何使用策略

Citrix ADC 支持依赖于操作策略的各种功能。下表总结了 Citrix ADC 功能如何使用策略。

功能名称 策略类型 如何在功能中使用策略
系统 经典 对于身份验证功能,策略包含针对不同身份验证方法的身份验证方案。例如,您可以配置 LDAP 和基于证书的身份验证方案。您还可以在审核功能中配置策略。
DNS Advanced 确定如何对请求执行 DNS 解析。
SSL 经典和高级 确定何时应用加密功能并将证书信息添加到明文。为了提供端到端的安全性,解密消息后,SSL 功能会重新加密明文并使用 SSL 与 Web 服务器进行通信。
压缩 经典和高级 确定压缩的流量类型。
集成缓存 Advanced 确定 HTTP 响应是否可缓存。
响应方 Advanced 配置响应程序函数的行为。
保护功能 经典 配置“筛选”、“SureConnect”和“优先级队列”功能的行为。
内容交换 经典和高级 根据传入请求的特性,确定哪个服务器或服务器组负责提供响应。请求特征包括设备类型、语言、Cookie、HTTP 方法、内容类型和关联的缓存服务器。
AAA-流量管理 经典。例外情况:流量策略仅支持默认语法策略,授权策略支持经典和默认语法策略。 用户登录并建立会话之前检查客户端安全性。确定是否需要单点登录 (SSO) 的流量策略仅使用默认语法。授权策略授权通过设备访问 Intranet 资源的用户和组。
缓存重定向 经典 确定响应是来自缓存还是来自源服务器。
重写 Advanced 确定要在处理之前修改的 HTTP 数据。这些策略提供了修改数据的规则。例如,您可以修改 HTTP 数据,以便根据传入请求的地址将请求重定向到新主页、新服务器或选定的服务器,也可以修改数据以掩盖响应中的服务器信息以出于安全考虑。URL 转换器函数标识 HTTP 事务和文本文件中的 URL,以评估是否应转换 URL。
应用程序防火墙 经典和高级 识别应该或不应该通过防火墙接纳的流量和数据的特征。
Citrix Gateway,无客户端访问功能 Advanced 使用 Citrix Gateway 定义常规 Web 访问的重写规则。
Citrix Gateway 经典 确定 Citrix Gateway 关如何执行身份验证、授权、审核和其他功能。

关于操作和配置文件

策略本身并不对数据采取操作。策略提供用于评估流量的只读逻辑。要使功能能能够基于策略评估执行操作,请配置操作或配置文件并将其与策略关联。

注意: 操作和配置文件特定于特定功能。有关为功能分配操作和配置文件的信息,请参阅各个功能的文档。

关于操作

操作是 Citrix ADC 执行的步骤,具体取决于对策略中表达式的评估。例如,如果策略中的表达式与请求中的特定源 IP 地址匹配,则与此策略关联的操作将确定是否允许连接。

Citrix ADC 可以执行的操作类型特定于功能。例如,在“重写”中,操作可以替换请求中的文本、更改请求的目标 URL 等。在集成缓存中,操作确定是从缓存还是源服务器提供 HTTP 响应。

在某些 Citrix ADC 功能中,操作是预定义的,而在其他一些功能则是可配置的。在某些情况下(例如,Rewrite),您可以使用用于配置关联策略规则的相同类型的表达式来配置操作。

关于配置文件

通过某些 Citrix ADC 功能,您可以将配置文件(或两者兼具操作和配置文件)与策略相关联。配置文件是使功能能够执行复杂功能的设置集合。例如,在应用程序防火墙中,XML 数据的配置文件可以执行多个筛选操作,例如检查数据是否存在非法 XML 语法或 SQL 注入的证据。

在特定功能中使用操作和配置文件

下表总结了不同 Citrix ADC 功能中的操作和配置文件的使用情况。该表并非详尽无遗。有关功能操作和配置文件的特定用途的详细信息,请参阅功能的文档。

功能 操作的使用 配置文件的使用
应用程序防火墙 与配置文件的同义词 所有应用程序防火墙功能都使用配置文件来定义复杂的行为,包括基于模式的学习。您可以将这些配置文件添加到策略中。
Citrix Gateway Citrix Gateway 的以下功能使用操作:预身份验证。使用“允许”和“拒绝”操作。您将这些操作添加到配置文件。授权。使用“允许”和“拒绝”操作。您可以将这些操作添加到策略中。TCP 压缩。使用各种操作。您可以将这些操作添加到策略中。 以下功能使用配置文件:预身份验证、会话、流量和无客户端访问。配置配置文件后,您可以将它们添加到策略中。
重写 您可以配置 URL 重写操作并将其添加到策略中。 未使用。
集成缓存 您可以在策略中配置缓存和失效操作 未使用。
AAA-流量管理 您可以选择身份验证类型,将授权操作设置为允许或拒绝,或将审核设置为 SYSLOG 或 NSLOG。 您可以使用默认超时和授权操作配置会话配置文件。
保护功能 您可以在策略中为以下功能配置操作:筛选、压缩、响应程序和 SureConnect。 未使用。
SSL 您可以在 SSL 策略中配置操作 未使用。
系统 该操作是隐含的。对于身份验证功能,它可以是“允许”或“拒绝”。对于审核,它是“审核开启”或“关闭”。 未使用。
DNS 该操作是隐含的。它是删除数据包或 DNS 服务器的位置。 未使用。
SSL 卸载 该操作是隐含的。它基于与 SSL 虚拟服务器或服务关联的策略。 未使用。
压缩 确定要应用于数据的压缩类型 未使用。
内容交换 该操作是隐含的。如果请求与策略匹配,则请求将定向到与策略关联的虚拟服务器。 未使用。
缓存重定向 该操作是隐含的。如果请求与策略匹配,则请求将定向到源服务器。 未使用。

关于策略绑定

策略与允许调用策略的实体关联或绑定到该实体。例如,您可以将策略绑定到应用于所有虚拟服务器的请求时间评估。绑定到特定绑定点的策略集合构成策略库。

下面是策略的不同类型绑定点的概述:

  • 请求时间全局。策略可以在请求时对功能中的所有组件使用。
  • 全球响应时间。策略在响应时可用于功能中的所有组件。
  • 请求时间,特定于虚拟服务器。

策略可以绑定到特定虚拟服务器的请求时间处理。例如,您可以将请求时间策略绑定到缓存重定向虚拟服务器,以确保将特定请求转发到缓存的负载平衡虚拟服务器,并将其他请求发送到源的负载平衡虚拟服务器。

  • 响应时间,特定于虚拟服务器。策略也可以绑定到特定虚拟服务器的响应时间处理。
  • 用户定义的策略标签。对于默认语法策略,您可以通过定义策略标签并在策略标签下收集一组相关策略来配置自定义策略分组(策略库)。
  • 其他绑定点。其他绑定点的可用性取决于策略类型(经典或默认语法)以及相关 Citrix ADC 功能的具体细节。例如,您为Citrix Gateway 配置的经典策略具有用户和组绑定点。

有关高级策略绑定的其他信息,请参阅绑定使用高级策略的策略为虚拟服务器配置策略库。有关传统策略绑定的其他信息,请参阅配置经典策略

关于策略的评估顺序

对于经典策略,将按特定顺序评估组内的策略组和策略,具体取决于以下内容:

  • 策略的绑定点,例如,策略是绑定到虚拟服务器的请求时间处理还是全局响应时间处理。例如,在请求时,Citrix ADC 先评估所有请求时间经典策略,然后再评估任何特定于虚拟服务器的策略。
  • 策略的优先级别。对于评估过程中的每个点,分配给策略的优先级决定相对于共享同一绑定点的其他策略的评估顺序。例如,当 Citrix ADC 评估一组请求时间(特定于虚拟服务器的策略)时,它将以分配给最低优先级值的策略开始。在经典策略中,所有绑定点的优先级别必须是唯一的。

对于高级策略,与传统策略一样,Citrix ADC 在整体处理中的特定点选择策略分组或库。下面是高级策略的基本分组(或银行)的评估顺序:

  1. 请求时间全局覆盖
  2. 请求时间,特定于虚拟服务器(每个虚拟服务器一个绑定点)
  3. 请求时间全局默认
  4. 响应时间全局覆盖
  5. 响应时间虚拟服务器特定
  6. 响应时间全局默认

然而,在以前的任何一套策略中,评价顺序比经典策略更灵活。在策略库中,您可以指向要评估的下一个策略,而不考虑优先级别如何,并且可以调用属于其他绑定点和用户定义的策略库。

基于流量的评估顺序

当流量通过 Citrix ADC 并由各种功能进行处理时,每个功能都会执行策略评估。无论何时策略与流量匹配,Citrix ADC 都会存储操作并继续处理,直到数据即将离开 Citrix ADC。此时,Citrix ADC 通常应用所有匹配操作。仅应用最终缓存或 NoCache 操作的集成缓存是一个例外。

有些策略影响到其他策略的结果。下面是示例:

  • 如果从集成缓存提供响应,则某些其他 Citrix ADC 功能不会处理响应或发起响应的请求。
  • 如果“内容过滤”功能阻止提供响应,则任何后续功能都不会评估响应。

如果应用程序防火墙拒绝传入请求,则没有其他功能可以处理该请求。