管理全局列表以绕过 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 配置文件并在配置 文件设置中启用绕过和拒绝列表。
-
创建 Web App Firewall 配置文件。
add appfw profile <profile-name> <!--NeedCopy-->
示例
add appfw profile example-profile <!--NeedCopy-->
注意
默认情况下,绕过列表和拒绝列表处于禁用状态。要查看配置文件设置,请运行以下命令:
sh appfw profile <profile-name>
-
运行以下命令以启用绕过列表和拒绝列表。
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 会阻止该请求。重要
当您指定
-ruleaction
为none
时,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 配置文件并在配置 文件设置中启用绕过和拒绝列表。
- 导航到安全 > NetScaler Web App Firewall > 配置文件。
- 选择要为其添加全局绕过和拒绝列表的配置文件。
- 在 NetScaler Web App Firewall 配置文件页面中,单击高级设置下的配置文件设置。
-
在“常用设置”中,选择以下选项:
- 启用绕过列表
- 启用拒绝列表
- 单击 确定 并 完成 。
添加全局绕过列表
完成以下步骤以添加全局绕过列表:
- 导航到安全 > NetScaler Web App Firewall > 配置文件。
- 选择要为其添加全局绕过列表的配置文件。
- 在 NetScaler Web App Firewall 配置文件页面中,单击“高级设置”下的“全局绕过/拒绝”列表。
- 在“全局绕过列表”中,单击“添加”。
-
在“创建 AppFirewall 绕过列表绑定”页面中指定以下内容:
- 绕过列表值类型:它支持文字、PCRE 和表达式。
- 绕过列表值:根据值类型指定一个值。
- 绕过列表操作:在请求绕过 WAF 检查后,定义的操作适用于该请求。如果操作设置为日志,则会在 NetScaler 设备中记录事件。
- 绕过列表位置:设置位置值。如果您指定 IPv4,则配置文件会在传入请求中查找 IPv4 地址。
- 单击创建。
添加全局拒绝列表
完成以下步骤以添加全局拒绝列表:
- 导航到安全 > NetScaler Web App Firewall > 配置文件。
- 选择要为其添加全局拒绝列表的配置文件。
- 在 NetScaler Web App Firewall 配置文件页面中,单击“高级设置”下的“全局绕过/拒绝”列表。
- 在“全局拒绝列表”中,单击“添加”。
-
在“创建 AppFirewall 拒绝列表绑定”页面中指定以下内容:
- 拒绝列表值类型:它支持文字、PCRE 和表达式。
- 拒绝列表值:根据值类型指定一个值。
- 拒绝列表操作:NetScaler Web App Firewall 阻止请求后,定义的操作适用于该请求。如果操作设置为 重置,Web App Firewall 会重置连接。
- 日志:每当 NetScaler Web App Firewall 阻止请求时,它都会在 NetScaler 设备中记录事件。
- 拒绝列出位置:设置位置值。如果您指定 IPv4,则配置文件会在传入请求中查找 IPv4 地址。
- 单击创建。