ADC

Web App Firewall 策略

防火墙策略是与配置文件关联的规则。该规则是一个表达式或一组表达式,用于定义 Web App Firewall 要通过应用配置文件筛选的请求/响应对的类型。防火墙策略表达式使用 Citrix ADC 表达式语言编写,这是一种面向对象的编程语言,具有支持特定 Citrix ADC 功能的特殊功能。配置文件是 Web App Firewall 用于筛选与规则匹配的请求/响应对的一组操作。

通过防火墙策略,您可以将不同的筛选规则分配给不同类型的 Web 内容。并非所有的 Web 内容都是一样的。如果简单的网站不使用复杂的脚本编写、访问也不处理任何私人数据,可能只需要使用基本默认值创建的配置文件提供的保护级别。包含 JavaScript 增强型 Web 表单或访问 SQL 数据库的 Web 内容可能需要更为定制的保护。您可以创建不同的配置文件来筛选该内容,并创建单独的防火墙策略,该策略可以确定哪些请求正在尝试访问该内容。然后,您将策略表达式与您创建的配置文件相关联,并全局绑定策略以使其生效。

Web App Firewall 仅处理 HTTP 连接,因此使用总体 Citrix ADC 表达式语言的子集。此处的信息仅限于配置 Web App Firewall 时可能有用的主题和示例。以下是指向防火墙策略的其他信息和过程的链接:

注意

Web App Firewall 根据配置的优先级和转到表达式评估策略。在策略评估结束时,将使用评估为 true 的最后一个策略,并调用相应配置文件的安全配置来处理请求。

例如,考虑有 2 个策略的方案。

  • Policy_1 是一个具有表达式 = NS_true 的通用策略,并且具有相应的 profile_1 是一个基本配置文件。优先级设置为 100。
  • Policy_2 更具体的表达式 =HTTP.REQ.URL.CONTAINS(“XYZ”),并且具有相应的 profile_2,这是一个高级配置文件。GoTo 表达式设置为 NEXT,优先级设置为 95,与 Policy_1 相比,优先级更高。

在这种情况下,如果在处理的请求的 URL 中检测到目标字符串 “XYZ”,则会触发 Policy_2 匹配,因为它具有更高的优先级,即使 Policy_1 也是匹配。但是,根据 Policy_2 的 GoTo 表达式配置,策略评估将继续,并且还会处理下一个策略 Policy_1。策略评估结束时,Policy_1 的计算结果为 true,并调用 Profile_1 中配置的基本安全检查。

如果修改了 Policy_2,并且 GoTo 表达式从 NEXT 更改为 END,则具有目标字符串“XYZ”的处理请求会因优先级考虑而触发 Policy_2 匹配,并根据 GoTo 表达式配置,策略评估结束在这一点上。Policy_2 的计算结果为 true,并调用 Profile_2 中配置的高级安全检查。

下一次 结束

策略评估一次完成。一旦完成了请求的策略评估并调用了相应的配置文件操作,请求就不会进行另一轮策略评估。

Web App Firewall 策略