Configura las reglas de protección de WAF.
Descripción de la operación
Límite de frecuencia por usuario: 20 llamadas por segundo.
Pruébelo ahora
Test
Autorización de RAM
|
Action |
Nivel de acceso |
Tipo de recurso |
Clave de condición |
Acción dependiente |
|
dcdn:BatchCreateDcdnWafRules |
create |
*All resources.
|
Ninguna | Ninguna |
Parámetros de la solicitud
|
Parámetro |
Tipo |
Obligatorio |
Descripción |
Ejemplo |
| PolicyId |
integer |
Sí |
El ID de la política. |
1000001 |
| RuleConfigs |
string |
Sí |
La configuración de las reglas de protección. |
[{"name":"example","action":"monitor","conditions":[{"key":"URL","opValue":"match-one","values":"1,2,3,4,5"},{"key":"Header","opValue":"contain-one","subKey":"example_subkey","values":"6,7,8,9,10"}],"ratelimit":{"target":"header","interval":10,"threshold":5,"ttl":1800,"subKey":"example_subkey","status":{"code":"502","count":5}},"ccStatus":"on","effect":"rule","status":"on"}] |
Descripción del valor de RuleConfigs
RuleConfigs es una lista, donde cada estructura representa una regla.
El formato de RuleConfigs varía según el tipo de política de protección especificado por PolicyId.
Escenario de protección 1: Protección de expresiones regulares web (waf_group)
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| status | String | No | on | El interruptor de la regla de protección. Valores válidos: on (habilitar) y off (deshabilitar). Valor predeterminado: on. |
| action | String | Sí | block | La acción de la regla. Valores válidos: block (bloquear solicitudes) y monitor (monitorear solicitudes). |
| wafGroupIds | String | No | 1012 | El ID del grupo de reglas de WAF. Valor predeterminado: 1012. Separe varios ID con comas (,). |
Ejemplo de configuración de waf_group:
// La protección de expresiones regulares web actualmente solo admite una regla por política.
[
{
"status": "on",
"action": "block"
}
]
Escenario de protección 2: Reglas personalizadas (custom_acl)
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| name | string | Sí | acl_1 | El nombre de la regla de protección. El nombre puede contener letras, dígitos y guiones bajos (_), y tener una longitud máxima de 64 caracteres. |
| status | string | No | on | El interruptor de la regla de protección. Valores válidos: on (habilitar) y off (deshabilitar). Valor predeterminado: on. |
| conditions | Condition | Sí | [ {"key": "URI", "subKey": "","opValue": "contain", "values": "/login.php" }] | Las condiciones que activan la regla. Para obtener más información sobre los parámetros, consulte la Tabla 1 Descripción de métricas de Condition. |
| ccStatus | string | Sí | off | El interruptor de control de frecuencia. Valores válidos: on (habilitar) y off (deshabilitar). |
| rateLimit | RateLimit | No | { "target": "Header", "subKey": "User-Agent", "interval": 5, "threshold": 2, "ttl": 1800} | La regla de control de frecuencia. Este parámetro es obligatorio cuando ccStatus se establece en on. Para obtener más información sobre los parámetros, consulte la Tabla 2 Descripción de métricas de RateLimit. |
| effect | string | No | service | El ámbito de efectividad de la lista negra de control de frecuencia. Este parámetro es obligatorio cuando ccStatus se establece en on. Valores válidos: rule (efectivo para la regla actual) y service (efectivo globalmente). |
| action | string | Sí | deny | La acción de la regla. Valores válidos: deny (bloquear), js (verificación de JavaScript) y monitor (monitorear). |
Tabla 1 Descripción de métricas de Condition
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| Key | string | Sí | Query String Parameter | El campo de coincidencia. Para obtener más información, consulte DescribeDcdnWafFilterInfo. |
| subKey | string | No | action | El subcampo de coincidencia. Para obtener más información, consulte DescribeDcdnWafFilterInfo. |
| opValue | String | Sí | eq | El operador lógico. Para obtener más información, consulte DescribeDcdnWafFilterInfo. |
| values | String | No | js | El contenido de coincidencia. Separe varios valores con comas (,). Para obtener más información, consulte DescribeDcdnWafFilterInfo. |
Tabla 2 Descripción de métricas de RateLimit
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| target | string | Sí | Header | El campo estadístico para el control de frecuencia. Valores válidos: IP (cuenta la frecuencia de solicitudes desde la misma dirección IP), Header (cuenta la frecuencia de solicitudes que contienen el encabezado especificado), Query String Parameter (cuenta la frecuencia de solicitudes que contienen el parámetro especificado), Cookie Name (cuenta la frecuencia de solicitudes que contienen la cookie especificada) y Session (cuenta la frecuencia de solicitudes desde la misma sesión). |
| subKey | string | No | User-Agent | El subcampo del campo unificado. Este parámetro es obligatorio cuando target se establece en Header, Query String Parameter o Cookie Name. |
| Interval | Integer | Sí | 5 | El período estadístico. Valores válidos: de 5 a 1800. Unidad: segundos. |
| threshold | Integer | Sí | 2 | El umbral estadístico. Valores válidos: de 2 a 500000. Unidad: veces. |
| ttl | Integer | Sí | 1800 | El período de tiempo de espera de la lista negra. Valores válidos: de 60 a 86400. Unidad: segundos. |
| status | RateLimitStatus | No | {"code": "404", "ratio": 10} | Las estadísticas de códigos de respuesta. Para obtener más información sobre los parámetros, consulte la Tabla 3 Descripción de métricas de RateLimitStatus. |
Tabla 3 Descripción de métricas de RateLimitStatus
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| codet | string | Sí | 404 | El código de estado HTTP. |
| ratio | Integer | No | 10 | El porcentaje estadístico (%). Valores válidos: de 1 a 100. Este parámetro y el parámetro count son mutuamente excluyentes. |
| count | Integer | No | 10 | El recuento estadístico. Valores válidos: de 2 a 50000. Este parámetro y el parámetro ratio son mutuamente excluyentes. |
Ejemplo de configuración de custom_acl:
[
// Control de acceso
{
"name": "acl_1",
"status": "off",
"conditions":
[
{
"key": "Query String Parameter",
"subKey": "action",
"opValue": "eq",
"values": "js"
}
],
"ccStatus": "off",
"action": "js"
},
// Control de frecuencia
{
"name": "cc_1",
"status": "on",
"conditions":
[
{
"key": "URI",
"subKey": "",
"opValue": "contain",
"values": "/login.php"
},
{
"key": "IP",
"subKey": "",
"opValue": "ip-contain",
"values": "192.168.0.1/24"
}
],
"ccStatus": "on",
"ratelimit":
{
"target": "Header",
"subKey": "User-Agent",
"interval": 5,
"threshold": 2,
"ttl": 1800,
"status":
{
"code": "404",
"ratio": 10
}
},
"effect": "service",
"action": "deny"
}
]
Escenario de protección 3: Lista blanca (whitelist)
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| name | string | Sí | on | El nombre de la regla de protección. El nombre puede contener letras, dígitos y guiones bajos (_), y tener una longitud máxima de 64 caracteres. |
| status | string | No | on | El interruptor de la regla de protección. Valores válidos: on (predeterminado, habilitar) y off (deshabilitar). |
| conditions | Condition | Sí | [{ "key": "Http-Method","subKey": "","opValue": "match-one", "values": "GET,POST,DELETE" }] | Las condiciones que activan la regla. Para obtener más información sobre los parámetros, consulte la Tabla 1 Descripción de métricas de Condition. |
| tags | String | Sí | [ "waf_group", "custom_acl"] | La lista de tipos de políticas de protección. |
| regularTypes | String | No | [ [ "sqli", "xss","code_exec", "crlf", "lfilei", "rfilei", "webshell","vvip", "other"] | El tipo de regla de expresión regular. Este parámetro se puede especificar cuando waf_group se incluye en tags. Valores válidos: sqli, xss, code_exec, crlf, lfilei, rfilei, webshell, vvip y other. |
| regularRules | String | No | [ "100001", "100002", "100003"] | La regla de expresión regular. Este parámetro se puede especificar cuando waf_group se incluye en tags. Este parámetro y regularTypes son mutuamente excluyentes. El valor es una lista de cadenas de seis dígitos. |
Ejemplo de configuración de whitelist:
[
// Omitir todos los escenarios
{
"name": "wl_all",
"status": "on",
"conditions":
[
{
"key": "Http-Method",
"subKey": "",
"opValue": "match-one",
"values": "GET,POST,DELETE"
}
],
"tags":
[
"waf_group",
"custom_acl",
"ip_blacklist",
"region_block"
]
},
// Omitir ID de reglas especificados en waf_group
{
"name": "wl_waf_id",
"status": "off",
"conditions":
[
{
"key": "Cookie Name",
"subKey": "cdn-sec",
"opValue": "prefix-match",
"values": "a7sdsa9dsa8d8sa"
},
{
"key": "Referer",
"subKey": "",
"opValue": "none",
"values": ""
}
],
"tags":
[
"waf_group"
],
"regularRules":
[
"100001",
"100002",
"100003"
]
},
{
// Omitir tipos de reglas especificados en waf_group
"name": "wl_waf_type",
"status": "on",
"conditions":
[
{
"key": "Query String",
"subKey": "",
"opValue": "exists",
"values": ""
}
],
"tags":
[
"waf_group"
],
"regularTypes":
[
"sqli",
"xss",
"code_exec",
"crlf",
"lfilei",
"rfilei",
"webshell",
"vvip",
"other"
]
},
// Omitir reglas personalizadas
{
"name": "wl_custom_acl",
"status": "on",
"conditions":
[
{
"key": "Http-Method",
"subKey": "",
"opValue": "match-one",
"values": "GET,POST,DELETE"
}
],
"tags":
[
"custom_acl"
]
},
// Omitir lista negra de IP
{
"name": "wl_ip_blacklist",
"status": "on",
"conditions":
[
{
"key": "Http-Method",
"subKey": "",
"opValue": "match-one",
"values": "GET,POST,DELETE"
}
],
"tags":
[
"ip_blacklist"
]
},
// Omitir bloqueo de región
{
"name": "wl_region_block",
"status": "on",
"conditions":
[
{
"key": "Http-Method",
"subKey": "",
"opValue": "match-one",
"values": "GET,POST,DELETE"
}
],
"tags":
[
"region_block"
]
}
]
Escenario de protección 4: Lista negra de IP (ip_blacklist)
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| name | string | Sí | ipblacklist | El nombre de la regla de protección. El nombre puede contener letras, dígitos y guiones bajos (_), y tener una longitud máxima de 64 caracteres. |
| status | string | No | on | El interruptor de la regla de protección. Valores válidos: on (habilitar) y off (deshabilitar). Valor predeterminado: on. |
| remoteAddr | []String | Sí | ["192.168.0.1","10.10.10.10/24","::1","abcd::abcd","BCDE::BCDE"] | Filtra por dirección IP. Para obtener más información, consulte DescribeDcdnWafFilterInfo. |
| action | string | Sí | deny | La acción de la regla. Valores válidos: deny (bloquear) y monitor (monitorear). |
Ejemplo de configuración de ipblacklist:
[
{
"name": "ipblacklist",
"status": "on",
"remoteAddr": ["192.168.0.1","10.10.10.10/24","::1","abcd::abcd","BCDE::BCDE"],
"action": "deny"
}
]
Escenario de protección 5: Bloqueo de región (region_block)
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| status | string | No | on | El interruptor de la regla de protección. Valores válidos: on (habilitar) y off (deshabilitar). Valor predeterminado: on. |
| cnRegionList | string | No | 110000,TW,MO | Las regiones bloqueadas en China continental, separadas por comas (,). Para obtener más información sobre las regiones admitidas, consulte DescribeDcdnWafGeoInfo. |
| otherRegionList | string | No | JP,GB | Las regiones bloqueadas fuera de China continental, separadas por comas (,). Para obtener más información sobre las regiones admitidas, consulte DescribeDcdnWafGeoInfo. |
| action | string | Sí | deny | La acción de la regla. Valores válidos: deny (bloquear) y monitor (monitorear). |
Debe especificar al menos uno de cnRegionList y otherRegionList.
Ejemplo de configuración de region_block:
[
{
"status": "on",
"cnRegionList": "110000,TW,MO",
"otherRegionList": "JP,GB",
"action": "deny"
}
]
Escenario de protección 6: Gestión de bots (bot)
Plantilla de regla
Todos los parámetros de regla incluyen los siguientes cuatro campos. Para valores específicos, consulte la categoría de regla correspondiente.
| Parámetro | Tipo | Obligatorio | Descripción |
| type | String | Sí | El tipo de regla. Para más información, consulte la categoría de regla específica. |
| status | String | Sí | El estado de la regla. Valores válidos: on (habilitado) y off (deshabilitado). |
| config | TargetType | No | La configuración de la regla. Para más información, consulte la categoría de regla específica. |
| action | String | No | La acción de la regla. Para más información, consulte la categoría de regla específica. |
Categoría de regla 1: Tipo de objeto protegido
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| type | String | Sí | target_type | El tipo de regla. Establezca el valor en target_type. |
| status | String | Sí | on | El interruptor de la regla. Valor válido: on (habilitado). |
| config | TargetType | No | {"target":"app"} | La configuración de la regla. Formato: target: el tipo de objeto protegido. Obligatorio. Valores válidos: web (páginas web/navegadores) y app (aplicaciones). |
| action | String | No | Vacío | La acción de la regla. No aplica aquí. Establézcalo en un valor vacío. |
Ejemplo de configuración de tipo de objeto protegido:
[
{
"type":"target_type",
"status":"on",
"config":{"target":"app"},
"action":""
}
]
Categoría de regla 2: Integración de Web SDK
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| type | String | Sí | web_sdk | El tipo de regla. Establezca el valor en web_sdk. |
| status | String | Sí | on | El interruptor de la regla. Valor válido: on (habilitado). |
| config | WebSdk | No | {"mode":"automatic","crossDomain":"example.com"} | La configuración de la regla. Formato: mode: el método de integración de Web SDK. Obligatorio. Valores válidos: automatic (integración automática) y manual (integración manual). crossDomain: la llamada de nombre de dominio entre dominios. Opcional. Este parámetro solo surte efecto cuando mode se establece en automatic. |
| action | String | No | Vacío | La acción de la regla. No aplica aquí. Establézcalo en un valor vacío. |
Ejemplo de configuración de integración de Web SDK:
[
{
"type":"web_sdk",
"status":"on",
"config":{"mode":"automatic","crossDomain":"example.com"},
"action":""
}
]
Categoría de regla 3: Características del tráfico
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| type | String | Sí | traffic_feature | El tipo de regla. Establezca el valor en traffic_feature. |
| status | String | Sí | on | El interruptor de la regla. Valor válido: on (habilitado). |
| config | TrafficFeature | Sí | {"conditions":[{"key":"Header","subKey":"User-Agent","opValue":"contain","values":"Chrome"},{"key":"IP","subKey":"","opValue":"ip-contain","values":"192.168.0.1/24"}]} | La configuración de la regla. Para más información, consulte condition. |
| action | String | No | Vacío | La acción de la regla. No aplica aquí. Establézcalo en un valor vacío. |
condition (Condiciones de coincidencia)
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| key | String | Sí | Header | El campo de coincidencia. Para valores específicos, consulte DescribeDcdnWafFilterInfo. |
| subKey | String | No | User-Agent | El subcampo de coincidencia. Para valores específicos, consulte DescribeDcdnWafFilterInfo. |
| opValue | String | Sí | contain | El operador. Para valores específicos, consulte DescribeDcdnWafFilterInfo. |
| values | String | No | Chrome | El contenido de coincidencia. Separe varios valores con comas (,). Para valores específicos, consulte DescribeDcdnWafFilterInfo. |
Ejemplo de configuración de características del tráfico:
[
{
"type":"traffic_feature",
"status":"on",
"config":{"conditions":[{"key":"Header","subKey":"User-Agent","opValue":"contain","values":"Chrome"},{"key":"IP","subKey":"","opValue":"ip-contain","values":"192.168.0.1/24"}]},
"action":""
}
]
Categoría de regla 4: Gestión de bots legítimos
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| type | String | Sí | intelligence_crawler | El tipo de regla. Establezca el valor en intelligence_crawler. |
| status | String | Sí | on | El interruptor de la regla. Valor válido: on (habilitado). |
| config | IntelligenceCrawler | No | {"name":"intelligence_crawler_baidu"} | La configuración de la regla. Para valores válidos, consulte name (Lista blanca de bots de motores de búsqueda). |
| action | String | Sí | bypass | La acción de la regla. Valor válido: bypass (permitir). |
name (Lista blanca de bots de motores de búsqueda)
| Valor | Descripción |
| intelligence_crawler_all | Lista blanca de motores de búsqueda legítimos (Google, Bing, Baidu, Sogou, 360, Yandex) |
| intelligence_crawler_baidu | Lista blanca de bots de Baidu |
| intelligence_crawler_sogou | Lista blanca de bots de Sogou |
| intelligence_crawler_360 | Lista blanca de bots de 360 |
| intelligence_crawler_google | Lista blanca de bots de Google |
| intelligence_crawler_bing | Lista blanca de bots de Bing |
| intelligence_crawler_yandex | Lista blanca de bots de Yandex |
Ejemplo de configuración de gestión de bots legítimos:
[
{
"type":"intelligence_crawler",
"status":"on",
"config":{"name":"intelligence_crawler_baidu"},
"action":"bypass"
},
{
"type":"intelligence_crawler",
"status":"on",
"config":{"name":"intelligence_crawler_google"},
"action":"bypass"
}
]
Categoría de regla 5: Filtrado de scripts simple (desafío de JavaScript)
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| type | String | Sí | js | El tipo de regla. Establezca el valor en js. |
| status | String | Sí | on | El interruptor de la regla. Valores válidos: on (habilitado) y off (deshabilitado). |
| config | Js | No | Vacío | La configuración de la regla. No aplica aquí. Establézcalo en un valor vacío. |
| action | String | Sí | js | La acción de la regla. Valor válido: js (verificación de JavaScript). |
Ejemplo de configuración de filtrado de scripts simple (desafío de JavaScript):
[
{
"type":"js",
"status":"on",
"config":{},
"action":"js"
}
]
Categoría de regla 6: Protección avanzada contra bots (desafío de token dinámico)
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| type | String | Sí | sigchl | El tipo de regla. Establezca el valor en sigchl. |
| status | String | Sí | on | El interruptor de la regla. Valores válidos: on (habilitado) y off (deshabilitado). |
| config | Sigchl | No | {"sigchl":["sig","replay","driver"]} | La configuración de la regla. Formato: sigchl: la verificación de firma de datos de solicitud. Obligatorio. Valores válidos: sig (excepción de verificación de firma), replay (excepción de marca de tiempo de firma) y driver (ataque de WebDriver). |
| action | String | Sí | sigchl | La acción de la regla. Valor válido: sigchl (bloquear). |
Ejemplo de configuración de protección avanzada contra bots (desafío de token dinámico):
[
{
"type":"sigchl",
"status":"on",
"config":{"sigchl":["sig","replay","driver"]},
"action":"sigchl"
}
]
Categoría de regla 7: Protección inteligente basada en IA
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| type | String | Sí | algorithm | El tipo de regla. Establezca el valor en algorithm. |
| status | String | Sí | on | El interruptor de la regla. Valores válidos: on (habilitado) y off (deshabilitado). |
| config | Algorithm | No | Vacío | La configuración de la regla. No aplica aquí. Establézcalo en un valor vacío. |
| action | String | Sí | captcha | La acción de la regla. Valores válidos: monitor (monitorear) y captcha (CAPTCHA de control deslizante). |
Ejemplo de configuración de protección inteligente basada en IA:
[
{
"type":"algorithm",
"status":"on",
"config":{},
"action":"captcha"
}
]
Categoría de regla 8: Limitación de tasa de IP
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| type | String | Sí | custom_cc_ip | El tipo de regla. Establezca el valor en custom_cc_ip. |
| status | String | Sí | on | El interruptor de la regla. Valores válidos: on (habilitado) y off (deshabilitado). |
| config | CustomCcIp | Sí | {"interval":20,"target":"IP","threshold":50,"ttl":2800} | La configuración de la regla. Para más información, consulte Descripción del parámetro de configuración de limitación de tasa de IP. |
| action | String | Sí | monitor | La acción de la regla. Valores válidos: deny (bloquear), monitor (monitorear) y captcha (CAPTCHA de control deslizante, aplicable solo a web). |
Descripción del parámetro de configuración de limitación de tasa de IP
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| target | String | Sí | IP | El campo estadístico para el control de frecuencia. Valor válido: IP. |
| subKey | String | No | Vacío | El subcampo del campo estadístico. No aplica aquí. Establézcalo en un valor vacío. |
| Interval | Integer | Sí | 20 | El período estadístico. Valores válidos: de 5 a 1800. Unidad: segundos. |
| threshold | Integer | Sí | 50 | El umbral estadístico. Valores válidos: de 2 a 50000. Unidad: veces. |
| ttl | Integer | Sí | 2800 | El período de tiempo de espera de la lista negra. Valores válidos: de 60 a 86400. Unidad: segundos. |
Ejemplo de configuración de limitación de tasa de IP:
[
{
"type":"custom_cc_ip",
"status":"on",
"config":{"interval":20,"target":"IP","threshold":50,"ttl":2800},
"action":"monitor"
},
{
"type":"custom_cc_ip",
"status":"on",
"config":{"interval":10,"target":"IP","threshold":30,"ttl":1800},
"action":"monitor"
}
]
Categoría de regla 9: Limitación de tasa de dispositivos
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| type | String | Sí | custom_cc_dev | El tipo de regla. Establezca el valor en custom_cc_dev. |
| status | String | Sí | on | El interruptor de la regla. Valores válidos: on (habilitado) y off (deshabilitado). |
| config | CustomCcDev | Sí | {"interval":20,"target":"Header","subKey":"aliwaf_wxbb_umid","threshold":50,"ttl":2800} | La configuración de la regla. Para más información, consulte Descripción del parámetro de configuración de limitación de tasa de dispositivos. |
| action | String | Sí | monitor | La acción de la regla. Valores válidos: deny (bloquear) y monitor (monitorear). |
Descripción del parámetro de configuración de limitación de tasa de dispositivos
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| target | String | Sí | Header | El campo estadístico para el control de frecuencia. Valor válido: Header. |
| subKey | String | No | aliwaf_wxbb_umid | El subcampo del campo estadístico. Valor válido: aliwaf_wxbb_umid. |
| Interval | Integer | Sí | 20 | El período estadístico. Valores válidos: de 5 a 1800. Unidad: segundos. |
| threshold | Integer | Sí | 50 | El umbral estadístico. Valores válidos: de 2 a 50000. Unidad: veces. |
| ttl | Integer | Sí | 2800 | El período de tiempo de espera de la lista negra. Valores válidos: de 60 a 86400. Unidad: segundos. |
Ejemplo de configuración de limitación de tasa de dispositivos:
[
{
"type":"custom_cc_dev",
"status":"on",
"config":{"interval":20,"target":"Header","subKey":"aliwaf_wxbb_umid","threshold":50,"ttl":2800},
"action":"monitor"
},
{
"type":"custom_cc_dev",
"status":"on",
"config":{"interval":20,"target":"Header","subKey":"aliwaf_wxbb_umid","threshold":50,"ttl":2800},
"action":"deny"
}
]
Categoría de regla 10: Limitación de tasa de sesiones personalizadas
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| type | String | Sí | custom_cc | El tipo de regla. Establezca el valor en custom_cc. |
| status | String | Sí | on | El interruptor de la regla. Valores válidos: on (habilitado) y off (deshabilitado). |
| config | CustomCcIp | Sí | {"interval":10,"target":"Query String Parameter","subKey":"arg","threshold":30,"ttl":1800} | La configuración de la regla. Para más información, consulte Descripción del parámetro de configuración de limitación de tasa de sesiones personalizadas. |
| action | String | Sí | monitor | La acción de la regla. Valores válidos: deny (bloquear), monitor (monitorear) y captcha (CAPTCHA de control deslizante, aplicable solo a web). |
Descripción del parámetro de configuración de limitación de tasa de sesiones personalizadas
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| target | String | Sí | Query String Parameter | El campo estadístico para el control de frecuencia. Valores válidos: Header (cuenta la frecuencia de solicitudes que contienen el encabezado especificado), Query String Parameter (cuenta la frecuencia de solicitudes que contienen el parámetro especificado), Cookie Name (cuenta la frecuencia de solicitudes que contienen la cookie especificada) y Session (cuenta la frecuencia de solicitudes de la misma sesión). |
| subKey | String | No | arg | El subcampo del campo estadístico. Valor personalizado. |
| Interval | Integer | Sí | 10 | El período estadístico. Valores válidos: de 5 a 1800. Unidad: segundos. |
| threshold | Integer | Sí | 30 | El umbral estadístico. Valores válidos: de 2 a 50000. Unidad: veces. |
| ttl | Integer | Sí | 2800 | El período de tiempo de espera de la lista negra. Valores válidos: de 60 a 86400. Unidad: segundos. |
Ejemplo de configuración de limitación de tasa de sesiones personalizadas:
[
{
"type":"custom_cc",
"status":"on",
"config":{"interval":10,"target":"Query String Parameter","subKey":"arg","threshold":30,"ttl":1800},
"action":"deny"
},
{
"type":"custom_cc",
"status":"on",
"config":{"interval":10,"target":"Query String Parameter","subKey":"arg","threshold":30,"ttl":1800},
"action":"captcha"
}
]
Categoría de regla 11: Biblioteca de inteligencia de amenazas de bots
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| type | String | Sí | intelligence | El tipo de regla. Establezca el valor en intelligence. |
| status | String | Sí | on | El interruptor de la regla. Valores válidos: on (habilitado) y off (deshabilitado). |
| config | Intelligence | No | Vacío | La configuración de la regla. No aplica aquí. Establézcalo en un valor vacío. |
| action | String | Sí | captcha | La acción de la regla. Valores válidos: monitor (monitorear) y captcha (CAPTCHA de control deslizante). |
Ejemplo de configuración de biblioteca de inteligencia de amenazas de bots:
[
{
"type":"intelligence",
"status":"on",
"config":{},
"action":"captcha"
}
]
Categoría de regla 12: Lista negra de IP de IDC
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| type | String | Sí | intelligence_idc | El tipo de regla. Establezca el valor en intelligence_idc. |
| status | String | Sí | on | El interruptor de la regla. Valores válidos: on (habilitado) y off (deshabilitado). |
| config | IntelligenceIdc | Sí | {"name":"intelligence_idc_alibaba"} | La configuración de la regla. Para valores válidos, consulte Descripción del parámetro name. |
| action | String | Sí | captcha | La acción de la regla. Valores válidos: deny (bloquear), monitor (monitorear) y captcha (CAPTCHA de control deslizante). |
Descripción del parámetro name
| Valor | Descripción |
| intelligence_idc_alibaba | Biblioteca de IP de IDC - Alibaba Cloud |
| intelligence_idc_tencent | Biblioteca de IP de IDC - Tencent Cloud |
| intelligence_idc_mtyun | Biblioteca de IP de IDC - Meituan Cloud |
| intelligence_idc_vnet | Biblioteca de IP de IDC - 21Vianet |
| intelligence_idc_other | Biblioteca de IP de IDC - Otros |
Ejemplo de configuración de lista negra de IP de IDC:
[
{
"type":"intelligence_idc",
"status":"on",
"config":{"name":"intelligence_idc_alibaba"},
"action":"captcha"
},
{
"type":"intelligence_idc",
"status":"on",
"config":{"name":"intelligence_idc_tencent"},
"action":"captcha"
}
]
Categoría de regla 13: Bloqueo de bots falsos
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| type | String | Sí | intelligence_fake_crawler | El tipo de regla. Establezca el valor en intelligence_fake_crawler. |
| status | String | Sí | on | El interruptor de la regla. Valores válidos: on (habilitado) y off (deshabilitado). |
| config | IntelligenceFakeCrawler | No | Vacío | La configuración de la regla. No aplica aquí. Establézcalo en un valor vacío. |
| action | String | Sí | deny | La acción de la regla. Valor válido: deny (bloquear). |
Ejemplo de configuración de bloqueo de bots falsos:
[
{
"type": "intelligence_fake_crawler",
"status": "on",
"config":{},
"action": "deny"
}
]
Categoría de regla 14: Identificación de características de bots
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| type | String | Sí | app_sdk | El tipo de regla. Establezca el valor en app_sdk. |
| status | String | Sí | on | El interruptor de la regla. Valor válido: on (habilitado). |
| config | AppSdk | Sí | {"featureAbnormal":["simulator","proxy","root","debugged","hook","virtual","antiReplay","signInvalid"],"customSignStatus":"on","customSign":{"key":"header","value":"ua"}} | La configuración de la regla. Para más información, consulte Descripción del parámetro de configuración de identificación de características de bots. |
| action | String | Sí | monitor | La acción de la regla. Valores válidos: deny (bloquear) y monitor (monitorear). |
Descripción del parámetro de configuración de identificación de características de bots
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| featureAbnormal | []String | Sí | simulator | signInvalid: excepción de firma de aplicación. antiReplay: firma caducada. simulator: emulador en uso. proxy: proxy en uso. root: dispositivo con acceso root. debugged: modo de depuración. hook: aplicación con hook. virtual: apertura múltiple de aplicación. |
| customSignStatus | String | No | on | El interruptor del campo de firma personalizada. Valores válidos: on (habilitado) y off (deshabilitado). |
| customSign | CustomSign | No | {"key":"header","value":"ua"} | El campo de firma personalizada. Formato: key: el nombre del campo. Obligatorio. Valores válidos: header, arg y cookie. value: el valor del campo. Obligatorio. |
Ejemplo de configuración de identificación de características de bots:
[
{
"type": "app_sdk",
"status": "on",
"config": {"featureAbnormal":["simulator","proxy","root","debugged","hook","virtual","antiReplay","signInvalid"],"customSignStatus":"on","customSign":{"key":"header","value":"ua"}},
"action": "monitor"
}
]
Categoría de regla 15: Protección avanzada (detección de aplicaciones reempaquetadas)
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| type | String | Sí | app_package | El tipo de regla. Establezca el valor en app_package. |
| status | String | Sí | on | El interruptor de la regla. Valor válido: on (habilitado). |
| config | AppPackage | No | {"packageSigns":[{"name":"aaaaa","sign":"bbbb"},{"name":"cccc","sign":"dddd"}]} | La configuración de la regla. Para más información, consulte Descripción del parámetro packageSigns. |
| action | String | Sí | monitor | La acción de la regla. Valores válidos: deny (bloquear) y monitor (monitorear). |
Descripción del parámetro packageSigns
| Parámetro | Tipo | Obligatorio | Ejemplo | Descripción |
| name | String | Sí | aaaaa | El nombre de paquete válido. |
| sign | String | No | bbbb | La firma del paquete. |
Ejemplo de configuración de protección avanzada (detección de aplicaciones reempaquetadas):
[
{
"type": "app_package",
"status": "on",
"config": {"packageSigns":[{"name":"aaaaa","sign":"bbbb"},{"name":"cccc","sign":"dddd"}]},
"action": "deny"
}
]
Ejemplo de configuración de parámetros combinados para la protección de páginas web/navegadores en la gestión de bots
[
{
"type": "target_type",
"status": "on",
"config":
{
"target": "web"
},
"action": ""
},
{
"type": "web_sdk",
"status": "on",
"config":
{
"mode": "automatic",
"crossDomain": "example.com"
},
"action": ""
},
{
"type": "traffic_feature",
"status": "on",
"config":
{
"conditions":
[
{
"key": "Header",
"subKey": "User-Agent",
"opValue": "contain",
"values": "Chrome"
},
{
"key": "IP",
"subKey": "",
"opValue": "ip-contain",
"values": "192.168.0.1/24"
}
]
},
"action": ""
},
{
"type": "intelligence_crawler",
"status": "on",
"config":
{
"name": "intelligence_crawler_baidu"
},
"action": "bypass"
},
{
"type": "intelligence_crawler",
"status": "on",
"config":
{
"name": "intelligence_crawler_google"
},
"action": "bypass"
},
{
"type": "js",
"status": "on",
"config":
{},
"action": "js"
},
{
"type": "sigchl",
"status": "on",
"config":
{
"sigchl":
[
"sig",
"replay",
"driver"
]
},
"action": "sigchl"
},
{
"type": "algorithm",
"status": "on",
"config":
{},
"action": "captcha"
},
{
"type": "custom_cc_ip",
"status": "on",
"config":
{
"interval": 20,
"target": "IP",
"threshold": 50,
"ttl": 2800
},
"action": "monitor"
},
{
"type": "custom_cc_ip",
"status": "on",
"config":
{
"interval": 10,
"target": "IP",
"threshold": 30,
"ttl": 1800
},
"action": "monitor"
},
{
"type": "custom_cc",
"status": "on",
"config":
{
"interval": 10,
"target": "Query String Parameter",
"subKey": "arg",
"threshold": 30,
"ttl": 1800
},
"action": "deny"
},
{
"type": "custom_cc",
"status": "on",
"config":
{
"interval": 10,
"target": "Query String Parameter",
"subKey": "arg",
"threshold": 30,
"ttl": 1800
},
"action": "captcha"
},
{
"type": "intelligence",
"status": "on",
"config":
{},
"action": "captcha"
},
{
"type": "intelligence_idc",
"status": "on",
"config":
{
"name": "intelligence_idc_alibaba"
},
"action": "captcha"
},
{
"type": "intelligence_idc",
"status": "on",
"config":
{
"name": "intelligence_idc_tencent"
},
"action": "captcha"
},
{
"type": "intelligence_fake_crawler",
"status": "on",
"config":
{},
"action": "deny"
}
]
Ejemplo de configuración de parámetros combinados para la protección de aplicaciones en la gestión de bots
[
{
"type": "target_type",
"status": "on",
"config":
{
"target": "app"
},
"action": ""
},
{
"type": "traffic_feature",
"status": "on",
"config":
{
"conditions":
[
{
"key": "Header",
"subKey": "User-Agent",
"opValue": "contain",
"values": "Chrome"
},
{
"key": "IP",
"subKey": "",
"opValue": "ip-contain",
"values": "192.168.0.1/24"
}
]
},
"action": ""
},
{
"type": "custom_cc_ip",
"status": "on",
"config":
{
"interval": 20,
"target": "IP",
"threshold": 50,
"ttl": 2800
},
"action": "monitor"
},
{
"type": "custom_cc_ip",
"status": "on",
"config":
{
"interval": 10,
"target": "IP",
"threshold": 30,
"ttl": 1800
},
"action": "monitor"
},
{
"type": "custom_cc_dev",
"status": "on",
"config":
{
"interval": 20,
"target": "Header",
"subKey": "aliwaf_wxbb_umid",
"threshold": 50,
"ttl": 2800
},
"action": "monitor"
},
{
"type": "custom_cc_dev",
"status": "on",
"config":
{
"interval": 20,
"target": "Header",
"subKey": "aliwaf_wxbb_umid",
"threshold": 50,
"ttl": 2800
},
"action": "deny"
},
{
"type": "custom_cc",
"status": "on",
"config":
{
"interval": 10,
"target": "Query String Parameter",
"subKey": "arg",
"threshold": 30,
"ttl": 1800
},
"action": "monitor"
},
{
"type": "custom_cc",
"status": "on",
"config":
{
"interval": 10,
"target": "Query String Parameter",
"subKey": "arg",
"threshold": 30,
"ttl": 1800
},
"action": "deny"
},
{
"type": "app_sdk",
"status": "on",
"config":
{
"featureAbnormal":
[
"simulator",
"proxy",
"root",
"debugged",
"hook",
"virtual",
"antiReplay",
"signInvalid"
],
"customSignStatus": "on",
"customSign":
{
"key": "header",
"value": "ua"
}
},
"action": "monitor"
},
{
"type": "app_package",
"status": "on",
"config":
{
"packageSigns":
[
{
"name": "aaaaa",
"sign": "bbbb"
},
{
"name": "cccc",
"sign": "dddd"
}
]
},
"action": "deny"
}
]
Elementos de la respuesta
|
Elemento |
Tipo |
Descripción |
Ejemplo |
|
object |
|||
| RequestId |
string |
El ID de la solicitud. |
CB1A380B-09F0-41BB-280B-72F8FD6DA2FE |
| RuleIds |
object |
||
| RuleId |
array |
La lista de ID de reglas de protección. |
|
|
string |
La lista de ID de las reglas creadas. |
100001,200002 |
Ejemplos
Respuesta exitosa
JSON Formato
{
"RequestId": "CB1A380B-09F0-41BB-280B-72F8FD6DA2FE",
"RuleIds": {
"RuleId": [
"100001,200002"
]
}
}
Códigos de error
|
Código de estado HTTP |
Código de error |
Mensaje de error |
Descripción |
|---|---|---|---|
| 400 | InvalidParameter | The specified parameter is invalid. | El parámetro no es válido. |
| 400 | Policy.NotExist | The specified policy does not exist. | La política de protección especificada no existe. |
| 400 | RuleConfigs.Malformed | The specified RuleConfigs format is invalid. | El parámetro RuleConfigs especificado tiene un formato incorrecto. |
| 400 | RuleName.AlreadyExists | Rule name already exists in specified policy. | El nombre de la regla ya existe en la política especificada. |
| 400 | Rule.QuantityOverflow | Rules are overflowed quantity in specified policy. | El número de reglas en la política especificada ha excedido la cuota. |
| 500 | InternalError | An internal error occurred; please try again later. | Ocurrió un error interno. Inténtelo de nuevo. Si el error persiste después de varios intentos, envíe un ticket. |
| 403 | %s.NotSupport | The specified resource type %s is not supported. | El tipo de recurso especificado no es compatible. Para utilizar este tipo de recurso, póngase en contacto con nosotros. |
| 403 | %s.OverQuota | The quantity of %s exceeds the quota. | La cantidad de este recurso supera el límite de cuota. Para solicitar una cuota mayor, póngase en contacto con nosotros. |
Consulte Códigos de error para ver la lista completa.
Notas de la versión
Consulte Notas de la versión para ver la lista completa.