Citrix ADC

绑定Web应用防火墙策略

配置了Web应用防火墙策略后,将它们绑定到全局或绑定点以使其生效。绑定后,任何与Web应用防火墙策略匹配的请求或响应都由与该策略关联的配置文件进行转换。

当您绑定策略时,您将为其分配优先级。优先级决定了评估您定义的策略的顺序。可以将优先级设置为任何正整数。在Citrix ADC OS中,策略优先级的工作顺序是相反的——数字越高,优先级越低。

由于Web应用防火墙功能只实现请求匹配的第一个策略,而不实现它可能也匹配的任何其他策略,因此策略优先级对于实现您想要的结果非常重要。如果您给您的第一个策略一个低优先级(例如1000),您配置Web应用程序防火墙只有当其他具有更高优先级的策略不匹配请求时才执行它。如果你给你的第一个策略一个高优先级(比如1),你配置Web应用防火墙首先执行它,并跳过任何其他可能匹配的策略。在绑定策略时,通过在每个策略之间设置优先级的间隔为50或100,您可以为自己留下足够的空间以任何顺序添加其他策略,而不必重新分配优先级。

有关Citrix ADC设备上绑定策略的详细信息,请参见“策略和表达式.”

使用命令行接口绑定Web应用防火墙策略

在命令提示符下,输入以下命令:

  • 绑定appfw global
  • 绑定appfw profile -crossSiteScripting data

例子

下面的示例绑定名为pl-blog的策略,并为其分配优先级为10。

绑定appfw全局pl-blog配置——NeedCopy >

配置日志表达式

当发生违规时,日志头信息中增加了绑定Web应用防火墙的日志表达式支持。

日志表达式在应用程序概要文件上绑定,绑定包含需要计算的表达式,并在发生违规时发送到日志框架。

记录带有http头信息的Web应用防火墙违规日志记录。您可以指定一个自定义日志表达式,当为当前流(请求/响应)生成违规时,它有助于分析和诊断。

示例配置

bind appfw profile  -logexpression   add policy expression headers "\" headers (100):\"+HTTP.REQ. b0 -logexpressionFULL_HEADER" add policy expression body_100 "\"BODY:\"+HTTP.REQ.BODY(100)" bind appfw profile test -logExpression log_body body_100 bind appfw profile test -logExpression log_headers headers bind appfw profile test -logExpression URL:\"+HTTP.REQ. BODY(100)"URL + \“IP: \”+ CLIENT.IP。SRC " < !——NeedCopy >

示例日志

Dec 8 16:55:33  10.87.222.145 CEF:0|Citrix|NetScaler|NS12.1|APPFW|APPFW_LOGEXPRESSION|6|src=10.217.222.128 spt=26409 method=POST request=http://10.217.222.44/test/credit.html msg= HEADERS(100):POST /test/credit.html HTTP/1.1^M User-Agent: curl/7.24.0 (amd64-portbld-freebsd8.4) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.3^M Host: 10.217.222.44^M Accept: /^M Content-Length: 33^M Content-Type:application/x- web -form-urlencoded^M ^M cn1=58 cn2=174 cs1=test cs2=PPE1 cs4=ALERT cs5=2017 act=not blocking 
Dec 8 16:55:33  10.87.222.145 CEF:0|Citrix|NetScaler|NS12.1|APPFW|APPFW_LOGEXPRESSION|6|src=10.217.222.128 spt=26409 method=POST request=http://10.217.222.44/test/credit.html msg=BODY:ata\= asdadasdasdasdddddddddddddddddd cn1=59 cn2=174 cs1=test cs2=PPE1 cs4=ALERT cs5=2017 act=not blocked 
Dec 8 16:55:33  10.87.222.145 CEF:0|Citrix|NetScaler|NS12.1|APPFW|APPFW_LOGEXPRESSION|6|src=10.217.222.128 spt=26409 method=POST request=http://10.217.222.44/test/credit.html msg=URL:/test/credit.html IP:10.217.222.128 cn1=60 cn2=174 cs1=test cs2=PPE1 cs4=ALERT cs5=2017 act=not blocked 
其他违规日志Dec 8 16:55:33  10.87.222.145 CEF:0|Citrix|NetScaler|NS12.1|APPFW|APPFW_STARTURL|6|src=10.217.222.128 spt=26409 method=POST request=http://10.217.222.44/test/credit.html msg=Disallow非法URL。cn1=61 cn2=174 cs1=test cs2=PPE1 cs4=ALERT cs5=2017 act=not blocking 
12月8日16:55:33  10.87.222.145 CEF:0|Citrix|NetScaler|NS12.1|APPFW|APPFW_SAFECOMMERCE|6|src=10.217.222.128 spt=26409 method=POST request=http://10.217.222.44/test/credit.html msg=Maximum number of potential credit card numbers seen cn1=62 cn2=174 cs1=test cs2=PPE1 cs4=ALERT cs5=2017 act=not blocked 

请注意

  1. 只有auditlog支持可用。对日志流和安全洞察可见性的支持将在未来的发布版本中添加。

  2. 如果生成审计日志,则每个日志消息只能生成1024字节的数据。

  3. 如果使用日志流,则限制基于日志流的最大支持大小/ipfix协议大小限制。日志流最大支持大小大于1024字节。

使用GUI方式绑定Web应用防火墙策略

  1. 做以下其中一件事:
    • 导航到安全>Web应用防火墙,在详细信息窗格中,单击“Web应用防火墙策略管理器”。
    • 导航到安全>Web应用防火墙>政策>防火墙策略,在详细信息窗格中单击策略管理器
  2. Web应用程序防火墙策略管理器对话框中,从下拉列表中选择要将策略绑定到的绑定点。选项是:
    • 覆盖全球。绑定到此绑定点的策略处理来自Citrix ADC设备上所有接口的所有流量,并在任何其他策略之前应用。
    • LB虚拟服务器。绑定到负载均衡虚拟服务器的策略只应用于由该负载均衡虚拟服务器处理的流量,并且应用于任何默认全局策略之前。选择“LB虚拟服务器”后,还需要选择绑定该策略的负载均衡虚拟服务器。
    • CS虚拟服务器。绑定到内容切换虚拟服务器的策略仅应用于由该内容切换虚拟服务器处理的流量,并且应用于任何默认全局策略之前。选择“CS虚拟服务器”后,还需要选择绑定该策略的具体内容切换虚拟服务器。
    • 默认的全球。绑定到此绑定点的策略处理来自Citrix ADC设备上所有接口的所有流量。
    • 政策的标签。绑定到策略标签的策略处理策略标签路由到它们的流量。策略标签控制策略应用于此流量的顺序。
    • 一个也没有。不要将策略绑定到任何绑定点。
  3. 点击继续.将显示现有Web应用程序防火墙策略的列表。
  4. 单击策略,选择要绑定的策略。
  5. 对绑定进行任何额外的调整。
    • 若要修改策略优先级,请单击字段以启用它,然后键入新的优先级。您也可以选择“重新生成优先级”,将优先级均匀地重新编号。
    • 要修改策略表达式,请双击该字段以打开配置Web应用防火墙策略对话框,您可以在其中编辑策略表达式。
    • 要设置转到表达式,请双击在Goto表达式列标题中显示下拉列表,其中可以选择表达式。
    • 若要设置Invoke选项,请双击Invoke列标题中的字段以显示下拉列表,您可以在其中选择表达式
  6. 重复步骤3到步骤6添加您想要全局绑定的任何其他Web应用程序防火墙策略。
  7. 点击好吧.状态栏中出现一条消息,说明策略已成功绑定。
绑定Web应用防火墙策略