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 个策略的方案。

  • Polic_1 是一个具有表达式 = NS_true 的通用策略,并且具有相应的配置文件 _1 是一个基本配置文件。优先级设置为 100。
  • 策略 _2 更具体的表达式 =http.req.url. 包含(“XYZ”),并且具有相应的配置文件 _2,这是一个高级配置文件。GoTo 表达式设置为 Next,优先级设置为 95,与 Polic_1 相比,优先级更高。

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

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

下一次 结束

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

Web App Firewall 策略