ADC

Web App Firewall 策略

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

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

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

注意

Web App Firewall 根据配置的优先级和 goto 表达式评估策略。在策略评估结束时,将使用评估结果为 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 表达式从 N EX T 更改为 EN D,则目标字符串为“XYZ”的已处理请求会因优先级考虑而触发 Policy_2 匹配,并且根据 GoTo 表达式配置,策略评估结束于这一点。Policy_2 计算结果为 true,并调用 Profile_2 中配置的高级安全检查。

下一个 末端

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

Web App Firewall 策略