全部产品
Search
文档中心

Web 应用防火墙:CreateDefenseRule - 创建防护规则

更新时间:Nov 15, 2024

创建防护规则。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
yundun-waf:CreateDefenseRulecreate
*全部资源
*

请求参数

名称类型必填描述示例值
InstanceIdstring

WAF 实例 ID。

说明 您可以通过调用 DescribeInstance 接口查看您当前 WAF 实例 ID。
waf_v2_public_cn-****
TemplateIdlong

要创建的防护规则的防护模板 ID。

1122
DefenseScenestring

要创建的 WAF 防护场景,取值:

  • waf_group:表示基础防护。

  • antiscan:表示扫描防护。

  • ip_blacklist:表示 IP 黑名单。

  • custom_acl:表示自定义规则。

  • whitelist:表示白名单。

  • region_block:表示区域封禁。

  • custom_response:表示自定义响应。

  • cc:表示 CC 防护。

  • tamperproof:表示网页防篡改。

  • dlp:表示信息泄露防护。

waf_group
Rulesstring

规则配置内容,以一系列参数构造的 JSON 格式转化成字符串。

说明 根据所指定的防护规则类型DefenseScene)不同,具体涉及的参数有所不同。详细信息,请参见防护规则参数描述
详见各个防护场景的规则详情
ResourceManagerResourceGroupIdstring

阿里云资源组 ID。

rg-acfm***q
RegionIdstring

WAF 实例所属地域。取值:

  • cn-hangzhou:表示中国内地。

  • ap-southeast-1:表示非中国内地。

cn-hangzhou

防护规则参数描述

基础防护规则(waf_group

参数描述

名称类型是否必选示例值描述
statusInteger必选1防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值:
- 0:表示关闭。
- 1(默认):表示开启。
actionString必选block防护规则动作。取值:
- block:表示拦截。
- monitor:表示观察。
policyIdLong可选1012防护规则组 ID。默认为中等规则组 1012。
protectionTypeString可选sema防护规则类型。取值:
- regular(默认):表示正则防护。
- sema:表示语义防护。
configString可选{"nonInjectionSql":1}自定义配置信息,以 JSON 字符串格式表示。具体配置信息,请参见 config 详细配置。

config 详细配置

  • protectionType 配置为 sema 时(基础防护规则配置为语义防护)
名称类型是否必选示例值描述
nonInjectionSqlInteger必选1非注入型攻击检测状态。取值:
- 0:表示关闭。
- 1(默认):表示开启。

示例

{
    "DefenseScene": "waf_group",
    "TemplateId": 322,
    "InstaneId": "waf_cn****",
    "Rules": "[{\"status\":1,\"policyId\":1012,\"action\":\"block\"},{\"status\":1,\"action\":\"block\",\"protectionType\":\"sema\",\"config\":\"{\\\"nonInjectionSql\\\":1}\"}]"
}

扫描防护规则(antiscan

参数描述

名称类型是否必选示例值描述
protectionTypeString必选highfreq扫描防护规则子类型。取值:
- highfreq:表示高频扫描封禁。
- dirscan:表示目录遍历封禁。
- scantools:表示扫描工具封禁。
statusInteger必选1防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值:
- 0:表示关闭。
- 1(默认):表示开启。
actionString必选block防护规则动作。取值:
- block:表示拦截。
- monitor:表示观察。
configString可选{"target":"remote_addr","interval":60,"ttl":180,"count":20}自定义配置信息,以 JSON 字符串格式进行描述。具体配置信息,请参见config 详细配置

config 详细配置

  • protectionType 配置为 highfreq 时(扫描防护规则配置为高频扫描封禁)
名称类型是否必选示例值描述
targetString必选remote_addr统计对象类型。取值:
- remote_addr(默认):表示 IP。
- cookie.acw_tc:表示会话。
- header:表示自定义 Header。选择自定义 Header 时,必须在 subkey 参数中填写需要统计的 Header 内容。
- queryarg:表示自定义参数。选择自定义参数时,必须在 subkey 参数中填写需要统计的自定义参数名称。
- cookie:表示自定义 Cookie。选择自定义 Cookie 时,必须在 subkey 参数中填写需要统计的 Cookie 内容。
subKeyString可选abc统计对象的子特征。当 target 参数值为 cookieheaderqueryarg 时,必须在 subkey 参数中填写对应的信息。
intervalInteger可选60检测时长,单位为秒。默认为 60 秒。
取值范围为:5~1800 秒。
ttlInteger可选1800封禁时长,单位为秒。默认为 1800 秒。
取值范围为:60~86400 秒。
countInteger可选20基础防护规则触发最大次数。默认为 20 次。
取值范围为:3~50000 次。
ruleIdCountInteger可选2触发的最大规则数。默认为 2 条。
取值范围为:1~50 条。
  • protectionType 配置为 dirscan 时(扫描防护规则配置为目录遍历封禁)
名称类型是否必选示例值描述
targetString必选remote_addr统计和封禁对象。取值:
- remote_addr(默认):表示 IP。
- cookie.acw_tc:表示会话。
- header:表示自定义 Header。
- queryarg:表示自定义参数。
- cookie:表示自定义 Cookie。
subKeyString可选1统计和封禁对象的子特征。仅 target 配置为header、queryarg、cookie时,配置该信息。
intervalInteger可选60检测时长,单位为秒。默认为 60 秒。
取值范围为:5~1800 秒。
ttlInteger可选1800封禁时长,单位为秒。默认为 1800 秒。
取值范围为:60~86400 秒。
countInteger可选20基础防护规则触发最大次数。默认为 20 次。
取值范围为:3~50000 次。
weightFloat可选2404 响应码百分比。默认为 0.7。
取值范围为:0.01~1.0,精确到小数点后两位。
uriNumInteger可选2不存在的最大目录数。默认为 50 个。
取值范围为:2~50000 个。

示例

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 2222,
    "DefenseScene": "antiscan",
    "Rules": "[{\"protectionType\":\"scantools\",\"action\":\"block\",\"status\":1},{\"protectionType\":\"dirscan\",\"status\":1,\"action\":\"block\",\"config\":\"{\\\"target\\\":\\\"remote_addr\\\",\\\"interval\\\":10,\\\"ttl\\\":1800,\\\"weight\\\":0.7,\\\"uriNum\\\":50,\\\"count\\\":50}\"},{\"protectionType\":\"highfreq\",\"status\":1,\"action\":\"block\",\"config\":\"{\\\"target\\\":\\\"remote_addr\\\",\\\"interval\\\":60,\\\"ttl\\\":1800,\\\"count\\\":20,\\\"ruleIdCount\\\":2}\"}]"
}

IP 黑名单规则(ip_blacklist

参数描述

名称类型是否必选示例值描述
nameString必选iptestIP 黑名单规则名称。
statusInteger必选1防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值:
- 0:表示关闭。
- 1(默认):表示开启。
actionString必选block防护规则动作。取值:
- block:表示拦截。
- monitor:表示观察。
remoteAddrArray必选["1.1.XX.XX", "3.1.XX.XX/24"]要加入的 IP 黑名单列表。使用["ip1","ip2",……]格式表示。

示例

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 2222,
    "DefenseScene": "ip_blacklist",
    "Rules": "[{\"name\":\"iptest1\",\"remoteAddr\":[\"1.1.1.2\",\"3.3.3.3/24\"],\"action\":\"monitor\",\"status\":1},{\"name\":\"iptest2\",\"remoteAddr\":[\"4.4.4.4\",\"5.5.5.5/32\"],\"action\":\"block\",\"status\":1}]"
}

自定义规则(custom_acl

参数描述

名称类型是否必选示例值描述
nameString必选iptest自定义 ACL 规则名称。
statusInteger必选1防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值:
- 0:表示关闭。
- 1(默认):表示开启。
actionString必选block防护规则动作。取值:
- block:表示拦截。
- monitor:表示观察。
- js:表示 JS 校验。
- captcha:表示滑块。
- captcha_strict:表示严格滑块。
说明 自定义 ACL 支持的防护规则动作,请以 WAF 控制台中展示的自定义规则动作为准。
conditionsArray必选[{"key":"IP","opValue":"eq","values":"11.XX.XX.1"},{"key":"Header","subKey":"abc","opValue":"contains","values":"test"}]ACL 的流量特征,以 JSON 字符串格式进行描述,支持填写最多五个匹配条件。具体配置信息,请参见conditions 详细配置
ccStatusInteger必选1是否开启限速。取值:
- 0:表示关闭限速。
- 1:表示开启限速。
ratelimitJSON可选{"target":"remote_addr","interval":5,"threshold":2,"ttl":1800,"status":{"code":404,"count":2}}限速详细配置,以 JSON 字符串格式进行描述,仅 ccStatus 配置为 1 时,配置该信息。具体配置信息,请参见ratelimit 详细配置
effectString可选rule设置限速生效范围,仅 ccStatus 配置为 1 时,配置该信息。取值:
- service:表示生效对象为防护对象。
- rule:表示生效对象为单规则。

conditions 详细配置

名称类型是否必选示例值描述
keyString必选IP匹配字段。取值:URL、URLPath、IP、Referer、User-Agent、Params、Cookie、Content-Type、Content-Length、X-Forwarded-For、Post-Body、Http-Method、Header。
subKeyString可选abc自定义子匹配字段。
说明 并不是每一个自定义规则的匹配字段(key)都有自定义子匹配字段(subKey)。关于不同匹配字段是否支持自定义子匹配字段,请以 WAF 控制台自定义规则中匹配字段和自定义匹配字段的关系为准。
opValueString必选contain逻辑符。取值:
- not-contain:表示不包含。
- contain:表示包含。
- none:表示不存在。
- ne:表示不等于。
- eq:表示等于。
- lt:表示值小于。
- gt:表示值大于。
- len-lt:表示长度小于。
- len-eq:表示长度等于。
- len-gt:表示长度大于。
- not-match:表示不匹配。
- match-one:表示等于多值之一。
- all-not-match:表示不等于任一值。
- all-not-contain:表示不包含任一值。
- contain-one:表示包含多值之一。
- not-regex:表示正则不匹配。
- regex:表示正则匹配。
- all-not-regex:表示正则均不匹配。
- regex-one:表示正则匹配其中之一。
- prefix-match:表示前缀匹配。
- suffix-match:表示后缀匹配。
- empty:表示内容为空。
- exists:表示字段存在。
- inl:表示在列表中。
说明 并不是每一个自定义规则的匹配字段(key)都能对应配置全部的逻辑符(opValue)。关于不同匹配字段支持使用的逻辑符,请以 WAF 控制台自定义规则中匹配字段和逻辑符的关联关系为准。
valuesString必选abc匹配内容,根据需要填写相应的内容。
说明 匹配条件参数中的逻辑符(opValue)、匹配内容(values)参数取值范围与所指定的匹配字段(key)相关。

ratelimit 详细配置

名称类型是否必选示例值描述
targetString必选remote_addr统计对象类型。取值:
- remote_addr(默认):表示 IP。
- cookie.acw_tc:表示会话。
- header:表示自定义 Header。选择自定义 Header 时,必须在 subkey 参数中填写需要统计的 Header 内容。
- queryarg:表示自定义参数。选择自定义参数时,必须在 subkey 参数中填写需要统计的自定义参数名称。
- cookie:表示自定义 Cookie。选择自定义 Cookie 时,必须在 subkey 参数中填写需要统计的 Cookie 内容。
subKeyString可选abc统计对象的子特征。当 target 参数值为 cookieheaderqueryarg 时,必须在 subkey 参数中填写对应的信息。
intervalInteger必选60统计时长,单位为秒。即访问次数的统计周期,与阈值(threshold)参数配合。
取值范围为:5~1800 秒。
thresholdInteger必选200在检测时长内,允许单个统计对象访问被防护地址的次数阈值。
ttlInteger必选1800处置动作的生效时长,单位为秒。
取值范围为:60~86400 秒。
statusJSON可选{"code":404,"count":200}响应码频率设置。以 JSON 字符串格式进行描述,具体包含以下参数:
code:Integer 类型,必选 ,指定响应码。
count:Integer 类型 ,可选,出现次数阈值,即表示当指定的响应码出现次数超过该阈值时命中防护规则。取值范围:2-50000 次。count 参数与 ratio 参数两者选其一,不可同时配置。
ratio:Integer 类型 ,可选 ,出现比例阈值(百分比),即表示当指定的响应码出现比例超过该阈值时命中防护规则。取值范围:1-100。count 参数与 ratio 参数两者选其一,不可同时配置。

示例

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 6242,
    "DefenseScene": "custom_acl",
    "Rules":"[{\"name\":\"acl_test\",\"action\":\"block\",\"conditions\":[{\"key\":\"URL\",\"opValue\":\"contain\",\"values\":\"abc\"}],\"ratelimit\":{\"target\":\"remote_addr\",\"interval\":5,\"threshold\":2,\"ttl\":1800,\"status\":{\"code\":404,\"count\":2}},\"ccStatus\":1,\"effect\":\"rule\",\"status\":1,\"origin\":\"custom\"}]"
}

白名单规则(whitelist

参数描述

名称类型是否必选示例值描述
nameString必选whitelistTest白名单规则名称。
statusInteger必选1防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值:
- 0:表示关闭。
- 1(默认):表示开启。
conditionsArray必选[{"key":"IP","opValue":"eq","values":"11.XX.XX.1"},{"key":"Header","subKey":"abc","opValue":"contains","values":"test"}]白名单的流量特征,以 JSON 字符串格式进行描述,支持填写最多五个匹配条件。具体配置信息,请参见conditions 详细配置
tagsArray必选["waf", "regular"]白名单作用模块列表,使用["XX1", "XX2",……]格式。取值:
- waf:表示全部模块。
- customrule:表示自定义规则。
- blacklist:表示 IP 黑名单。
- antiscan:表示扫描防护。
- regular:表示基础防护规则。
- regular_rule:表示基础防护特定正则规则。
- regular_type:表示基础防特定正则规则类型。
- major_protection:表示重保场景防护。
- cc:表示 CC 防护。
- region_block:表示区域封禁。
- antibot_scene:表示 BOT 场景防护。
- dlp:表示信息泄露防护。
- tamperproof:表示网页防篡改。
regularRulesArray可选[ "111111", "222222" ]不检测正则规则 ID 列表,使用["XX1", "XX2",……]格式。仅白名单作用模块配置为基础防护特定正则规则(tags 参数取值为regular_rule)时,配置该参数。
regularTypesArray可选[ "xss", "css" ]不检测正则规则类型列表,使用["XX1", "XX2",……]格式。仅白名单作用模块配置为 Web 应用正则类型(tags 参数取值为regular_type)时,配置该参数。取值:
- sqli:表示 SQL 注入。
- xss:表示跨站脚本。
- code_exec:表示代码执行。
- crlf:表示 CRLF。
- lfilei:表示本地文件包含。
- rfilei:表示远程文件包含。
- webshell:表示 WebShell。
- csrf:表示 CSRF。
- other:表示其他。

conditions 详细配置

名称类型是否必选示例值描述
keyString必选IP匹配字段。取值:URLURLPathIPRefererUser-AgentParamsCookieContent-TypeContent-LengthX-Forwarded-ForPost-BodyHttp-MethodHeader
subKeyString可选abc自定义子匹配字段。
说明 并不是每一个白名单规则的匹配字段(key)都有自定义子匹配字段(subKey)。关于不同匹配字段是否支持自定义子匹配字段,请以 WAF 控制台白名单规则中匹配字段和自定义匹配字段的关系为准。
opValueString必选contain逻辑符。取值:
- not-contain:表示不包含。
- contain:表示包含。
- none:表示不存在。
- ne:表示不等于。
- eq:表示等于。
- lt:表示值小于。
- gt:表示值大于。
- len-lt:表示长度小于。
- len-eq:表示长度等于。
- len-gt:表示长度大于。
- not-match:表示不匹配。
- match-one:表示等于多值之一。
- all-not-match:表示不等于任一值。
- all-not-contain:表示不包含任一值。
- contain-one:表示包含多值之一。
- not-regex:表示正则不匹配。
- regex:表示正则匹配。
- all-not-regex:表示正则均不匹配。
- regex-one:表示正则匹配其中之一。
- prefix-match:表示前缀匹配。
- suffix-match:表示后缀匹配。
- empty:表示内容为空。
- exists:表示字段存在。
- inl:表示在列表中。
说明 并不是每一个白名单规则的匹配字段(key)都能对应配置全部的逻辑符(opValue)。关于不同匹配字段支持使用的逻辑符,请以 WAF 控制台白名单规则中匹配字段和逻辑符的关联关系为准。
valuesString必选abc匹配内容,根据需要填写相应的内容。
说明 匹配条件参数中的逻辑符(opValue)、匹配内容(values)参数取值范围与所指定的匹配字段(key)相关。

示例

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 9242,
    "DefenseScene": "whitelist",
    "Rules":"[{\"name\":\"whitelistTest\",\"tags\":[\"regular_rule\",\"customrule\"],\"status\":1,\"origin\":\"custom\",\"conditions\":[{\"key\":\"URL\",\"opValue\":\"contain\",\"values\":\"/test\"},{\"key\":\"Header\",\"opValue\":\"eq\",\"values\":\"ffff\",\"subKey\":\"abc\"}],\"regularRules\":[\"123444\",\"444444\"]}]"
}

自定义响应规则(custom_response

参数描述

名称类型是否必选示例值描述
responseTypeString必选response_block自定义响应的类型。取值 response_block,表示拦截响应。
statusInteger必选1防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值:
- 0:表示关闭。
- 1(默认):表示开启。
configString必选{"responseCode":400,"responseHeaders":[{"key":"custom","value":"123"},{"key":"aaa","value":"2223"}],"responseContent":"HelloWorld"}自定义配置信息,以 JSON 字符串格式进行描述。具体配置信息,请参见config 详细配置

config 详细配置

名称类型是否必选示例值描述
responseCodeInteger必选400指定响应码。
responseHeadersArray可选[{"key":"custom","value":"123"},{"key":"aaaa","value":"2223"}]自定义响应头列表,以 JSON 字符串格式进行描述。key 为 header 的字段,value 为 header 的值。
responseContentString必选helloworld自定义响应的内容。

示例

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 2841,
    "DefenseScene": "custom_response",
    "Rules":"[{\"responseType\":\"response_block\",\"config\":\"{\\\"templateName\\\":\\\"aaa\\\",\\\"responseCode\\\":\\\"400\\\",\\\"responseContent\\\":\\\"helloWorld\\\",\\\"responseHeaders\\\":[{\\\"key\\\":\\\"test1\\\",\\\"value\\\":\\\"abc\\\"}]}\",\"status\":1}]"
}

区域封禁规则(region_block

参数描述

名称类型是否必选示例值描述
cnRegionListString可选610000,230000中国境内区域列表,只填写["CN"],表示封禁中国内地区域(除港澳台)。多个区域之间使用英文逗号(,)分隔。关于地域代码的具体含义,请参见中国境内地域代码含义说明
abroadRegionListString可选KE,KG中国境外区域列表,多个区域之间使用英文逗号(,)分隔。关于地域代码的具体含义,请参见中国境外地域代码含义说明
statusInteger必选1防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值:
- 0:表示关闭。
- 1(默认):表示开启。
actionString必选block防护规则动作。取值:
- block:表示拦截。
- monitor:表示观察。

中国境内地域代码含义说明

{
    "110000": "北京市",
    "120000": "天津市",
    "130000": "河北省",
    "140000": "山西省",
    "150000": "内蒙古自治区",
    "210000": "辽宁省",
    "220000": "吉林省",
    "230000": "黑龙江省",
    "310000": "上海市",
    "320000": "江苏省",
    "330000": "浙江省",
    "340000": "安徽省",
    "350000": "福建省",
    "360000": "江西省",
    "370000": "山东省",
    "410000": "河南省",
    "420000": "湖北省",
    "430000": "湖南省",
    "440000": "广东省",
    "450000": "广西壮族自治区",
    "460000": "海南省",
    "500000": "重庆市",
    "510000": "四川省",
    "520000": "贵州省",
    "530000": "云南省",
    "540000": "西藏自治区",
    "610000": "陕西省",
    "620000": "甘肃省",
    "630000": "青海省",
    "640000": "宁夏回族自治区",
    "650000": "新疆维吾尔自治区",
    "MO_01": "中国澳门",
    "HK_01": "中国香港",
    "TW_01": "中国台湾",
    "CN": "中华人民共和国内地区域(除港澳台)",
}

中国境外地域代码含义说明

{
  "KE": "肯尼亚",
  "KG": "吉尔吉斯斯坦",
  "KH": "柬埔寨",
  "KI": "基里巴斯",
  "KM": "科摩罗",
  "KN": "圣基茨和尼维斯联邦",
  "KP": "朝鲜",
  "KR": "韩国",
  "KW": "科威特",
  "KY": "开曼群岛",
  "KZ": "哈萨克斯坦",
  "LA": "老挝",
  "LB": "黎巴嫩",
  "LC": "圣卢西亚",
  "LI": "列支敦士登",
  "LK": "斯里兰卡",
  "LR": "利比里亚",
  "LS": "莱索托",
  "LT": "立陶宛",
  "LU": "卢森堡",
  "LV": "拉脱维亚",
  "LY": "利比亚",
  "MA": "摩洛哥",
  "MC": "摩纳哥",
  "MD": "摩尔多瓦",
  "ME": "黑山共和国",
  "MF": "圣马丁",
  "MG": "马达加斯加",
  "MH": "马绍尔群岛",
  "MK": "马其顿",
  "ML": "马里",
  "MM": "缅甸",
  "MN": "蒙古",
  "MP": "北马里亚纳群岛",
  "MQ": "马提尼克岛",
  "MR": "毛里塔尼亚",
  "MS": "蒙塞拉特岛",
  "MT": "马耳他",
  "MU": "毛里求斯",
  "MV": "马尔代夫",
  "MW": "马拉维",
  "MX": "墨西哥",
  "MY": "马来西亚",
  "MZ": "莫桑比克",
  "NA": "纳米比亚",
  "NC": "新喀里多尼亚",
  "NE": "尼日尔",
  "NF": "诺福克岛",
  "NG": "尼日利亚",
  "NI": "尼加拉瓜",
  "NL": "荷兰",
  "NO": "挪威",
  "NP": "尼泊尔",
  "NR": "瑙鲁",
  "NU": "纽埃岛",
  "NZ": "新西兰",
  "GA": "加蓬",
  "GB": "英国",
  "WS": "萨摩亚群岛",
  "GD": "格林纳达",
  "GE": "格鲁吉亚",
  "GF": "法属圭亚那",
  "GG": "根西岛",
  "GH": "加纳",
  "GI": "直布罗陀",
  "GL": "格陵兰岛",
  "GM": "冈比亚共和国",
  "GN": "几内亚",
  "GP": "瓜德罗普",
  "GQ": "赤道几内亚",
  "GR": "希腊",
  "GT": "危地马拉",
  "GU": "关岛",
  "GW": "几内亚比绍共和国",
  "GY": "圭亚那",
  "HN": "洪都拉斯",
  "HR": "克罗地亚",
  "HT": "海地",
  "YE": "也门",
  "HU": "匈牙利",
  "YT": "马约特岛",
  "ID": "印度尼西亚",
  "IE": "爱尔兰",
  "IL": "以色列",
  "IM": "马恩岛",
  "IN": "印度",
  "IO": "英属印度洋领地",
  "ZA": "南非",
  "IQ": "伊拉克共和国",
  "IR": "伊朗",
  "IS": "冰岛",
  "IT": "意大利",
  "ZM": "赞比亚",
  "JE": "泽西岛",
  "ZW": "津巴布韦",
  "JM": "牙买加",
  "JO": "约旦",
  "JP": "日本",
  "SI": "斯洛文尼亚",
  "BY": "白俄罗斯",
  "SK": "斯洛伐克",
  "BZ": "伯利兹",
  "SL": "塞拉利昂",
  "SM": "圣马力诺",
  "SN": "塞内加尔",
  "SO": "索马里",
  "CA": "加拿大",
  "SR": "苏里南",
  "SS": "南苏丹",
  "ST": "圣多美和普林西比",
  "CD": "刚果民主共和国",
  "CF": "中非共和国",
  "SV": "萨尔瓦多",
  "CG": "刚果",
  "CH": "瑞士",
  "SX": "荷属圣马丁",
  "SY": "阿拉伯叙利亚共和国",
  "CI": "科特迪瓦",
  "SZ": "斯威士兰",
  "CK": "库克群岛",
  "CL": "智利",
  "CM": "喀麦隆",
  "CN": "中华人民共和国",
  "CO": "哥伦比亚",
  "TC": "特克斯和凯科斯岛",
  "CR": "哥斯达黎加",
  "TD": "乍得",
  "CU": "古巴",
  "CV": "佛得角",
  "TG": "多哥",
  "CW": "库拉索",
  "TH": "泰国",
  "CX": "澳大利亚圣诞岛",
  "TJ": "塔吉克斯坦",
  "CY": "塞浦路斯",
  "CZ": "捷克共和国",
  "TK": "托克劳群岛",
  "TL": "东帝汶",
  "TM": "土库曼斯坦",
  "TN": "突尼斯",
  "TO": "汤加",
  "TR": "土耳其",
  "TT": "特立尼达和多巴哥",
  "DE": "德国",
  "TV": "图瓦卢",
  "DJ": "吉布提",
  "TZ": "坦桑尼亚",
  "DK": "丹麦",
  "DM": "多米尼克国",
  "DO": "多米尼加共和国",
  "UA": "乌克兰",
  "UG": "乌干达",
  "DZ": "阿尔及利亚",
  "UM": "美国本土外小岛屿",
  "US": "美国",
  "EC": "厄瓜多尔",
  "EE": "爱沙尼亚",
  "EG": "埃及",
  "UY": "乌拉圭",
  "UZ": "乌兹别克斯坦",
  "VA": "梵蒂冈",
  "VC": "圣文森特和格林纳丁斯",
  "ER": "厄立特里亚",
  "ES": "西班牙",
  "VE": "委内瑞拉",
  "ET": "埃塞俄比亚",
  "VG": "英属维尔京群岛",
  "VI": "美属维尔京群岛",
  "VN": "越南",
  "VU": "瓦努阿图",
  "FI": "芬兰",
  "FJ": "斐济",
  "FK": "马尔维纳斯群岛",
  "FM": "密克罗尼西亚联邦",
  "FO": "法罗群岛",
  "FR": "法国",
  "WF": "瓦利斯群岛和富图纳群岛",
  "OM": "阿曼",
  "PA": "巴拿马",
  "PE": "秘鲁",
  "PF": "法属波利尼西亚",
  "PG": "巴布亚新几内亚",
  "PH": "菲律宾",
  "PK": "巴基斯坦",
  "PL": "波兰",
  "PM": "圣皮埃尔和密克隆岛",
  "PR": "波多黎各",
  "PS": "巴勒斯坦",
  "PT": "葡萄牙",
  "PW": "帕劳",
  "PY": "巴拉圭",
  "QA": "卡塔尔",
  "AD": "安道尔",
  "AE": "阿拉伯联合酋长国",
  "AF": "阿富汗",
  "AG": "安提瓜和巴布达",
  "AI": "安圭拉",
  "AL": "阿尔巴尼亚",
  "AM": "亚美尼亚",
  "AO": "安哥拉",
  "AP": "亚太地区",
  "AQ": "南极洲",
  "AR": "阿根廷",
  "AS": "美属萨摩亚",
  "RE": "留尼旺岛",
  "AT": "奥地利",
  "AU": "澳大利亚",
  "AW": "阿鲁巴",
  "AX": "奥兰群岛",
  "AZ": "阿塞拜疆",
  "RO": "罗马尼亚",
  "BA": "波黑",
  "BB": "巴巴多斯",
  "RS": "塞尔维亚",
  "BD": "孟加拉共和国",
  "BE": "比利时",
  "RU": "俄罗斯",
  "BF": "布基纳法索",
  "RW": "卢旺达",
  "BG": "保加利亚",
  "BH": "巴林",
  "BI": "布隆迪共和国",
  "BJ": "贝宁",
  "BL": "圣巴泰勒米岛",
  "BM": "百慕大群岛",
  "BN": "文莱达鲁萨兰国",
  "BO": "玻利维亚",
  "SA": "沙特阿拉伯",
  "BQ": "博内尔、圣尤斯蒂休斯和萨巴",
  "SB": "所罗门群岛",
  "BR": "巴西",
  "SC": "塞舌尔",
  "SD": "苏丹",
  "BS": "巴哈马群岛",
  "SE": "瑞典",
  "BT": "不丹",
  "SG": "新加坡",
  "BW": "博茨瓦纳"
}
示例
{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 2341,
    "DefenseScene": "region_block",
    "Rules": "[{\"cnRegionList\":\"CN,HK_01,TW_01,MO_01\",\"abroadRegionList\":\"AU,NZ\",\"action\":\"block\",\"status\":1}]"
}

CC 防护规则(cc

参数描述

名称类型是否必选示例值描述
modeInteger必选0CC 防护模式。取值:
- 0(默认):表示普通防护。
- 1:表示紧急防护。
statusInteger必选1防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值:
- 0:表示关闭。
- 1(默认):表示开启。

示例

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 2241,
    "DefenseScene": "cc",
    "Rules":"[{\"mode\":0,\"status\":1}]"
}

网页防篡改防护规则(tamperproof

参数描述

名称类型是否必选示例值描述
nameString必选test防护规则名称。
urlString必选/abc缓存页面的地址。
uaString可选app指定 user-agent 访问该路径。
protocolString必选https缓存页面地址的协议类型。取值:httphttps
statusInteger必选1防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值:
- 0:表示关闭。
- 1(默认):表示开启。

示例

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 1241,
    "DefenseScene": "tamperproof",
    "Rules": "[{\"name\":\"test1\",\"url\":\"www.test1.com\",\"ua\":\"firefox\",\"protocol\":\"https\",\"status\":1}]"
}

信息泄露防护规则(dlp

参数描述

名称类型是否必选示例值描述
nameString必选test防护规则名称。
conditionsArray必选[{"key":"HttpCode","opValue":"contain","values":"400,401,402,403,404,405,500,501,502,503,504,505"},{"key":"URL","opValue":"contain","values":"test"}]匹配条件,以 JSON 字符串格式进行描述,支持设置最多两条匹配条件且条件间的关系为并且。具体配置信息,请参见conditions 详细配置
statusInteger必选1防护规则状态。该参数仅用于创建防护规则,修改防护规则状态时使用 ModifyDefenseRuleStatus 接口的 RuleStatus 参数。取值:
- 0:表示关闭。
- 1(默认):表示开启。
actionString必选block防护规则动作。取值:
- block:表示拦截,该动作仅适用于包含响应码匹配条件场景。
- monitor:表示观察。
- filter:表示敏感信息过滤,该动作仅适用于包含敏感信息匹配条件场景。

conditions 详细配置

名称类型是否必选示例值描述
keyString必选URL匹配字段。取值:URLHttpCodeSensitiveInfo
opValueString必选contain逻辑符。固定取值 contain
valuesString必选abc匹配内容,多个匹配内容之间使用逗号(,)分隔。
HttpCode 对应取值为:400401402403404405(代表405-499)、500501502503504505(代表505-599)。
SensitiveInfo 对应取值为:
- phone:表示电话号码。
- card:表示信用卡。
- id:表示身份证。
- word:表示默认敏感词。

示例

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 5241,
    "DefenseScene": "dlp",
    "Rules":"[{\"name\":\"test\",\"action\":\"filter\",\"status\":1,\"conditions\":[{\"key\":\"SensitiveInfo\",\"opValue\":\"contain\",\"values\":\"id,card\"},{\"key\":\"URL\",\"opValue\":\"contain\",\"values\":\"/test.html\"}]}]"
}

返回参数

名称类型描述示例值
object

返回对象结构。

RequestIdstring

当前请求的 ID。

26E46541-7AAB-5565-801D-F14DBDC5****
RuleIdsstring

创建的防护规则 ID,多个防护规则 ID 之间使用英文逗号(,)分隔。

22215,23354,462165

示例

正常返回示例

JSON格式

{
  "RequestId": "26E46541-7AAB-5565-801D-F14DBDC5****",
  "RuleIds": "22215,23354,462165"
}

错误码

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2024-09-02OpenAPI 入参发生变更、OpenAPI 返回结构发生变更查看变更详情
2023-05-17API 内部配置变更,不影响调用查看变更详情