ADC

管理全局列表以绕过 WAF 或拒绝请求

应用程序可以接收来自可信和不可信来源的请求。对于来自可信来源的请求,您可能需要绕过 NetScaler Web App Firewall。而且,当请求来自某些不可信来源时,您要严格阻止这些请求。

在 NetScaler Web App Firewall 配置文件中,您可以配置全局列表以绕过 Web App Firewall 或拒绝请求。如果传入的请求与全局绕过列表匹配,则它们会跳过 NetScaler 中的 Web App Firewall。如果传入的请求与全局拒绝列表匹配,NetScaler Web App Firewall 会阻止这些请求并应用定义的操作。

绕过和拒绝列表支持 URL、IPv4 和 IPv6 地址。您可以使用文字、PCRE 和表达式来指定它们。

使用 CLI 配置全局绕过和拒绝列表

在开始之前, 创建 Web App Firewall 配置文件并在配置 文件设置中启用绕过和拒绝列表。

  1. 创建 Web App Firewall 配置文件。

    add appfw profile <profile-name>
    <!--NeedCopy-->
    

    示例

    add appfw profile example-profile
    <!--NeedCopy-->
    

    注意

    默认情况下,绕过列表和拒绝列表处于禁用状态。要查看配置文件设置,请运行以下命令:

    sh appfw profile <profile-name>

  2. 运行以下命令以启用绕过列表和拒绝列表。

    set appfw profile <profile-name> -bypasslist on -denylist on
    <!--NeedCopy-->
    

将 Web App Firewall 配置文件与全局绕过列表绑定

运行以下命令将规则绑定到全局绕过列表:

bind appfw profile <profile-name> -bypasslist <String|PCRE|Expression|IP-address> -valuetype <literal|PCRE|expression> -ruleaction log -location <url|ipv4|ipv6>
<!--NeedCopy-->
  • 示例 1

     bind appfw profile example-profile -bypasslist http://www.example.com -valuetype literal -ruleaction log -location url
     <!--NeedCopy-->
    

    此示例使用文字值。当传入请求 URL 包含时 http://www.example.com,请求会绕过 WAF 检查并在 NetScaler 设备中记录事件。

  • 示例 2

     bind appfw profile example-profile -bypasslist http://www.example[n] -valuetype PCRE -ruleaction log -location url
     <!--NeedCopy-->
    

    此示例使用 PCRE 值。当传入请求 URL 包含 http://www.example 且后面是字母时 n,请求会绕过 WAF 检查并在 NetScaler 设备中记录事件。

  • 示例 3

     bind appfw profile example-profile -bypasslist http.req.url.contains("example") -valuetype expression -ruleaction log
     <!--NeedCopy-->
    

    此示例使用表达式。当传入请求 URL 包含 URL 中的 example 任何位置时,请求会绕过 WAF 检查并在 NetScaler 设备中记录事件。

    重要

    在指定表达式值类型时,请勿输入位置值。

  • 示例 4

     bind appfw profile example-profile -bypasslist 10.10.10.10 -valuetype expression -ruleaction log -location ipv4
     <!--NeedCopy-->
    

    此示例使用 IPv4 地址。当传入请求 URL 包含 IP 地址时 10.10.10.10,请求会绕过 WAF 检查并在 NetScaler 设备中记录事件。

    同样,您可以指定 IPv6 地址。为此,请在此命令中将位置值设置为 ipv6

  • 示例 5

     bind appfw profile example-profile -bypasslist cookie -valuetype literal -ruleaction log -location headervalue
     <!--NeedCopy-->
    

    此示例使用标头值。当传入请求包含标头值为 cookie 时,该请求会绕过 Web App Firewall 检查并将事件记录到 NetScaler 中。

  • 示例 6

     bind appfw profile example-profile -bypasslist token -valuetype literal -ruleaction log -location headername
     <!--NeedCopy-->
    

    此示例使用标题名称。当传入请求 URL 包含标头名称为 token 时,该请求会绕过 Web App Firewall 检查并将事件记录到 NetScaler 中。

将 Web App Firewall 配置文件与全局拒绝列表绑定

运行以下命令将规则绑定到全局拒绝列表:

bind appfw profile <profile-name> -bypasslist <String|PCRE|Expression|IP-address> -valuetype <literal|PCRE|expression> -ruleaction <log|none|REDIRECT|RESET> -location <url|ipv4|ipv6>
<!--NeedCopy-->
  • 示例 1

     bind appfw profile example-profile -denylist http://www.example.com -valuetype literal -ruleaction log -location url
     <!--NeedCopy-->
    

    此示例使用文字值。当传入请求 URL 包含时 http://www.example.com,NetScaler Web App Firewall 会阻止该请求并在 NetScaler 设备中记录事件。

  • 示例 2

     bind appfw profile example-profile -denylist http://www.example[n] -valuetype PCRE -ruleaction none -location url
     <!--NeedCopy-->
    

    此示例使用 PCRE 值。当传入请求 URL 包含 http://www.example 且后面是字母 n时,NetScaler Web App Firewall 会阻止该请求。

    重要

    当您指定 -ruleactionnone 时,NetScaler Web App Firewall 会执行默认操作。

  • 示例 3

     bind appfw profile example-profile -denylist http.req.url.contains("example") -valuetype expression -ruleaction REDIRECT
     <!--NeedCopy-->
    

    此示例使用表达式。当传入请求 URL 在 URL 中的任何位置包含 example 时,NetScaler Web App Firewall 会阻止并重定向该请求。

  • 示例 4

     bind appfw profile example-profile -denylist 10.10.10.10 -valuetype expression -ruleaction RESET -location ipv4
     <!--NeedCopy-->
    

    此示例使用 IPv4 地址。当传入请求 URL 包含 IP 地址时 10.10.10.10,NetScaler Web App Firewall 会阻止该请求并重置连接。

    同样,您可以指定 IPv6 地址。为此,请在此命令中将位置值设置为 ipv6

  • 示例 5

     bind appfw profile example-profile -denylist cookie -valuetype literal -ruleaction log -location headervalue
     <!--NeedCopy-->
    

    此示例使用标头值。当传入请求包含标头值为 cookie 时,NetScaler Web App Firewall 会阻止请求。

  • 示例 6

     bind appfw profile example-profile -denylist token -valuetype literal -ruleaction log -location headername
     <!--NeedCopy-->
    

    此示例使用标题名称。当传入请求包含标头名称为 token 时,NetScaler Web App Firewall 会阻止请求。

使用 GUI 配置全局绕过和拒绝列表

在开始之前, 创建 Web App Firewall 配置文件并在配置 文件设置中启用绕过和拒绝列表。

  1. 导航到安全 > NetScaler Web App Firewall > 配置文件
  2. 选择要为其添加全局绕过和拒绝列表的配置文件。
  3. NetScaler Web App Firewall 配置文件页面中,单击高级设置下的配置文件设置
  4. 在“常用设置”中,选择以下选项:

    • 启用绕过列表
    • 启用拒绝列表

    启用绕过和拒绝列表

  5. 单击 确定完成

添加全局绕过列表

完成以下步骤以添加全局绕过列表:

  1. 导航到安全 > NetScaler Web App Firewall > 配置文件
  2. 选择要为其添加全局绕过列表的配置文件。
  3. NetScaler Web App Firewall 配置文件页面中,单击“高级设置”下的“全局绕过/拒绝”列表
  4. 在“全局绕过列表”中,单击“添加”。
  5. 在“创建 AppFirewall 绕过列表绑定”页面中指定以下内容:

    • 绕过列表值类型:它支持文字、PCRE 和表达式。
    • 绕过列表值:根据值类型指定一个值。
    • 绕过列表操作:在请求绕过 WAF 检查后,定义的操作适用于该请求。如果操作设置为日志,则会在 NetScaler 设备中记录事件。
    • 绕过列表位置:设置位置值。如果您指定 IPv4,则配置文件会在传入请求中查找 IPv4 地址。
  6. 单击创建

添加全局拒绝列表

完成以下步骤以添加全局拒绝列表:

  1. 导航到安全 > NetScaler Web App Firewall > 配置文件
  2. 选择要为其添加全局拒绝列表的配置文件。
  3. NetScaler Web App Firewall 配置文件页面中,单击“高级设置”下的“全局绕过/拒绝”列表
  4. 在“全局拒绝列表”中,单击“添加”。
  5. 在“创建 AppFirewall 拒绝列表绑定”页面中指定以下内容:

    • 拒绝列表值类型:它支持文字、PCRE 和表达式。
    • 拒绝列表值:根据值类型指定一个值。
    • 拒绝列表操作:NetScaler Web App Firewall 阻止请求后,定义的操作适用于该请求。如果操作设置为 重置,Web App Firewall 会重置连接。
    • 日志:每当 NetScaler Web App Firewall 阻止请求时,它都会在 NetScaler 设备中记录事件。
    • 拒绝列出位置:设置位置值。如果您指定 IPv4,则配置文件会在传入请求中查找 IPv4 地址。
  6. 单击创建
管理全局列表以绕过 WAF 或拒绝请求