华为云用户手册

  • 请求示例 绑定项目id为project_id和证书id为certificate_id的证书到两个域名,分别为域名id为“85e554189d494c0f97789e93531c9f90”的云模式域名和域名id为“4e9e97c425fc463c8f374b90124e8392”的独享模式域名。 POST https://{Endpoint}/v1/{project_id}/waf/certificate/{certificate_id}/apply-to-hosts?enterprise_project_id=0 { "cloud_host_ids" : [ "85e554189d494c0f97789e93531c9f90" ], "premium_host_ids" : [ "4e9e97c425fc463c8f374b90124e8392" ] }
  • 响应示例 状态码: 200 OK { "total" : 1, "items" : [ { "id" : "ee896796e1a84f3f85865ae0853d8974", "hostname" : "www.demo.com", "extend" : { }, "region" : "cn-north-4", "flag" : { "pci_3ds" : "false", "pci_dss" : "false" }, "description" : "", "policyid" : "df15d0eb84194950a8fdc615b6c012dc", "protect_status" : 1, "access_status" : 0, "hostid" : "ee896796e1a84f3f85865ae0853d8974" } ] }
  • 响应示例 状态码: 200 OK { "total" : 1, "items" : [ { "id" : "d0a4bc2f74e3407388a50243af700305", "hostid" : "d0a4bc2f74e3407388a50243af700305", "description" : "e", "type" : 1, "proxy" : false, "flag" : { "pci_3ds" : "false", "pci_dss" : "false", "ipv6" : "false", "cname" : "new", "is_dual_az" : "true" }, "region" : "cn-north-4", "hostname" : "www.demo.com", "access_code" : "7d06456ffaexxxxxxxxxxx281bc13b", "policyid" : "bb2124fabe6f42ff9fe4770eeccb2670", "timestamp" : 1642648030687, "protect_status" : 1, "access_status" : 0, "exclusive_ip" : false, "web_tag" : "iii", "paid_type" : "prePaid" } ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 云模式防护域名的数量 items Array of CloudWafHostItem objects 详细的云模式防护域名列表信息 表5 CloudWafHostItem 参数 参数类型 描述 id String 域名id hostid String 域名id region String 华为云区域ID,控制台创建的域名会携带此参数,api调用创建的域名此参数为空,可以通过华为云上地区和终端节点文档查询区域ID对应的中文名称 description String 域名描述信息,可选参数。 type Integer WAF部署模式,默认是1,目前仅支持反代模式,冗余参数 proxy Boolean 防护域名是否使用代理 false:不使用代理 true:使用代理 hostname String 创建的云模式防护域名 access_code String cname前缀 policyid String 防护策略id timestamp Long 创建防护域名的时间 protect_status Integer 域名防护状态: -1:bypass,该域名的请求直接到达其后端服务器,不再经过WAF 0:暂停防护,WAF只转发该域名的请求,不做攻击检测 1:开启防护,WAF根据您配置的策略进行攻击检测 access_status Integer 域名接入状态,0表示未接入,1表示已接入 exclusive_ip Boolean 是否使用用户独享的引擎公网ip,该参数为预留参数,用于后续功能扩展,用户可忽略 true:使用独享ip false:不使用独享ip paid_type String 套餐付费模式,默认值为prePaid。prePaid:包周期款模式;postPaid:按需模式。 web_tag String 网站名称,对应WAF控制台域名详情中的网站名称 flag Flag object 特殊标识,用于前端使用 表6 Flag 参数 参数类型 描述 pci_3ds String 是否开启pci_3ds合规认证 true:开启 false:不开启 枚举值: true false pci_dss String 是否开启pci_dss合规认证 true:开启 false:不开启 枚举值: true false cname String old:代表域名使用的老的cname,new:代表域名使用新的cname 枚举值: old new is_dual_az String 是否支持双AZ模式 true:支持 false:不支持 枚举值: true false ipv6 String 域名是否开启ipv6 true:支持 false:不支持 枚举值: true false 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 id String 证书ID name String 证书名 content String 证书文件,PEM编码 key String 证书私钥,PEM编码 expire_time Long 证书过期时间戳 exp_status Integer 证书过期状态,0-未过期,1-已过期,2-即将过期 timestamp Long 证书上传时间戳 bind_host Array of BindHost objects 证书关联的域名信息 表5 BindHost 参数 参数类型 描述 id String 域名ID hostname String 域名 waf_type String 域名对应模式:cloud(云模式)/premium(独享模式) mode String 仅独享模式涉及特殊域名模式 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应示例 状态码: 200 OK { "id" : "6e2be127b79f4a418414952ad5d8c59f", "name" : "certificatename94319", "content" : "-----BEGIN CERTIFICATE-----\nMIIB+TCCAaOgAwIBAgIUJP9I8OupQ77w0bGL2yWOQXreM4kwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxDzANBgNVBAoMBkh1YXdlaTEcMBoGA1UEAwwTd2FmLmh1YXdlaWNsb3VkLmNvbTAeFw0yMDA3MDkwNTQ2MDRaFw0yMDA4MDgwNTQ2MDRaMFExCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMQ8wDQYDVQQKDAZIdWF3ZWkxHDAaBgNVBAMME3dhZi5odWF3ZWljbG91ZC5jb20wXDANBgkqhkiG9w0BAQEFAANLADBIAkEA0UEbMzbvgOJTKrKcDUw9xjFqxM7BaQFM3SLsQlmD5hkzygyL1ra+cWajPJlTCxz9Ph6qldna2+OrIuTdvCcpjwIDAQABo1MwUTAdBgNVHQ4EFgQUE7ZQNcgl3lmryx1s5gy9mnC1rsYwHwYDVR0jBBgwFoAUE7ZQNcgl3lmryx1s5gy9mnC1rsYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAANBAM5wGi88jYWLgOnGbae5hH3I9lMBKxGqv17Cbm1tjWuUogVINz86lqvCpuhzLvD/vzJAqPIuDwqM8uvzjgRfZs8=\n-----END CERTIFICATE-----", "key" : "-----BEGIN RSA PRIVATE KEY-----\nMIIBOQIBAAJBANFBGzM274DiUyqynA1MPcYxasTOwWkBTN0i7EJZg+YZM8oMi9a2vnFmozyZUwsc/T4eqpXZ2tvjqyLk3bwnKY8CAwEAAQJBAI7LMPaH/HQk/b/bVmY0qsr+me9nb9BqFLuqwzKbx0hSmWPOWFsd3rOFlSopyHqgYtAsPfvPumEdGbdnCyU8zAECIQD71768K1ejb+ei2lqZqHaczqdUNQxMh54yot9F2yVWjwIhANS1Y1Jv89WEU/ZvvMS9a4638Msv2c4GGp08RtXNYn0BAiA0H4b+cwoEbZjHf+HYg6Fo+uxu5TvSaw8287a6Qo0LyQIfVZSlYYWplT6oiX5rdLzBiap4N0gJWdsa2ihmV59LAQIgK8N+j1daq63b0bJ9k4HruhQtpgxI6U9nFBemH4zTRYM=\n-----END RSA PRIVATE KEY-----", "timestamp" : 1650595334578, "expire_time" : 1596865564000, "bind_host" : [ { "id" : "978b411657624c2db069cd5484195d1c", "hostname" : "www.demo.com", "waf_type" : "cloud" } ] }
  • 响应示例 状态码: 200 OK { "id" : "27995fb98a2d4928a1e453e65ee8117a", "hostname" : "www.demo.com", "protocol" : "HTTP", "server" : [ { "address" : "192.168.0.209", "port" : 80, "type" : "ipv4", "weight" : 1, "front_protocol" : "HTTP", "back_protocol" : "HTTP", "vpc_id" : "cf6dbace-b36a-4d51-ae04-52a8459ae247" } ], "proxy" : false, "locked" : 0, "timestamp" : 1650590814885, "flag" : { "pci_3ds" : "false", "pci_dss" : "false" }, "description" : "", "policyid" : "9555cda636ef4ca294dfe4b14bc94c47", "domainid" : "d4ecb00b031941ce9171b7bc3386883f", "projectid" : "05e33ecd328025dd2f7fc00696201fb4", "enterprise_project_id" : "0", "protect_status" : 1, "access_status" : 0 }
  • 响应示例 状态码: 200 OK { "eps" : true, "tls" : true, "ipv6" : true, "alert" : true, "custom" : true, "ip_group" : true, "event_lts" : true, "multi_dns" : true, "search_ip" : true, "cc_enhance" : true, "cname_switch" : true, "custom_block" : true, "geoip_enable" : true, "http2_enable" : true, "advanced_ignore" : true, "js_crawler_enable" : true, "deep_decode_enable" : true, "overview_bandwidth" : true, "proxy_use_oldcname" : false, "load_balance_enable" : true, "robot_action_enable" : true, "policy_sharing_enable" : true, "timeout_config_enable" : true, "ipv6_protection_enable" : true, "check_all_headers_enable" : true, "elb_mode" : true }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 eps Boolean 是否支持EPS,false:不支持;true:支持 tls Boolean 是否支持的TLS版本(TLS v1.0/TLS v1.1/TLS v1.2),默认为TLS v1.0版本,false:不支持;true:支持 ipv6 Boolean 是否支持IPV6,false:不支持;true:支持 alert Boolean 是否支持告警,false:不支持;true:支持 custom Boolean 是否支持精准防护,false:不支持;true:支持 elb_mode Boolean 是否支持ELB模式,false:不支持;true:支持 event_lts Boolean 是否支持LTS全量日志,false:不支持;true:支持 multi_dns Boolean 是否支持多DNS解析,false:不支持;true:支持 search_ip Boolean 是否支持搜索IP,false:不支持;true:支持 cc_enhance Boolean 是否支持CC增强,false:不支持;true:支持 cname_switch Boolean 是否支持cname切换,false:不支持;true:支持 custom_block Boolean 是否支持自定义拦截页面,false:不支持,true:支持 advanced_ignore Boolean 是否支持误报屏蔽,false:不支持;true:支持 js_crawler_enable Boolean 是否支持js反爬虫,false:不支持;true:支持 deep_decode_enable Boolean 是否支持web基础防护深度检测,false:不支持;true:支持 overview_bandwidth Boolean 是否支持安全总览带宽统计,false:不支持;true:支持 proxy_use_oldcname Boolean 是否支持使用旧cname解析,false:不支持;true:支持 check_all_headers_enable Boolean 是否支持检查所有的header,false:不支持;true:支持 geoip_enable Boolean 是否支持地理位置访问控制,false:不支持;true:支持 load_balance_enable Boolean 是否支持域名访问负载均衡配置,false:不支持;true:支持 ipv6_protection_enable Boolean 是否支持ipv6防护,false:不支持;true:支持 policy_sharing_enable Boolean 是否支持策略共享,false:不支持;true:支持 ip_group Boolean 是否支持ip地址组,false:不支持;true:支持 robot_action_enable Boolean 是否支持网站反爬虫,false:不支持;true:支持 http2_enable Boolean 是否支持http2,false:不支持;true:支持 timeout_config_enable Boolean 是否支持超时配置,false:不支持;true:支持 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应示例 状态码: 200 OK { "id" : "ee896796e1a84f3f85865ae0853d8974", "hostname" : "www.demo.com", "protocol" : "HTTPS", "server" : [ { "address" : "1.2.3.4", "port" : 443, "type" : "ipv4", "weight" : 1, "front_protocol" : "HTTPS", "back_protocol" : "HTTPS", "vpc_id" : "ebfc553a-386d-4746-b0c2-18ff3f0e903d" } ], "proxy" : false, "locked" : 0, "timestamp" : 1650593801380, "tls" : "TLS v1.0", "cipher" : "cipher_1", "flag" : { "pci_3ds" : "false", "pci_dss" : "false" }, "description" : "", "policyid" : "df15d0eb84194950a8fdc615b6c012dc", "domainid" : "0ee78615ca08419f81f539d97c9ee353", "projectid" : "550500b49078408682d0d4f7d923f3e1", "protect_status" : 1, "access_status" : 0, "certificateid" : "360f992501a64de0a65c50a64d1ca7b3", "certificatename" : "certificatename75315" }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 id String 证书ID name String 证书名 expire_time Long 证书过期时间戳 timestamp Long 时间戳 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 内容类型 缺省值:application/json;charset=utf8 表4 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 证书名称,证书名称只能由数字、字母、中划线、下划线和英文句点组成,长度不能超过64位字符 content 否 String 证书文件,仅支持PEM格式的证书和私钥文件,且文件中的换行符应以\n替换 key 否 String 证书私钥,仅支持PEM格式的证书和私钥文件,且文件中的换行符应以\n替换
  • 修订记录 发布日期 修改说明 2024-01-26 第三十四次正式发布。 修改: “查询安全总览分类统计top信息”:支持设置语言。 “错误码”:增加了策略配额不足的错误码。 2023-12-30 第三十三次正式发布。 增加“权限和授权项”章节。 2023-11-30 第三十二次正式发布。 修改“获取云模式域名路由信息”章节。 2023-09-18 第三十一次正式发布。 修改“更新防护策略”,增加示例。 2023-09-01 第三十次正式发布。 企业项目的描述,增加缺省值。 2023-08-01 第二十九次正式发布。 增加“地理位置编码”。 2023-07-14 第二十八次正式发布。 修改: “购买包周期云模式waf” “查询精准防护规则列表” 2023-06-19 第二十七次正式发布。 以下接口中增加了“forward_header_map”字段: “创建云模式防护域名” “查询云模式防护域名列表” “更新云模式防护域名的配置” “创建独享模式域名” “查看独享模式域名列表” “查看独享模式域名配置” “修改独享模式域名配置” 2023-06-16 第二十六次正式发布。 接口示例增加示例描述。 2023-04-20 第二十五次正式发布。 接口参数描述优化。 2023-03-31 第二十四次正式发布。 新增接口:查询黑白名单防护规则、查询隐私屏蔽防护规则、查询防篡改防护规则、查询引用表。 2023-03-24 第二十三次正式发布。 新增接口:CC防护规则、精准防护规则、反爬虫规则、攻击惩罚规则和敏感数据防泄漏规则。 2023-02-09 第二十二次正式发布。 修改“创建云模式防护域名”。 2023-01-06 第二十一次正式发布。 修改“查询安全统计带宽数据”。 2022-11-23 第二十次正式发布。 新增以下接口: “购买包周期云模式waf” “变更包周期云模式waf规格” “查询租户订购信息” 2022-11-15 第十九次正式发布。 新增以下接口: “告警管理”相关的接口。 “系统管理”相关的接口。 “租户防护域名管理”相关接口。 2022-11-04 第十八次正式发布。 新增以下接口: “地址组管理”相关的接口。 “独享实例管理”相关的接口。 “日志配置管理”相关的接口。 2022-10-25 第十七次正式发布。 修改“创建云模式防护域名”:修改相关参数描述。 2022-10-09 第十六次正式发布。 修改内容如下: “查询地理位置访问控制规则列表”:修改“geoip”参数的描述内容。 “创建地理位置控制规则”:修改“geoip”参数的描述内容。 “更新地理位置控制防护规则”:修改“geoip”参数的描述内容。 “删除地理位置控制防护规则”:修改“geoip”参数的描述内容。 2022-09-27 第十五次正式发布。 修改“删除全局白名单(原误报屏蔽)防护规则”中响应体中rule参数指定类型为String。 2022-09-08 第十四次正式发布。 修改内容如下: “删除全局白名单(原误报屏蔽)防护规则” “查询全局白名单(原误报屏蔽)规则列表” “创建全局白名单(原误报屏蔽)规则” 2022-09-02 第十三次正式发布。 修改“查询安全总览请求与攻击数量”~“查询安全总览分类统计top信息”章节,修改了请求参数hosts和instances的参数类型。 2022-08-26 第十二次正式发布。 增加“查询安全总览中请求次数时间线统计数据”接口。 2022-08-15 第十一次正式发布。 “API”章节,优化参数描述。 2022-07-04 第十次正式发布。 新增“查询安全总览分类统计top信息”接口。 2022-04-24 第九次正式发布。 补充各API的请求示例和响应示例。 2021-12-02 第八次正式发布。 新增“历史API”章节。 2021-12-01 第七次正式发布。 “错误码”章节,更新内容描述。 2021-11-24 第六次正式发布。 “API”章节,优化参数描述。 2021-10-19 第五次正式发布。 更新策略规则管理接口内容。 2021-08-25 第四次正式发布。 更新云模式域名接口内容。 2021-07-27 第三次正式发布。 更新API接口。 2021-07-08 第二次正式发布。 优化API参数描述。 2021-06-18 第一次正式发布。
  • 响应示例 状态码: 200 ok { "total" : 1, "items" : [ { "id" : "c06ec2e5d93241a694fcd9e0312657a1", "policyid" : "0681f69f94ac408e9688373e45a61fdb", "name" : "test", "timestamp" : 1678931359146, "status" : 1, "type" : "anticrawler_except_url", "conditions" : [ { "category" : "url", "contents" : [ "/test" ], "logic_operation" : "contain" } ], "priority" : 50 } ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 该策略下反爬虫规则数量 items Array of AnticrawlerRule objects 反爬虫规则列表 表5 AnticrawlerRule 参数 参数类型 描述 id String 规则id policyid String 策略id conditions Array of AnticrawlerCondition objects 匹配条件列表 name String 规则名称 type String JS脚本反爬虫规则类型,指定防护路径:anticrawler_specific_url 排除防护路径:anticrawler_except_url timestamp Long 创建规则时间戳 status Integer 规则状态,0:关闭,1:开启 priority Integer 执行该规则的优先级,值越小,优先级越高,值相同时,规则创建时间早,优先级越高。取值范围:0到1000。 表6 AnticrawlerCondition 参数 参数类型 描述 category String 字段类型 枚举值: url user-agent logic_operation String 条件列表匹配逻辑, 包括:contain、not_contain、equal、not_equal、prefix、not_prefix、suffix、not_suffix、contain_any、not_contain_all、equal_any、not_equal_all、prefix_any、not_prefix_all、suffix_any、not_suffix_all contents Array of strings 条件列表逻辑匹配内容。当logic_operation参数不以any或者all结尾时,需要传该参数。 value_list_id String 引用表id。当logic_operation参数以any或者all结尾时,需要传该参数。此外,引用表类型要与category类型保持一致。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 请求示例 查询项目id为project_id,时间从2022-05-19 00:00:00到2022-06-17 11:14:41,域名id为“1bac09440a814aa98ed08302c580a48b”,引擎实例id为“5a532f83a2fb476ba51ca1de7b1ebc43”的top10安全总览分类统计信息 GET https://{Endpoint}/v1/{project_id}/waf/overviews/classification?enterprise_project_id=0&from=1652889600354&to=1655435681354&top=10&hosts=1bac09440a814aa98ed08302c580a48b&instances=5a532f83a2fb476ba51ca1de7b1ebc43
  • 响应示例 状态码: 200 ok { "attack_type" : { "total" : 1, "items" : [ { "key" : "custom_custom", "num" : 2 } ] }, "domain" : { "total" : 2, "items" : [ { "key" : "www.whitelist.com", "num" : 2, "web_tag" : "www.whitelist.com" }, { "key" : "zbx002.apayaduo.cn", "num" : 2, "web_tag" : "" } ] }, "geo" : { "total" : 1, "items" : [ { "key" : "上海", "num" : 2 } ] }, "ip" : { "total" : 1, "items" : [ { "key" : "10.142.4.15", "num" : 2 } ] }, "url" : { "total" : 1, "items" : [ { "key" : "/attack", "num" : 2, "host" : "www.whitelist.com" } ] } }
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值) Content-Type 是 String 内容类型 缺省值:application/json;charset=utf8 X-Language 否 String 语言,默认值为en-us。zh-cn(中文)/en-us(英文)
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 domain DomainClassificationItem object 受攻击域名 attack_type AttackTypeClassificationItem object 攻击事件分布 ip IpClassificationItem object 攻击源ip url UrlClassificationItem object 受攻击url geo GeoClassificationItem object 攻击来源区域 表5 DomainClassificationItem 参数 参数类型 描述 total Integer DomainItem的总数量 items Array of DomainItem objects DomainItem详细信息 表6 DomainItem 参数 参数类型 描述 key String 域名 num Integer 数量 web_tag String 网站名称,对应WAF控制台域名详情中的网站名称 表7 AttackTypeClassificationItem 参数 参数类型 描述 total Integer AttackTypeItem的总数量 items Array of AttackTypeItem objects AttackTypeItem详细信息 表8 AttackTypeItem 参数 参数类型 描述 key String 攻击事件类型 num Integer 数量 表9 IpClassificationItem 参数 参数类型 描述 total Integer IpItem的总数量 items Array of IpItem objects IpItem详细信息 表10 IpItem 参数 参数类型 描述 key String ip地址 num Integer 数量 表11 UrlClassificationItem 参数 参数类型 描述 total Integer UrlItem的总数量 items Array of UrlItem objects UrlItem详细信息 表12 UrlItem 参数 参数类型 描述 key String url路径 num Integer 数量 host String 域名 表13 GeoClassificationItem 参数 参数类型 描述 total Integer GeoItem的总数量 items Array of GeoItem objects GeoItem详细信息 表14 GeoItem 参数 参数类型 描述 key String 攻击来源区域 num Integer 数量 状态码: 400 表15 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表16 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表17 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 id String 规则id policyid String 策略id hostname String 防篡改的域名 url String 防篡改的url, description String 创建规则的时间戳 status Integer 规则状态,0:关闭,1:开启 timestamp Long 创建规则的时间,格式为13位毫秒时间戳 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 响应示例 状态码: 200 请求成功 { "id" : "b77c3182957b46ed8f808a1998245cc4", "policyid" : "bdba8e224cbd4d11915f244c991d1720", "timestamp" : 1647499571037, "description" : "", "status" : 0, "hostname" : "www.demo.com", "url" : "/sdf" }
  • 响应示例 状态码: 200 OK { "total" : 1, "items" : [ { "id" : "40484384970948d79fffe4e4ae1fc54d", "policyid" : "f385eceedf7c4c34a4d1def19eafbe85", "timestamp" : 1650512535222, "description" : "demo", "status" : 1, "rule" : "091004", "mode" : 1, "conditions" : [ { "category" : "ip", "contents" : [ "x.x.x.x" ], "logic_operation" : "equal" } ], "domain" : [ "we.test.418lab.cn" ] } ] }
  • 响应示例 状态码: 200 OK { "id" : "e91ad96e379b4bea84f8fcda3d153370", "hostname" : "www.demo.com", "protocol" : "HTTP", "server" : [ { "address" : "x.x.x.x", "port" : 80, "type" : "ipv4", "weight" : 1, "front_protocol" : "HTTP", "back_protocol" : "HTTP" }, { "address" : "1.1.1.4", "port" : 80, "type" : "ipv4", "weight" : 1, "front_protocol" : "HTTP", "back_protocol" : "HTTP" } ], "proxy" : false, "locked" : 0, "timestamp" : 1650423573577, "flag" : { "pci_3ds" : "false", "pci_dss" : "false", "ipv6" : "false", "cname" : "new", "is_dual_az" : "true" }, "description" : "", "policyid" : "f385eceedf7c4c34a4d1def19eafbe85", "domainid" : "d4ecb00b031941ce9171b7bc3386883f", "projectid" : "0456cf04d6f64725ab02ed5bd2efdfa4", "enterprise_project_id" : "0", "protect_status" : 1, "access_status" : 0, "access_code" : "4f5372610cdc44f7970759fcca138c81", "block_page" : { "template" : "default" }, "web_tag" : "we", "exclusive_ip" : false, "http2_enable" : false }
  • 请求示例 更新项目id为project_id,域名id是instance_id的域名下的两个源站服务器,第一个源站服务器的IP地址是x.x.x.x,端口号是80,源站地址是ipv4的,源站权重是1,客户端请求访问防护域名源站服务器的协议和WAF转发客户端请求到防护域名源站服务器的协议都是HTTP协议;第二个源站服务器的IP地址是x.x.x.x,端口号是80,源站地址是ipv4的,客户端请求访问防护域名源站服务器的协议和WAF转发客户端请求到防护域名源站服务器的协议都是HTTP协议;域名关闭了ipv6防护。 PATCH https://{Endpoint}/v1/{project_id}/waf/instance/{instance_id}?enterprise_project_id=0 { "server" : [ { "address" : "x.x.x.x", "port" : "80", "type" : "ipv4", "weight" : 1, "front_protocol" : "HTTP", "back_protocol" : "HTTP" }, { "front_protocol" : "HTTP", "back_protocol" : "HTTP", "type" : "ipv4", "address" : "x.x.x.x", "port" : "80" } ], "ipv6_enable" : false }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 protect_status Integer 域名防护状态: -1:bypass,该域名的请求直接到达其后端服务器,不再经过WAF 0:暂停防护,WAF只转发该域名的请求,不做攻击检测 1:开启防护,WAF根据您配置的策略进行攻击检测 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 内容类型 缺省值:application/json;charset=utf8 表4 请求Body参数 参数 是否必选 参数类型 描述 protect_status 是 Integer 域名防护状态: -1:bypass,该域名的请求直接到达其后端服务器,不再经过WAF 0:暂停防护,WAF只转发该域名的请求,不做攻击检测 1:开启防护,WAF根据您配置的策略进行攻击检测
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Content-Type 是 String 内容类型 缺省值:application/json;charset=utf8 表4 请求Body参数 参数 是否必选 参数类型 描述 category 是 String 攻击惩罚类别 枚举值: long_ip_block long_cookie_block long_params_block short_ip_block short_cookie_block short_params_block block_time 是 Integer 拦截时间,如果选择前缀为long的攻击惩罚类别,则block_time时长范围设置为301-1800;选择前缀为short的攻击惩罚类别,则block_time时长范围为0-300之间 description 否 String 规则描述
  • 响应示例 状态码: 200 请求成功 { "block_time" : 1233, "category" : "long_ip_block", "description" : "demo", "id" : "2c3afdcc982b429da4f72ee483aece3e", "policyid" : "2fcbcb23ef0d48d99d24d7dcff00307d", "timestamp" : 1668148186106 }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 id String 规则id policyid String 所属策略id block_time Integer 拦截时间 category String 攻击惩罚类别 description String 规则描述 timestamp Long 创建规则时间戳 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 401 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息 状态码: 500 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误信息
  • 请求示例 在项目id为project_id,防护策略id为policy_id的防护策略下创建攻击惩罚规则,攻击惩罚规则的攻击惩罚规则为“long_ip_block”,拦截时间为1233秒,规则描述为“demo"。 POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/punishment? { "category" : "long_ip_block", "block_time" : "1233", "description" : "demo" }
共100000条