DescribeProtectionModuleRules分页
查询WAF防护功能规则配置记录,如Web入侵防护、数据安全、Bot管理、访问控制或限流、网站白名单
服务地址:
华东1(杭州)
输入参数
只看必填
Domain要查询的域名
DefenseType要查询的防护功能配置的类型
Query设置规则的过滤和排序
Lang设置规则名称的语言属性
InstanceIdWAF实例的ID
ResourceGroupIdWAF实例在资源管理服务中所属的资源组ID
RegionIdWAF实例所属地域
分页参数
PageSize分页查询时
PageNumber分页查询时
插件下载了解更多
VS Code 插件
安装插件之前,确保已安装 VS Code安装插件之前,确保已安装 VS Code
Alibaba Cloud Developer Toolkit is a collection of extensions that can help access Alibaba Cloud services in Visual Studio Code.
JetBrains 插件
安装插件之前,确保已安装 JetBrains IDE安装插件之前,确保已安装 JetBrains IDE
The Alibaba Cloud Developer Toolkit for JetBrains makes it easier to access Alibaba Cloud services.

接口说明

本接口用于分页查询指定 WAF 防护功能模块(包括 Web 入侵防护、数据安全、Bot 管理、访问控制或限流、网站白名单等模块)的规则配置记录。 您可以通过设置 DefenseType 参数值指定防护功能模块配置。具体参数值的含义,请参见请求参数 DefenseType 的描述。 请注意,为了确保系统的文档性,对单用户 QPS 限制为 50 次/秒。超过限制,API 调用将会被限流,这可能影响您的业务,请合理调用。

请求参数

字段名称字段详情
PageSizeinteger<int32>

分页查询时,设置每页返回规则的数量。默认值为 10

示例值:10
PageNumberinteger<int32>

分页查询时,设置当前页面的页面。默认值为 1

示例值:1
Domainstring

要查询的域名。具体说明如下:展开详情

示例值:www.aliyundoc.com参考取值来源:
    CreateDomain
    DescribeDomainList
    SetDomainRuleGroup
DefenseTypestring

要查询的防护功能配置的类型。取值:展开详情

示例值:ac_highfreq
Querystring

设置规则的过滤和排序,以 JSON 格式字符串表达,具体包含以下参数:展开详情

示例值:e2ZpbHRlcjp7InJ1bGVJZCI6NDI3NTV9LG9yZGVyQnk6ImdtdF9tb2RpZmllZCIsZGVzYzp0cnVlfQ==
Langstring

设置规则名称的语言属性,取值:展开详情

示例值:zh
InstanceIdstring

WAF 实例的 ID。展开详情

示例值:waf_elasticity-cn-0xldbqt****参考取值来源:
    DescribeInstanceInfo
ResourceGroupIdstring

WAF 实例在资源管理服务中所属的资源组 ID。展开详情

示例值:rg-acfm2pz25js****
RegionIdstring

WAF 实例所属地域。取值:展开详情

示例值:cn-hangzhou

请求说明

调用 API 时,除了本文中该 API 的请求参数,还需加入阿里云 API 公共请求参数。公共请求参数的详细介绍,请参见公共参数

调用 API 的请求格式,请参见本文示例中的请求示例。

返回参数

字段名称字段详情
TotalCountinteger<int32>

查询到的规则配置的总数量。

示例值:1
RequestIdstring

本次请求的 ID。

示例值:D7861F61-5B61-46CE-A47C-6B19160D5EB0
Rulesarray<object>

规则配置信息,包含规则 ID、创建时间、状态等。

返回说明

Content 参数具体说明

  • 规则防护引擎解码设置(waf-codec)对应的 JSON 字符串中包含以下参数:

    • codecList:String 类型 | 必选 | 启用的解码配置项。

    • 示例

    {
        "codecList":["url","base64"]
    }
    
  • 网站防篡改规则配置(tamperproof)对应的 JSON 字符串中包含以下参数:

    • uri:String 类型 | 必选 | 所需防护的具体 URL。

    • name:String 类型 | 必选 | 规则名称。

    • status:Integer 类型 | 可选 | 规则的防护状态:

      • 0(默认):表示不生效。
      • 1:表示生效。
    • 示例

    {
        "name":"example",
        "uri":"http://www.example.com/example",
        "status":1
    }
    
  • 防敏感信息泄露规则配置(dlp)对应的 JSON 字符串中包含以下参数:

    • name:String 类型 | 必选 | 规则名称。

    • conditions:Array 类型 | 必选 | 以 JSON 字符串格式描述匹配条件,支持设置最多两条匹配条件且条件间的关系为并且。其中包含以下具体参数:

      • key:匹配项。
        • 0:表示防护的 URL。
        • 10:表示敏感信息。
        • 11:表示响应码。
      • operation:匹配逻辑,取值固定为 1,表示包含。
      • value:以 JSON 字符串描述匹配条件值,支持设置多个条件值。其中包含以下具体参数:
        • v:仅适用于匹配项(key)为 URL(0)或响应码(11)的场景。
          • URL:当"key":0时,参数值为 URL 地址。
          • 响应码:当"key":11,参数取值包括 400401402403404405-499500501502503504505-599
        • k:仅适用于匹配项(key)为敏感信息(10)的场景,取值:
          • 100:表示身份证。
          • 101:表示信用卡。
          • 102:表示电话号码。
          • 103:表示默认敏感词。
    • action:匹配动作。

      • 3:表示告警。
      • 10:表示敏感信息过滤,该动作仅适用于包含敏感信息("key":10)的匹配条件场景。
      • 11:表示返回系统内置拦截页面,该动作仅适用于包含响应码("key":11)的匹配条件场景。
    • 示例

    {
      "name":"example",
      "conditions":[{"key":11,"operation":1,"value":[{"v":401}]},{"key":"0","operation":1,"value":[{"v":"www.example.com"}]}],
      "action":3
    }
    
  • 账户安全规则配置(ng_account)对应的 JSON 字符串中包含以下参数:

    • domain:String 类型 | 必选 | 防护的域名。

    • method:String 类型 | 必选 | 检测的请求方式,包括 POST、GET、PUT、DELETE。支持设定多个请求方式,以英文逗号“,”分隔。

    • url_path:String 类型 | 必选 | 检测接口,以 URL 路径表示,必须以正斜杠(/)开头。

    • account_left:String 类型 | 必选 | 账号参数名。

    • password_left:String 类型 | 可选 | 密码参数名。

    • action:String 类型 | 必选 | 防护动作,取值:

      • monitor:表示预警。
      • block:表示拦截。
    • 示例

    {
        "domain":"www.example.com",
        "method":"GET,POST",
        "url_path":"/example",
        "account_left":"aaa",
        "action":"monitor"
    }
    
  • 合法爬虫规则配置(bot_crawler)对应的 JSON 字符串中包含以下参数:

    • Status:Integer 类型 | 必选 | 是否启用,取值:

      • 0:表示禁用。
      • 1:表示启用。
    • Version:Integer 类型 | 必选 | 规则版本号。

    • Content:String 类型 | 必选 | 规则详细信息,以 JSON 字符串格式进行描述,具体包含以下参数:

      • name:String 类型 | 必选 | 规则名称。
      • conditions:Array 类型 | 可选 | 防护路径条件。在合法爬虫规则配置中固定为空,表示全路径。
      • expressions:Array 类型 | 必选 | 规则条件表达式,以更易读的方式表示所有规则条件信息。
      • bypassTags:String 类型 | 必选 | 不检测的模块。在合法爬虫规则配置中固定为 antibot,表示 Bot 管理模块。
      • tags:Array 类型 | 必选 | 规则所属防护功能模块。在合法爬虫规则配置中固定为["antibot"],表示 Bot 管理模块。
    • RuleId:Integer 类型 | 必选 | 规则 ID。

    • Time:String 类型 | 必选 | 规则最新修改时间,以秒级时间戳格式表示。

    • 示例

    {
        "Status":0,
        "Version":1,
        "Content":{
            "name":"百度蜘蛛白名单",
            "conditions":[],
            "expressions":["remote_addr inl 'ioc.210d077a-cf34-49ad-a9b3-0aa48095c595' && uri =^ '/'"],
            "bypassTags":"antibot",
            "tags":["antibot"]
        },
    "RuleId":20384,
    "Time":1585818161
    }
    
  • 爬虫威胁情报规则配置(bot_intelligence)对应的 JSON 字符串中包含以下参数:

    • Status:Integer 类型 | 必选 | 是否启用,取值:

      • 0:表示禁用。
      • 1:表示启用。
    • Version:Integer 类型 | 必选 | 规则版本号。

    • Content:String 类型 | 必选 | 规则详细信息,以 JSON 字符串格式进行描述,具体包含以下参数:

      • name:String 类型 | 必选 | 规则名称。
      • action:String 类型 | 必选 | 处置动作,取值:
        • monitor:表示观察。
        • captcha:表示滑块。
        • captcha_strict:表示严格滑块。
        • js:表示 JavaScript 校验。
        • block:表示阻断。
      • urlList:Array 类型 | 必选 | 防护路径,最多指定十个防护路径。以 JSON 字符串方式表示,具体包含以下参数:
        • mode:String 类型 | 必选 | 匹配方式,与路径关键字(url)参数结合指定防护路径。可选值:eq(精准匹配)、prefix-match(前缀匹配)、regex(正则匹配)。
        • url:String 类型 | 必选 | 路径关键字,必须以正斜杠(/)开头。
      • keyType:String 类型 | 必选 | 情报库类型,包含 IP 库(ip)、指纹库(ua)两种类型。
    • RuleId:Integer 类型 | 必选 | 规则 ID。

    • Time:String 类型 | 必选 | 规则最新修改时间,以秒级时间戳格式表示。

    • 示例

    {
        "Status":1,
        "Version":1,
        "Content":{
            "name":"IDC IP 库-腾讯云",
            "action":"captcha_strict",
            "urlList":[{"mode":"prefix-match","url":"/indexa"},	{"mode":"regex","url":"/"},{"mode":"eq","url":"/"}],
            "keyType":"ip"
        },
        "RuleId":922777,
        "Time":1585907112
    }
    
  • 数据风控防护请求规则配置(antifraud)对应的 JSON 字符串中包含以下参数:

    • uri:String 类型 | 必选 | 具体的防护请求 URL。

    • 示例

    {
        "uri": "http://1.example.com/example"
    }
    
  • 数据风控 JS 插入页面配置(antifraud_js)对应的 JSON 字符串中包含以下参数:

    • uri:String 类型 | 必选 | 需要插入数据风控 JS 页面的 URL,系统将为所指定的 URL 路径下的所有页面插入数据风控 JS。

    • 示例

    {
        "uri": "/example/example"
    }
    
  • 智能算法规则配置(bot_algorithm)对应的 JSON 字符串中包含以下参数:

    • Status:Integer 类型 | 必选 | 是否启用,取值:

      • 0:表示禁用。
      • 1:表示启用。
    • Version:Integer 类型 | 必选 | 规则版本号。

    • Content:String 类型 | 必选 | 规则详细信息,以 JSON 字符串格式进行描述,具体包含以下参数:

      • name:String 类型 | 必选 | 规则名称。
      • timeInterval:Integer 类型 | 必选 | 检测周期,可选值:30、60、120、300、600,单位秒。
      • action:String 类型 | 必选 | 处置动作,取值:
        • monitor:表示观察。
        • captcha:表示滑块。
        • js:表示 JavaScript 校验。
        • block:表示阻断。选择阻断作为处置动作时,必须设置阻断时长(blocktime)参数。
      • blocktime:Integer 类型 | 可选 | 阻断时长,单位分钟,取值范围:1~600。
      • algorithmName:String 类型 | 必选 | 算法名称,取值:
        • RR:表示专项资源爬虫识别算法。
        • PR:表示定向路径爬虫识别算法。
        • DPR: 表示参数轮询爬虫识别算法。
        • SR:表示动态 IP 爬虫识别算法。
        • IND:表示代理设备爬虫识别算法。
        • Periodicity:表示周期性爬虫识别算法。
      • config:String 类型 | 必选 | 算法配置信息,以 JSON 字符串格式表示。算法配置信息中的具体子参数与所选择的算法名称(algorithmName)相关。
        • 专项资源爬虫识别算法(RR)对应的配置信息应包含以下子参数:
          • resourceType:Integer 类型 | 可选 | 请求的资源类型,取值:
            • 1:表示动态资源类型。
            • 2:表示静态资源类型。
            • -1:表示自定义资源类型。选择自定义资源组时,需要再设置 extensions 参数,以字符串格式指定具体的资源后缀名,多个后缀名间以英文逗号“,”分隔,例如css,jpg,xls
          • minRequestCountPerIp:Integer 类型 | 必选 | 检测周期中检测 IP 的范围,大于等于一定访问请求数量的 IP 才会被检测。通过该参数指定访问请求数量的最小值,取值范围:5~10000。
          • minRatio:Float 类型 | 必选 | 风险判定条件,即 IP 访问请求中访问指定资源类型的占比阈值,超过阈值后判定为风险,取值范围:0.01~1。
        • 定向路径爬虫识别算法(PR)对应的配置信息应包含以下子参数:
          • keyPathConfiguration:Array 类型 | 可选 | 请求的路径信息,支持指定最多 10 条路径,只在使用定向路径爬虫识别算法时需设置该子参数。以 JSON 字符串格式表示,具体包含以下参数:
            • method:String 类型 | 必选 | 请求方法,可选值:POSTGETPUTDELETEHEADOPTIONS
            • url:String 类型 | 必选 | 请求路径关键字,必须以正斜杠(/)开头。
            • matchType:String 类型 | 必选 | 匹配方式,与请求路径关键字(url)参数结合指定请求路径。可选值:all(精准匹配)、prefix(前缀匹配)、regex(正则匹配)。
          • minRequestCountPerIp:Integer 类型 | 必选 | 检测周期中检测 IP 的范围,大于等于一定访问请求数量的 IP 才会被检测。通过该参数指定访问请求数量的最小值,取值范围:5~10000。
          • minRatio:Float 类型 | 必选 | 风险判定条件,即 IP 访问请求中访问指定路径的占比阈值(对应定向路径爬虫识别算法),超过阈值后判定为风险,取值范围:0.01~1。
        • 参数轮询爬虫识别算法(DPR)对应的配置信息应包含以下子参数:
          • method:String 类型 | 必选 | 请求方法,可选值:POSTGETPUTDELETEHEADOPTIONS
          • urlPattern:String 类型 | 必选 | 关键参数路径,必须以正斜杠(/)开头。用{}表示关键参数,配置多个{}时将拼接这些参数作为关键参数。例如,/company/{}/{}/{}/user.php?uid={}
          • minRequestCountPerIp:Integer 类型 | 必选 | 检测周期中检测 IP 的范围,大于等于一定访问请求数量的 IP 才会被检测。通过该参数指定访问请求数量的最小值,取值范围:5~10000。
          • minRatio:Float 类型 | 必选 | 风险判定条件,即 IP 访问请求中不同关键参数值的计数占比阈值,超过阈值后判定为风险,取值范围:0.01~1。
        • 动态 IP 爬虫识别算法(SR)对应的配置信息应包含以下子参数:
          • maxRequestCountPerSrSession:Integer 类型 | 必选 | 通过设定每个会话中存在的最小请求次数定义异常会话,即单个会话中的请求次数小于该值即判定为异常会话。取值范围:1~8。
          • minSrSessionCountPerIp:Integer 类型 | 必选 | 风险判定条件,即 IP 访问请求中存在的异常会话数量阈值,单个 IP 访问请求中的异常会话次数超过该值后判定为风险。取值范围:5~300。
        • 代理设备爬虫识别算法(IND)对应的配置信息应包含以下子参数:
          • minIpCount:Integer 类型 | 必选 | 恶意设备判定条件,即设备使用 WIFI 关联的 IP 变换个数阈值,超过该阈值后判定为风险,取值范围:5~500。
          • keyPathConfiguration:Array 类型 | 可选 | 检测路径信息,支持指定最多 10 条路径。以 JSON 字符串格式表示,具体包含以下参数:
            • method:String 类型 | 必选 | 请求方法,可选值:POSTGETPUTDELETEHEADOPTIONS
            • url:String 类型 | 必选 | 检测路径关键字,必须以正斜杠(/)开头。
            • matchType:String 类型 | 必选 | 匹配方式,与检测路径关键字(url)参数结合指定请求路径。可选值:all(精准匹配)、prefix(前缀匹配)、regex(正则匹配)。
        • 周期性爬虫识别算法(Periodicity)对应的配置信息应包含以下子参数:
          • minRequestCountPerIp:Integer 类型 | 必选 | 检测周期中检测 IP 的范围,大于等于一定访问请求数量的 IP 才会被检测。通过该参数指定访问请求数量的最小值,取值范围:5~10000。
          • level:Integer 类型 | 必选 | 风险判定等级,即访问 IP 的周期性特征的明显程度,取值:
            • 0:表示明显。
            • 1:表示中等。
            • 2:表示较弱。
    • RuleId:Integer 类型 | 必选 | 规则 ID。

    • Time:String 类型 | 必选 | 规则最新修改时间,以秒级时间戳格式表示。

    • 示例

    {
        "Status":1,
        "Version":1,
        "Content":{
            "name":"动态 IP",
            "timeInterval":60,
            "action":"warn",
            "algorithmName":"IND",
            "config":{"minIpCount":5,"keyPathConfiguration":[{"method":"GET","matchType":"prefix","url":"/index"}]}
        },
        "RuleId":940180,
        "Time":1585832957
    }
    
  • App 防护的版本防护规则配置(bot_wxbb_pkg)对应的 JSON 字符串中包含以下参数:

    • Version:Integer 类型 | 必选 | 规则版本号。

    • Content:String 类型 | 必选 | 规则详细信息,以 JSON 字符串格式进行描述,具体包含以下参数:

      • name:String 类型 | 必选 | 规则名称。
      • action:String 类型 | 必选 | 处置动作,取值:
        • test:表示观察。
        • close:表示阻断。
      • nameList:Array 类型 | 必选 | 合法版本信息,最多指定五条规则。以 JSON 字符串方式表示,具体包含以下参数:
        • name:String 类型 | 必选 | 合法包名称。
        • signList:Array 类型 | 必选 | 对应的包签名,最多包含 15 个,以半角逗号(,)分隔。
    • RuleId:Integer 类型 | 必选 | 规则 ID。

    • Time:String 类型 | 必选 | 规则最新修改时间,以秒级时间戳格式表示。

    • 示例

    {
        "Version":0,
        "Content":{
            "nameList":[{"signList":["xxxxxx","xxxxx","xxxx","xx"],"name":"apk-xxxx"}],
            "name":"test",
            "action":"close"
        },
        "RuleId":271,
        "Time":1585836143
    }
    
  • App 防护的路径防护规则配置(bot_wxbb)对应的 JSON 字符串中包含以下参数:

    • Version:Integer 类型 | 必选 | 规则版本号。

    • Content:String 类型 | 必选 | 规则详细信息,以 JSON 字符串格式进行描述,具体包含以下参数:

      • name:String 类型 | 必选 | 规则名称。
      • uri:String 类型 | 必选 | 防护路径,必须以正斜杠(/)开头。
      • matchType:String 类型 | 必选 | 匹配方式。可选值:all(精准匹配)、prefix(前缀匹配)、regex(正则匹配)。
      • arg:String 类型 | 必选 | 参数包含,与匹配方式(matchType)参数结合指定防护路径配置。
      • action:String 类型 | 必选 | 处置动作,取值:
        • test:表示观察。
        • close:表示阻断。
      • wxbbVmpFieldType:Integer 类型 | 可选 | 自定义加签字段类型。如果规则中未设置自定义加签字段,则不返回该参数。取值:
        • 0:表示 header。
        • 1:表示参数。
        • 2:表示 cookie。
      • wxbbVmpFieldValue:String 类型 | 可选 | 自定义加签字段值。如果规则中未设置自定义加签字段,则不返回该参数。
      • blockInvalidSign:Boolean 类型 | 必选 | 是否对非法签名执行处置动作。
      • blockProxy:Boolean 类型 | 必选 | 是否对代理执行处置动作。
      • blockSimulator:Boolean 类型 | 必选 | 是否对模拟器执行处置动作。
    • RuleId:Integer 类型 | 必选 | 规则 ID。

    • Time:String 类型 | 必选 | 规则最新修改时间,以秒级时间戳格式表示。

    • 示例

    {
        "Version":6,
        "Content":{
            "blockInvalidSign":true,
            "wxbbVmpFieldValue":"test",
            "blockSimulator":true,
            "matchType":"all",
            "arg":"test",
            "name":"test",
            "action":"close",
            "blockProxy":true,
            "uri":"/index",
            "wxbbVmpFieldType":1
        },
        "RuleId":2585,
        "Time":1586241849
    }
    
  • IP 黑名单规则配置(ac_blacklist)对应的 JSON 字符串中包含以下参数:

    • empty:Boolean 类型 | 必选 | 黑名单是否为空。

    • remoteAddr:Array 类型 | 必选 | 黑名单中的 IP。

    • area:String 类型 | 必选 | 以 JSON 格式字符串表示区域封禁规则,包含国家编码(countryCodes)、区域编码(regionCodes)、是否放行(not)具体参数。由于 API 接口中以编码形式返回封禁国家和区域,建议您在控制台中查看具体的封禁国家和区域。

    • 示例

    {
        "empty":false,
        "remoteAddr":["1.XX.XX.1","12.XX.XX.2"]
    }
    
  • 高频 Web 攻击 IP 自动封禁规则配置(ac_highfreq)对应的 JSON 字符串中包含以下参数:

    • interval:Integer 类型 | 必选 | 检测时间范围,单位秒,取值范围:5~1800。

    • ttl:Integer 类型 | 必选 | 封禁 IP 时长,单位秒,取值范围:60~86400。

    • count:Integer 类型 | 必选 | Web 攻击次数阈值,检测时间范围内攻击次数超过该值,触发封禁。取值范围:2~50000。

    • 示例

    {
    	"interval":60,
    	"ttl":300,
    	"count":60
     }
    
  • 目录扫描防护规则配置(ac_dirscan)对应的 JSON 字符串中包含以下参数:

    • interval:Integer 类型 | 必选 | 检测时间范围,单位秒,取值范围:5~1800。

    • ttl:Integer 类型 | 必选 | 封禁 IP 时长,单位秒。

    • count:Integer 类型 | 必选 | 访问次数阈值,取值范围:2~50000。

    • weight:Float 类型 | 必选 | 404 响应码占比阈值(百分比),取值范围:(0,1]

    • uriNum:Integer 类型 | 必选 | 扫描目录数量阈值,取值范围:2~50000。

    • 示例

    {
    	"interval":10,
    	"ttl":1800,
    	"count":50,
    	"weight":0.7,
        "uriNum":20 
    }
    
  • 自定义防护策略规则配置(ac_custom),通过其对应 JSON 字符串中的 scene 参数来设置 ACL 访问控制规则和 CC 攻击防护规则。

    • 自定义 ACL 访问控制规则(scene 参数值为custom_acl)对应的 JSON 字符串中包含以下参数:

      • name:String 类型 | 必选 | 规则名称。

      • scene:String 类型 | 必选 | 防护类型。设置 ACL 访问控制规则时,取值固定为custom_acl

      • action:String 类型 | 必选 | 处置动作,取值:

        • monitor:表示观察。
        • captcha:表示滑块。
        • captcha_strict:表示严格滑块。
        • js:表示 JS 验证。
        • block:表示阻断。
      • conditions:Array 类型 | 必选 | 匹配条件,以 JSON 字符串格式进行描述,具体包含以下参数:

        • key:匹配字段,取值:URLIPRefererUser-AgentParamsCookieContent-TypeContent-LengthX-Forwarded-ForPost-BodyHttp-MethodHeaderURLPath

        • opCode:逻辑符,取值:

          • 11:表示等于。
          • 10:表示不等于。
          • 41:表示等于多值之一。
          • 50:表示不等于任一值。
          • 1:表示包含。
          • 0:表示不包含。
          • 51:表示包含多值之一。
          • 52:表示不包含任一值。
          • 82:表示存在。
          • 2:表示不存在。
          • 21:表示长度等于。
          • 22:表示长度大于。
          • 20:表示长度小于。
          • 60:表示正则不匹配。
          • 61:表示正则匹配。
          • 72:表示前缀匹配。
          • 81:表示后缀匹配。
          • 80:表示内容为空。
        • values:匹配内容。根据需要设置相应的内容,以 String 类型表示。

        • contain:同样表示规则条件的逻辑符,取值与 opCode 参数相同。

        • opValue:逻辑符的简写含义,您可以参考 opCode 参数取值说明了解详细信息。

        • pattern:同样表示逻辑符的简写含义,取值与 opValue 参数相同。

      • expressions:Array 类型 | 必选 | 规则条件表达式,以更易读的方式表示所有规则条件信息。

      • 示例

      {
          "name":"test2",
          "action":"monitor",
          "conditions":[{"contain":1,"values":"login","pattern":"contain","opCode":1,"opValue":"contain","key":"URL"}],
          "expressions":["request_uri contains 'login' "],
          "scene":"custom_acl"
      }
      
    • 自定义 CC 攻击防护规则(scene 参数值为custom_cc)对应的 JSON 字符串中包含以下参数:

      • name:String 类型 | 必选 | 规则名称。

      • scene:String 类型 | 必选 | 防护类型。设置 CC 攻击防护规则时,取值固定为custom_cc

      • conditions:Array 类型 | 必选 | 匹配条件,以 JSON 字符串格式进行描述,具体包含以下参数:

        • key:匹配字段,取值:URLIPRefererUser-AgentParamsCookieContent-TypeContent-LengthX-Forwarded-ForPost-BodyHttp-MethodHeaderURLPath
        • opCode:逻辑符,取值:
          • 11:表示等于。
          • 10:表示不等于。
          • 41:表示等于多值之一。
          • 50:表示不等于任一值。
          • 1:表示包含。
          • 0:表示不包含。
          • 51:表示包含多值之一。
          • 52:表示不包含任一值。
          • 82:表示存在。
          • 2:表示不存在。
          • 21:表示长度等于。
          • 22:表示长度大于。
          • 20:表示长度小于。
          • 60:表示正则不匹配。
          • 61:表示正则匹配。
          • 72:表示前缀匹配。
          • 81:表示后缀匹配。
          • 80:表示内容为空。
        • values:匹配内容。根据需要设置相应的内容,以 String 类型表示。
        • contain:同样表示规则条件的逻辑符,取值与 opCode 参数相同。
        • opValue:逻辑符的简写含义,您可以参考 opCode 参数取值说明了解详细信息。
        • pattern:同样表示逻辑符的简写含义,取值与 opValue 参数相同。
      • expressions:Array 类型 | 必选 | 规则条件表达式,以更易读的方式表示所有规则条件信息。

      • action:String 类型 | 必选 | 处置动作,取值:

        • monitor:表示观察。
        • captcha:表示滑块。
        • captcha_strict:表示严格滑块。
        • js:表示 JS 验证。
        • block:表示阻断。
      • ratelimit:JSON 格式 | 必选 | 频率设置。以 JSON 字符串格式进行描述,具体包含以下参数:

        • target:String 类型 | 必选 | 统计对象类型,取值:
          • remote_addr:表示 IP。
          • cookie.acw_tc:表示 Session。
          • queryarg:表示自定义参数。选择自定义参数时,必须在 subkey 参数中设置需要统计的自定义参数名称。
          • cookie:表示自定义 cookie。选择自定义 cookie 时,您必须在 subkey 参数中设置需要统计的 cookie 内容。
          • header:表示自定义 header。选择自定义 header 时,您必须在 subkey 参数中设置需要统计的 header 内容。
        • subkey:String 类型 | 可选 | 当 target 参数值为 cookieheaderqueryarg 时,您必须在 subkey 参数中设置对应的信息。
        • interval: Integer 类型 | 必选 | 统计时长(单位:秒),即访问次数的统计周期,与阈值(threshold)参数配合。
        • threshold:Integer 类型 | 必选 | 在检测时长内,允许单个统计对象访问被防护地址的次数阈值。
        • status:JSON 格式 | 可选 | 响应码频率设置。以 JSON 字符串格式进行描述,具体包含以下参数:
          • code:Integer 类型 | 必选 | 指定响应码。
          • count:Integer 类型 | 可选 | 出现次数阈值,即表示当指定的响应码出现次数超过该阈值时命中防护规则,取值范围:1~999999999。count 参数与 ratio 参数两者选其一,不可同时配置。
          • ratio:Integer 类型 | 可选 | 出现比例阈值(百分比),即表示当指定的响应码出现比例超过该阈值时命中防护规则,取值范围:1~100。count 参数与 ratio 参数两者选其一,不可同时配置。
        • scope:String 类型 | 必选 | 生效范围,取值:
          • rule:表示当前特征匹配范围内。
          • domain:表示当前规则作用的域名范围内。
        • ttl:Integer 类型 | 必选 | 处置动作的生效时长,单位:秒,取值范围:60~86400。
      • 示例

      {
          "name":"CC 防护",
          "conditions":[{"contain":1,"values":"login","pattern":"contain","opCode":1,"opValue":"contain","key":"URL"}],
          "expressions":["request_uri contains 'login' "],
          "action":"block", 
          "scene":"custom_cc",  
          "ratelimit":{
              "target": "remote_addr", 
              "interval": 300,
              "threshold": 2000,
              "status": {
                  "code": 404,
                  "count": 200
              },
              "scope": "rule",
              "ttl": 1800
          }
      }
      
  • 白名单规则配置(whitelist)对应的 JSON 字符串中包含以下参数:

    • name:String 类型 | 必选 | 规则名称。

    • tags:Array 类型 | 必选 | 不检测模块,可设置多个模块,取值:

      • waf:表示网站白名单。
      • cc:表示系统 CC 防护。
      • customrule:表示自定义规则。
      • blacklist:表示 IP 黑名单。
      • antiscan:表示扫描防护。
      • regular:表示规则防护引擎。
      • deeplearning:表示深度学习引擎。
      • antifraud:表示数据风控。
      • dlp:表示防敏感信息泄露。
      • tamperproof:表示网站防篡改。
      • bot_intelligence:表示爬虫威胁情报。
      • bot_algorithm:表示智能算法。
      • bot_wxbb:表示 App 防护。
    • bypassTags:String 类型 | 必选 | 不检测的模块列表。

    • origin:String 类型 | 可选 | 白名单规则的来源。取值固定为 ai,表示白名单规则由 WAF 智能规则托管功能自动添加。不返回该参数表示白名单规则包括您手动添加的规则和智能规则托管功能自动添加的规则。

    • conditions:Array 类型 | 必选 | 匹配条件,以 JSON 字符串格式进行描述,具体包含以下参数:

      • key:匹配字段,取值:URLIPRefererUser-AgentParamsCookieContent-TypeContent-LengthX-Forwarded-ForPost-BodyHttp-MethodHeaderURLPath

      • opCode:逻辑符,取值:

        • 11:表示等于。
        • 10:表示不等于。
        • 41:表示等于多值之一。
        • 50:表示不等于任一值。
        • 1:表示包含。
        • 0:表示不包含。
        • 51:表示包含多值之一。
        • 52:表示不包含任一值。
        • 82:表示存在。
        • 2:表示不存在。
        • 21:表示长度等于。
        • 22:表示长度大于。
        • 20:表示长度小于。
        • 60:表示正则不匹配。
        • 61:表示正则匹配。
        • 72:表示前缀匹配。
        • 81:表示后缀匹配。
        • 80:表示内容为空。
      • values:匹配内容。根据需要设置相应的内容,以 String 类型表示。

      • contain:同样表示规则条件的逻辑符,取值与 opCode 参数相同。

      • opValue:逻辑符的简写含义,您可以参考 opCode 参数取值说明了解详细信息。

      • pattern:同样表示逻辑符的简写含义,取值与 opValue 参数相同。

    • expressions:Array 类型 | 必选 | 规则条件表达式,以更易读的方式表示所有规则条件信息。

    • 示例

    {
        "name": "test",
        "tags": ["cc","customrule"],
        "bypassTags":"antifraud,dlp,tamperproof", 
        "conditions":[{"contain":1,"values":"login","pattern":"contain","opCode":1,"opValue":"contain","key":"URL"}],
        "expressions":["request_uri contains 'login' "]
    }
    
变更历史
暂无变更历史