Citrix ADC

Web应用防火墙策略

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

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

Web应用程序防火墙只处理HTTP连接,因此使用整个Citrix ADC表达式语言的一个子集。这里的信息仅限于在配置Web应用程序防火墙时可能有用的主题和示例。以下是有关防火墙策略的其他信息和程序的链接:

请注意

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

例如,考虑一个有2个策略的场景。

  • Policy_1是一个通用策略,表达式为ns_true,对应的profile_1是一个基本配置文件。优先级设置为100。
  • Policy_2更具体地使用Expression=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表达式从下一个结束,经过处理的具有目标字符串“XYZ”的请求,由于优先级考虑触发Policy_2匹配,并且根据GoTo表达式配置,策略评估在此时结束。Policy_2计算为true,并调用Profile_2中配置的高级安全检查。

下一个结束

政策评估一次完成。一旦完成了请求的策略评估,并调用了相应的概要文件操作,请求就不会经过另一轮策略评估。

在本文中