【产品技术】Web应用服务规则解析篇:精准防护(下)

举报
懒宅君 发表于 2020/06/30 10:25:10 2020/06/30
【摘要】 删除URI格式DELETE /v1/{project_id}/waf/policy/{policy_id}/custom/{custom_rule_id}Path参数说明名称是否必选参数类型说明project_id是String用户操作的项目ID。policy_id是String策略ID。custom_rule_id是String精准防护规则的ID。请求消息请求参数无响应消息响应参数无状态码...

删除

URI格式

DELETE /v1/{project_id}/waf/policy/{policy_id}/custom/{custom_rule_id}

Path参数说明

名称

是否必选

参数类型

说明

project_id

String

用户操作的项目ID。

policy_id

String

策略ID。

custom_rule_id

String

精准防护规则的ID。

请求消息

请求参数

响应消息

响应参数

状态码

状态码

状态码

编码

状态说明

204

No Content

服务器成功处理了请求,没有返回任何内容。


查询(自定义规则的详细信息

URI格式

GET /v1/{project_id}/waf/policy/{policy_id}/custom/{custom_rule_id}

Path参数说明

名称

是否必选

参数类型

说明

project_id

String

用户操作的项目ID。

policy_id

String

策略ID。

custom_rule_id

String

自定义精准防护规则的ID。

请求消息

请求参数

响应消息

响应参数

响应参数说明

名称

参数类型

说明

id

String

精准防护规则的ID。

policy_id

String

策略ID。

name

String

精准防护规则名称。

time

Boolean

精准防护规则生效时间。

  • “false”:表示该规则立即生效。

  • “true”:表示自定义生效时间。

start

Long

精准防护规则生效的起始时间。

end

Long

精准防护规则生效的终止时间。

conditions

List of 表3

匹配条件列表。

action

表4

精准防护规则命中后操作对象。

priority

Integer

执行该规则的优先级,值越小,优先级越高,值相同时,规则创建时间早,优先级越高。取值范围:0到65535。

timestamp

Long

创建精准访问防护规则的时间。

conditions

名称

参数类型

说明

category

String

条件类型。固定值path、user-agent、ip、params、cookie、referer、header。

index

String

  • 当“category”为“cookie”时,index表示cookie name。

  • 当“category”为“params”时,index表示param name。

  • 当“category”为“header”时,index表示header中的选项。

logic

String

“contain”,“not_contain”“equal”,“not_equal”,“prefix”,“not_prefix”,“suffix”,“not_suffix”分别代表包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为。

当条件类型“category”为“ip”时,“logic”只能为“equal”或者“not_equal”。

contents

List

条件匹配的内容。

 

action

名称

参数类型

说明

category

String

操作类型。

  • “block”:拦截。

  • “pass”:放行。

举栗

如下以查询id 为“7374ad99c6c448e9a9ca35cb46660a39”的自定义规则为例。

响应样例

{

      "id": "7374ad99c6c448e9a9ca35cb46660a39",

      "policy_id": "9tre832yf96784ec8abd8ba61a98064ef",

      "name": "rule1",

      "time": true,

      "start": 1499817600,

      "end": 1567817600,

      "conditions": [{

          "category ": "path",

          "contents": ["/login"],

          "logic": "contain"

        },{

          "category": "ip",

          "logic": "equal",

          "contents": ["X.X.1.1"]

        }, {

          "category": "referer",

          "logic": "prefix",

          "contents": ["https://www.waf.com/xxx"]

        }, {

          "category": "user-agent",

          "logic": "contain",

          "contents": ["Mozilla/5.0"]

        }, {

          "category": "cookie",

                 "index": "SID",

          "logic": 3,

          "contents": ["234SDFASR4R32412FSR325S"]

        }, {

          "category": "header",

                 "index": "x-language",

          "logic": "equal",

          "contents": ["en-us"]

        }, {

          "category": "params",

                 "index": "name",

          "logic": "equal",

          "contents": ["abc"]

        }

      ],

      "action": {

        "category": "block"

      },

     "priority": 10,

     "timestamp": 1499817600

}

状态码

状态码

状态码

编码

状态说明

200

OK

客户端请求已处理成功。


更新

URI格式

PUT /v1/{project_id}/waf/policy/{policy_id}/custom/{custom_rule_id}

Path参数说明

名称

是否必选

参数类型

说明

project_id

String

用户操作的项目ID。

policy_id

String

策略ID。

custom_rule_id

String

精准防护规则的ID。

请求消息

请求参数

请求参数说明

名称

是否必选

参数类型

说明

name

String

精准防护规则的名称。

time

Boolean

精准防护规则生效时间。

  • “false”:表示该规则立即生效。

  • “true”:表示自定义生效时间。

start

Long

精准防护规则生效的起始时间。当time=true时,起始时间和终止时间必须有一个非空。

end

Long

精准防护规则生效的终止时间。当time=true时,起始时间和终止时间必须有一个非空。

conditions

List of 表3

匹配条件列表。

action

表4

精准防护规则命中后操作对象。

priority

Integer

优先级。取值范围为“0-65535”。默认值50。值越小,优先级越高。

conditions

名称

是否必选

参数类型

说明

category

String

条件类型。固定值path、user-agent、ip、params、cookie、referer、header。

index

String

  • 当“category”为“cookie”时,index表示cookie name。

  • 当“category”为“params”时,index表示param name。

  • 当“category”为“header”时,index表示header中的选项。

logic

String

“contain”,“not_contain”“equal”,“not_equal”,“prefix”,“not_prefix”,“suffix”,“not_suffix”分别代表包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为。

当条件类型“category”为ip时,“logic”只能为“equal”或者“not_equal”。

contents

List

条件匹配的内容。目前该字段只接受一个值,不要写入多个参数。

 

action

名称

是否必选

参数类型

说明

category

String

操作类型。

  • “block”:拦截。

  • “pass”:放行。

响应消息

响应参数

响应参数说明

名称

参数类型

说明

id

String

精准防护规则的ID。

policy_id

String

策略ID。

name

String

精准防护规则名称。

time

Boolean

精准防护规则生效时间。

  • “false”:表示该规则立即生效。

  • “true”:表示自定义生效时间。

start

Long

精准防护规则生效的起始时间。

end

Long

精准防护规则生效的终止时间。

conditions

List of 表6

匹配条件列表。

action

表7

精准防护规则命中后操作对象。

priority

Integer

执行该规则的优先级,值越小,优先级越高,值相同时,规则创建时间早,优先级越高。取值范围:0到65535。

timestamp

Long

创建精准访问防护规则的时间。

conditions

名称

参数类型

说明

category

String

条件类型。固定值path、user-agent、ip、params、cookie、referer、header。

index

String

  • 当“category”为“cookie”时,index表示cookie name。

  • 当“category”为“params”时,index表示param name。

  • 当“category”为“header”时,index表示header中的选项。

logic

String

“contain”,“not_contain”“equal”,“not_equal”,“prefix”,“not_prefix”,“suffix”,“not_suffix”分别代表包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为。

当条件类型“category”为ip时,“logic”只能为“equal”或者“not_equal”。

contents

List

条件匹配的内容。

 

action

名称

参数类型

说明

category

String

操作类型。

  • “block”:拦截。

  • “pass”:放行。

举栗

以更新精准防护规则“rule1”为例。

  • 请求样例

{

      "name":"rule1",

      "time": true,

      "start": 1499817600,

      "end": 1567817600,

      "conditions": [{

          "category": "path",

          "contents": ["/login"],

          "logic": "contain"

        },{

          "category": "ip",

           "logic": "equal",

           "contents": ["X.X.1.1"]

        }

      ],

      "action": {

        "category": "block"

      },

     "priority": 10

}

  • 响应样例

{

      "id": "7374ad99c6c448e9a9ca35cb46660a39",

      "policy_id": "9tre832yf96784ec8abd8ba61a98064ef",

      "name":"rule1",

      "time": true,

      "start": 1499817600,

      "end": 1567817600,

      "conditions": [{

          "category": "path",

          "contents": ["/login"],

          "logic": "contain"

        },{

          "category": "ip",

           "logic": "equal",

           "contents": ["X.X.1.1"]

        }

      ],

      "action": {

        "category": "block"

      },

    

     "priority": 10,

     "timestamp": 1499817600

}

状态码

状态码

状态码

编码

状态说明

200

OK

客户端请求已处理成功。



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。