WAF

 

AddWAFRules

更新时间 2020-12-01

创建WAF域名防护策略。

Request Parameters

Parameter name Type Description Required
rule_group String WAF域名防护的策略组ID
wafrg-xxxxxxxx: 自定义规则的策略组ID
wafcg-xxxxxxxx: 黑白名单的策略组ID
Yes
rules.n Array 策略的规则内容
JSON 格式的自定义规则的策略,参数可以参考下面的 Signature Item
JSON 格式的黑白名单的策略,参数可以参考下面的 Checklist Item
Yes
zone String 区域 ID,注意要小写 Yes

Signature Item

Name Type Description
attack_type String 攻击类别
RFI: 远程文件包含
CODEi: 远程文件包含
WEBSHELL: 网站后门
SQLi: SQL注入
XSS: 跨站脚本攻击
LFI: 本地文件包含
CRLFi: 回车换行注入
OTHER: 其他类别比如扫描
http_method String HTTP请求方法: ALL, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
impact Integer 规则的严重级别
0: 低级别
1: 中级别
2: 高级别
action String 规则的响应动作
report: 仅报告日志
block: 阻断请求
limit: 限流
redirect_limit: 重定向并限流
val1 Integer 当规则的响应动作为“限流”或“重定向并限流”时,一分钟内的访问阈值
rule_content String 规则匹配的内容,包括“协议变量”“操作符”和“检查项”三部分组成

“协议变量”的取值如下:
REQUEST_URI:一遍解码后的uri,包括参数部分
URI_DIR:uri路径部分,如:uri=/abc/a.htm,则uri_dir=/abc/
URI_FILE:uri的文件部分,如:uri=/abc/a.htm,则uri_file=a.htm
URI_ARGS:在上面REQUEST_URI的基础上,解析?号之后的参数部分
USER_AGENT:一遍解码后的useragent
REFERER:一遍解码后的referer
COOKIE:一遍解码后的cookie
POST_ARGS:一遍解码的表单参数

“操作符”的取值如下:
^^[r]: 包含关系
==: 等于关系

“检查项”是将要检查匹配的规则项:支持“匹配所有规则”和“匹配任意规则”两种关系
&&:匹配所有规则
|| :匹配任意规则

Checklist Item

Name Type Description
list_name String 黑白名单列表名称
description String 描述信息
list_type Integer 黑白名单类别
0: IP黑白名单
1: URL黑白名单
2: CC防护列表
3: 接口防刷列表
list_color Integer 黑白名单类别
0: 白名单
1: 黑名单
其他:当配置为CC防护列表时,表示CC防护阈值
list_content String 规则匹配的内容,根据规则类别填写不同的匹配内容
IP黑白名单: IP地址/掩码
URL黑白名单: URL地址
CC防护列表: CC保护的URL地址,完全匹配
接口防刷列表: 接口URL地址,前缀匹配
val1 String 接口防刷列表配置的Referer地址

公共参数

Response Elements

Name Type Description
action String 响应动作
waf_rules String 添加的防护规则ID
wafri-xxxxxxxx: 自定义规则ID
wafci-xxxxxxxx: 黑白名单规则ID

Example

Example Request:

https://api.shanhe.com/iaas/?action=AddWAFRules
&rule_group=wafcg-32yt310g
&rules.1.list_name=test_waf
&rules.1.description=test_waf_desc
&rules.1.list_type=3
&rules.1.list_color=60
&rules.1.list_content=/url
&rules.1.val1=/referer
&zone=jn1a
&COMMON_PARAMS

Example Response:

{
  "action":"AddWAFRulesResponse",
  "waf_rules":["wafcg-32yt310g"],
  "ret_code":0
}
这篇文档解决了您的问题吗?
0
0