ADC

绑定 Web App Firewall 策略

配置 Web App Firewall 策略后,将其绑定到 Global 或绑定点以使其生效。绑定后,与 Web App Firewall 策略匹配的任何请求或响应都将由与该策略关联的配置文件进行转换。

绑定策略时,您需要为其分配优先级。优先级决定了您定义的策略的评估顺序。可以将优先级设置为任何正整数。在 NetScaler 操作系统中,策略优先级以相反的顺序运作-数字越高,优先级越低。

由于 Web App Firewall 功能仅实现请求匹配的第一个策略,而不实现请求可能匹配的任何其他策略,因此策略优先级对于实现预期结果非常重要。如果您将第一个策略的优先级设置为低优先级(例如 1000),则将 Web App Firewall 配置为仅在优先级较高的其他策略与请求不匹配时才执行该策略。如果您将第一个策略设置为高优先级(例如 1),则将 Web App Firewall 配置为首先执行该策略,然后跳过任何其他可能匹配的策略。您可以在绑定策略时为每个策略之间的间隔设置 50 或 100 的优先级,以便按任意顺序添加其他策略,而无需重新分配优先级。

有关在 NetScaler 设备上绑定策略的更多信息,请参阅“策略和表达式”。“

使用命令行界面绑定 Web App Firewall 策略

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

  • bind appfw global <policyName>
  • bind appfw profile <profile_name> -crossSiteScripting data

示例

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

bind appfw global pl-blog 10
save ns config
<!--NeedCopy-->

配置日志表达式

增加了对绑定 Web App Firewall 的日志表达式支持,以便在发生违规时记录 HTTP 标头信息。

日志表达式绑定到 Web App Firewall 配置文件。当发生违规行为时,会评估此日志表达式并将其发送到日志框架。

记录包含 HTTP 标头信息的 Web App Firewall 违例日志记录。您可以指定自定义日志表达式,当当前流(请求/响应)出现违规行为时,该表达式有助于分析和诊断。

示例配置

bind appfw profile <profile> -logexpression <string> <expression>
add policy expression headers "" HEADERS(100):"+HTTP.REQ.FULL_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.URL+" IP:"+CLIENT.IP.SRC"
<!--NeedCopy-->

示例日志

Dec 8 16:55:33 <local0.info> 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-www-form-urlencoded^M ^M  cn1=58 cn2=174 cs1=test cs2=PPE1 cs4=ALERT cs5=2017 act=not blocked
<!--NeedCopy-->
Dec 8 16:55:33 <local0.info> 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=asdadasdasdasdddddddddddddddd cn1=59 cn2=174 cs1=test cs2=PPE1 cs4=ALERT cs5=2017 act=not blocked
<!--NeedCopy-->
Dec 8 16:55:33 <local0.info> 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
<!--NeedCopy-->
Other violation logs
Dec 8 16:55:33 <local0.info> 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 Illegal URL. cn1=61 cn2=174 cs1=test cs2=PPE1 cs4=ALERT cs5=2017 act=not blocked
<!--NeedCopy-->
Dec 8 16:55:33 <local0.info> 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
<!--NeedCopy-->

注意

  1. 仅提供审计日志支持。在未来的版本中,将增加对日志流和安全洞察可见性的支持。

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

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

使用 GUI 绑定 Web App Firewall 策略

  1. 执行以下操作之一:
    • 导航到“安全”>“Web App Firewall”,然后在详细信息窗格中单击 Web App Firewall 策略管理器。
    • 导航到“安全”>“Web App Firewall”>“策略”>“防火墙策略”,然后在详细信息窗格中单击“策略管理器”。
  2. Web App Firewall 策略管理器 对话框中,从下拉列表中选择要将策略绑定到的绑定点。选项有:
    • 覆盖全局 -绑定到此绑定点的策略处理来自 NetScaler 设备上所有接口的流量,并在任何其他策略之前应用。
    • VPN 虚拟服务器 -绑定到 VPN 虚拟服务器的策略应用于已处理的流量或策略表达式中的特定 Web 应用程序。选择 VPN 虚拟服务器后,还必须选择要将此策略绑定到的特定 VPN 虚拟服务器。 通过将安全策略绑定到 VPN 虚拟服务器,您可以保护其背后的所有应用程序。
    • LB 虚拟服务器。绑定到负载平衡虚拟服务器的策略仅应用于该负载平衡虚拟服务器处理的流量,并在任何默认全局策略之前应用。选择 LB Virtual Server 后,还必须选择要将此策略绑定到的特定负载平衡虚拟服务器。
    • CS 虚拟服务器。绑定到内容交换虚拟服务器的策略仅应用于该内容交换虚拟服务器处理的流量,并在任何默认全局策略之前应用。选择 CS Virtual Server 后,还必须选择要将此策略绑定到的特定内容交换虚拟服务器。
    • 默认全局。绑定到此绑定点的策略会处理来自 NetScaler 设备上所有接口的所有流量。
    • 策略标签。绑定到策略标签的策略会处理策略标签路由给他们的流量。策略标签控制策略应用于此流量的顺序。
    • 无。不要将策略绑定到任何绑定点。
  3. 单击继续。将显示现有 Web App Firewall 策略的列表。
  4. 单击要绑定的策略,将其选中。
  5. 对装订进行任何其他调整。
    • 要修改策略优先级,请单击字段将其启用,然后键入新的优先级。您也可以选择“重新生成优先级”以均 匀地重新编号优先级。
    • 要修改策略表达式,双击该字段打开“配置 Web App Firewall 策略”对话框,可以在其中编辑策略表达式。
    • 要设置 Goto 表达式,请双击 Goto 表达式列标题中的 字段 以显示下拉列表,您可以在其中选择表达式。
    • 要设置调用选项,请双击“调用”列标题中的字段以显示下拉列表,您可以在其中选择表达式
  6. 重复步骤 3 到 6,添加您想要全局绑定的任何其他 Web App Firewall 策略。
  7. 单击确定。状态栏中将显示一条消息,指出该策略已成功绑定。
绑定 Web App Firewall 策略