Web应用防火墙的白名单设置和自定义防护策略都需要定义规则匹配条件。本文具体描述了规则匹配条件中支持使用的字段及其释义。
什么是匹配条件、匹配动作
在Web应用防火墙中,您可以自定义防护白名单规则和自定义防护策略规则。自定义规则由匹配条件与匹配动作构成。在创建规则时,您通过设置匹配字段、逻辑符和相应的匹配内容定义匹配条件,并针对符合匹配条件规则的访问请求定义相应的动作。
- 匹配条件
匹配条件包含匹配字段、逻辑符、匹配内容。匹配内容暂时不支持通过正则表达式描述。每一条自定义规则中最多允许设置5个匹配条件组合,且各个条件间是“与”的逻辑关系,即访问请求必须同时满足所有匹配条件才算命中该规则,并执行相应的匹配动作。
- 匹配动作防护白名单中的匹配动作表示不检测模块,自定义防护策略的匹配动作表示处置动作,具体请参见以下文档:
支持的匹配字段
下表描述了匹配条件中支持使用的匹配字段。
匹配字段 | 支持的版本 | 适用的逻辑符 | 字段描述 |
---|---|---|---|
IP | 高级版及以上 | 属于、不属于 | 访问请求的来源IP,支持填写IP或IP/掩码(例如,47.100.XX.XX/24)。
说明 最多可以填写50个值,多个值之间使用英文逗号(,)分隔。
|
URL | 高级版及以上 |
|
访问请求的URL地址。 |
Referer | 高级版及以上 |
|
访问请求的来源网址,即该访问请求是从哪个页面跳转产生的。 |
User-Agent | 高级版及以上 |
|
发起访问请求的客户端的浏览器标识、渲染引擎标识和版本信息等浏览器相关信息。 |
Params | 高级版及以上 |
|
访问请求的URL地址中的参数部分,通常指URL中”?”后面的部分。例如,www.example.com/index.html?action=login 中的action=login 就是参数部分。
|
Query-Arg | 高级版及以上 |
|
访问请求的URL地址中的参数部分,通常指URL中”?”后面的部分。例如www.example.com/request_path?arg1=a&arg2=b 中,query-arg 字段为arg1或arg2。
说明 访问请求里
query-arg 参数包含多个字段时,自定义防护策略中如果设置的是query-arg包含arg ,WAF会命中取值为arg1和arg2的两条访问请求。如果您需要精确匹配访问请求,建议策略设置为query-arg包含arg1 或query-arg包含arg2 。
|
URLPath | 高级版及以上 |
|
访问请求的URL路径。 |
Cookie | 企业版及以上 |
|
访问请求中的Cookie信息。 |
Content-Type | 企业版及以上 |
|
访问请求指定的响应HTTP内容类型,即MIME类型信息。 |
Content-Length | 企业版及以上 | 值小于、等于、值大于 | 访问请求的响应内容所包含的字节数。 |
X-Forwarded-For | 企业版及以上 |
|
访问请求的客户端真实IP。X-Forwarded-For(XFF)用来识别通过HTTP代理或负载均衡方式转发的访问请求的客户端最原始的IP地址的HTTP请求头字段,只有通过HTTP代理或者负载均衡服务器转发的访问请求才会包含该项。 |
Post-Body | 企业版及以上 |
|
访问请求的请求内容信息。 |
Server-Port | 企业版及以上 | 等于、不等于、等于多值之一、不等于任一值 | 源站服务器的端口号。例如www.example.com:9999 ,中,server_port 为9999。
|
Http-Method | 企业版及以上 | 等于、不等于、等于多值之一、不等于任一值 | 访问请求的方法,例如GET、POST、DELETE、PUT、OPTIONS等。 |
Header | 企业版及以上 |
|
访问请求的头部信息,用于自定义HTTP头部字段。 |