Panggil operasi BatchCreateDcdnWafRules untuk mengonfigurasi aturan mitigasi WAF.
Deskripsi operasi
Frekuensi pemanggilan operasi ini dibatasi hingga 20 kali per detik untuk setiap pengguna.
Coba sekarang
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
dcdn:BatchCreateDcdnWafRules |
create |
*All Resource
|
None | None |
Parameter permintaan
|
Parameter |
Type |
Required |
Description |
Example |
| PolicyId |
integer |
Yes |
ID kebijakan mitigasi. |
1000001 |
| RuleConfigs |
string |
Yes |
Konfigurasi aturan mitigasi. |
[{"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"}] |
Deskripsi RuleConfigs
RuleConfigs adalah array objek, dengan setiap objek merepresentasikan satu aturan.
Format RuleConfigs bervariasi tergantung pada tipe kebijakan mitigasi yang terkait dengan PolicyId.
Skenario 1: WAF (waf_group)
Parameter | Type | Required | Example | Description |
status | String | No | on | Status aturan. Nilai yang valid: on dan off. Nilai default adalah on. |
action | String | Yes | block | Aksi aturan. Nilai yang valid: block dan monitor. |
wafGroupIds | String | No | 1012 | ID grup aturan WAF. Nilai default adalah 1012. Pisahkan beberapa ID dengan koma (,). |
Contoh konfigurasi waf_group:
// Kebijakan WAF hanya mendukung satu aturan.
[
{
"status": "on",
"action": "block"
}
]
Skenario 2: Aturan kustom (custom_acl)
Name | Type | Required | Example | Description |
name | string | Yes | acl_1 | Nama aturan. Nama dapat berisi huruf kecil, huruf kapital, angka (0 hingga 9), dan garis bawah (_). Panjang nama maksimal 64 karakter. |
status | string | No | on | Nilai yang valid: on dan off. Nilai default adalah on. |
conditions | Condition | Yes | [ {"key": "URI", "subKey": "","opValue": "contain", "values": "/login.php" }] | Kondisi yang memicu aturan. Untuk informasi lebih lanjut tentang parameter, lihat Tabel 1. Parameter Condition. |
ccStatus | string | Yes | off | Menentukan apakah pembatasan laju diaktifkan. Nilai yang valid: on dan off. |
rateLimit | RateLimit | No | { "target": "Header", "subKey": "User-Agent", "interval": 5, "threshold": 2, "ttl": 1800} | Aturan pembatasan laju. Parameter ini wajib jika ccStatus diatur ke on. Untuk informasi lebih lanjut tentang parameter, lihat Tabel 2. Parameter RateLimit. |
effect | string | No | service | Cakupan daftar hitam pembatasan laju. Parameter ini wajib jika ccStatus diatur ke on. Nilai yang valid: rule (aturan saat ini) dan service (global). |
action | string | Yes | deny | Aksi aturan. Nilai yang valid: deny, js (JavaScript Challenge), dan monitor. |
Tabel 1. Parameter Condition
Name | Type | Required | Example | Description |
Key | string | Yes | Query String Parameter | Bidang pencocokan. Untuk informasi lebih lanjut, lihat DescribeDcdnWafFilterInfo. |
subKey | string | No | action | Subbidang pencocokan. Untuk informasi lebih lanjut, lihat DescribeDcdnWafFilterInfo. |
opValue | String | Yes | eq | Operator logika. Untuk informasi lebih lanjut, lihat DescribeDcdnWafFilterInfo. |
values | String | No | js | Konten pencocokan. Pisahkan beberapa nilai dengan koma (,). Untuk informasi lebih lanjut, lihat DescribeDcdnWafFilterInfo. |
Tabel 2. Parameter RateLimit
Name | Type | Required | Example | Description |
target | string | Yes | Header | Bidang yang digunakan untuk statistik pembatasan laju. Nilai yang valid: IP (permintaan dari alamat IP yang sama), Header (permintaan yang berisi header tertentu), Query String Parameter (permintaan yang berisi parameter tertentu), Cookie Name (permintaan yang berisi cookie tertentu), dan Session (permintaan dari sesi yang sama). |
subKey | string | No | User-Agent | Subbidang bidang statistik. Parameter ini wajib jika target diatur ke Header, Query String Parameter, atau Cookie Name. |
Interval | Integer | Yes | 5 | Periode statistik. Nilai yang valid: 5 hingga 1800. Satuan: detik. |
threshold | Integer | Yes | 2 | Ambang batas statistik. Nilai yang valid: 2 hingga 50000. Satuan: kali. |
ttl | Integer | Yes | 1800 | Periode timeout untuk daftar hitam. Nilai yang valid: 60 hingga 86400. Satuan: detik. |
status | RateLimitStatus | No | {"code": "404", "ratio": 10} | Statistik kode respons. Untuk informasi lebih lanjut tentang parameter, lihat Tabel 3. Parameter RateLimitStatus. |
Tabel 3. Parameter RateLimitStatus
Name | Type | Required | Example | Description |
code | string | Yes | 404 | Kode status HTTP. |
ratio | Integer | No | 10 | Persentase permintaan yang memicu aturan. Nilai yang valid: 1 hingga 100. Anda dapat menentukan parameter ini atau count. |
count | Integer | No | 10 | Jumlah permintaan yang memicu aturan. Nilai yang valid: 2 hingga 50000. Anda dapat menentukan parameter ini atau ratio. |
Contoh konfigurasi custom_acl:
[
// Kontrol akses
{
"name": "acl_1",
"status": "off",
"conditions":
[
{
"key": "Query String Parameter",
"subKey": "action",
"opValue": "eq",
"values": "js"
}
],
"ccStatus": "off",
"action": "js"
},
// Pembatasan laju
{
"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"
}
]
Skenario 3: Daftar putih (whitelist)
Name | Type | Required | Example | Description |
name | string | Yes | on | Nama aturan. Nama dapat berisi huruf kecil, huruf kapital, angka (0 hingga 9), dan garis bawah (_). Panjang nama maksimal 64 karakter. |
status | string | No | on | Status aturan. Nilai yang valid: on (default) dan off. |
conditions | Condition | Yes | [{ "key": "Http-Method","subKey": "","opValue": "match-one", "values": "GET,POST,DELETE" }] | Kondisi yang memicu aturan. Untuk informasi lebih lanjut tentang parameter, lihat Tabel 1. Parameter Condition. |
tags | String | Yes | [ "waf_group", "custom_acl"] | Daftar tipe kebijakan mitigasi. |
regularTypes | String | No | [ [ "sqli", "xss","code_exec", "crlf", "lfilei", "rfilei", "webshell","vvip", "other"] | Tipe aturan ekspresi reguler. Parameter ini tersedia jika tags ditentukan sebagai waf_group. Nilai yang valid: "sqli", "xss", "code_exec", "crlf", "lfilei", "rfilei", "webshell", "vvip", dan "other". |
regularRules | String | No | [ "100001", "100002", "100003"] | Aturan ekspresi reguler. Parameter ini tersedia jika tags ditentukan sebagai waf_group. Anda dapat menentukan parameter ini atau regularTypes. Nilainya adalah daftar angka enam digit dalam format string. |
Contoh konfigurasi daftar putih:
[
// Lewati semua skenario
{
"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"
]
},
// Lewati ID aturan tertentu untuk 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"
]
},
{
// Lewati tipe aturan tertentu untuk 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"
]
},
// Lewati aturan kustom
{
"name": "wl_custom_acl",
"status": "on",
"conditions":
[
{
"key": "Http-Method",
"subKey": "",
"opValue": "match-one",
"values": "GET,POST,DELETE"
}
],
"tags":
[
"custom_acl"
]
},
// Lewati daftar hitam IP
{
"name": "wl_ip_blacklist",
"status": "on",
"conditions":
[
{
"key": "Http-Method",
"subKey": "",
"opValue": "match-one",
"values": "GET,POST,DELETE"
}
],
"tags":
[
"ip_blacklist"
]
},
// Lewati daftar hitam lokasi
{
"name": "wl_region_block",
"status": "on",
"conditions":
[
{
"key": "Http-Method",
"subKey": "",
"opValue": "match-one",
"values": "GET,POST,DELETE"
}
],
"tags":
[
"region_block"
]
}
]
Skenario 4: Daftar hitam IP (ip_blacklist)
Name | Type | Required | Example | Description |
name | string | Yes | ipblacklist | Nama aturan. Nama dapat berisi huruf kecil, huruf kapital, angka (0 hingga 9), dan garis bawah (_). Panjang nama maksimal 64 karakter. |
status | string | No | on | Status aturan. Nilai yang valid: on dan off. Nilai default adalah on. |
remoteAddr | []String | Yes | ["192.168.0.1","10.10.10.10/24","::1","abcd::abcd","BCDE::BCDE"] | Alamat IP yang akan difilter. Untuk informasi lebih lanjut, lihat DescribeDcdnWafFilterInfo. |
action | string | Yes | deny | Aksi aturan. Nilai yang valid: deny dan monitor. |
Contoh konfigurasi ip_blacklist:
[
{
"name": "ipblacklist",
"status": "on",
"remoteAddr": ["192.168.0.1","10.10.10.10/24","::1","abcd::abcd","BCDE::BCDE"],
"action": "deny"
}
]
Skenario 5: Daftar hitam lokasi (region_block)
Name | Type | Required | Example | Description |
status | string | No | on | Status aturan. Nilai yang valid: on dan off. Nilai default adalah on. |
cnRegionList | string | No | 110000,TW,MO | Wilayah di Tiongkok Daratan yang akan diblokir. Pisahkan beberapa wilayah dengan koma (,). Untuk informasi lebih lanjut tentang wilayah yang didukung, lihat DescribeDcdnWafGeoInfo. |
otherRegionList | string | No | JP,GB | Wilayah di luar Tiongkok Daratan yang akan diblokir. Pisahkan beberapa wilayah dengan koma (,). Untuk informasi lebih lanjut tentang wilayah yang didukung, lihat DescribeDcdnWafGeoInfo. |
action | string | Yes | deny | Aksi aturan. Nilai yang valid: deny dan monitor. |
Anda harus menentukan setidaknya salah satu dari cnRegionList atau otherRegionList.
Contoh konfigurasi region_block:
[
{
"status": "on",
"cnRegionList": "110000,TW,MO",
"otherRegionList": "JP,GB",
"action": "deny"
}
]
Skenario 6: Manajemen bot (bot)
Templat aturan
Semua aturan mencakup empat parameter berikut. Untuk informasi lebih lanjut mengenai nilai yang valid, lihat deskripsi masing-masing klasifikasi aturan.
Parameter | Type | Required | Description |
type | String | Yes | Tipe aturan. Untuk informasi lebih lanjut, lihat klasifikasi aturan spesifik. |
status | String | Yes | Status aturan. Nilai yang valid: on dan off. |
config | TargetType | No | Konfigurasi aturan. Untuk informasi lebih lanjut, lihat klasifikasi aturan spesifik. |
action | String | No | Aksi aturan. Untuk informasi lebih lanjut, lihat klasifikasi aturan spesifik. |
Klasifikasi aturan 1: Tipe objek yang dilindungi
Parameter | Type | Required | Example | Description |
type | String | Yes | target_type | Tipe aturan. Tetapkan nilainya ke target_type. |
status | String | Yes | on | Status aturan. Tetapkan nilainya ke on. |
config | TargetType | No | {"target":"app"} | Konfigurasi aturan. Format: |
action | String | No | empty | Aksi aturan. Parameter ini tidak berlaku. Biarkan kosong. |
Contoh konfigurasi tipe objek yang dilindungi:
[
{
"type":"target_type",
"status":"on",
"config":{"target":"app"},
"action":""
}
]
Klasifikasi aturan 2: Integrasi Web SDK
Parameter | Type | Required | Example | Description |
type | String | Yes | web_sdk | Tipe aturan. Tetapkan nilainya ke web_sdk. |
status | String | Yes | on | Status aturan. Tetapkan nilainya ke on. |
config | WebSdk | No | {"mode":"automatic","crossDomain":"example.com"} | Konfigurasi aturan. Format: |
action | String | No | empty | Aksi aturan. Parameter ini tidak berlaku. Biarkan kosong. |
Contoh konfigurasi integrasi Web SDK:
[
{
"type":"web_sdk",
"status":"on",
"config":{"mode":"automatic","crossDomain":"example.com"},
"action":""
}
]
Klasifikasi aturan 3: Fitur objek yang dilindungi
Parameter | Type | Required | Example | Description |
type | String | Yes | traffic_feature | Tipe aturan. Tetapkan nilainya ke traffic_feature. |
status | String | Yes | on | Status aturan. Tetapkan nilainya ke on. |
config | TrafficFeature | Yes | {"conditions":[{"key":"Header","subKey":"User-Agent","opValue":"contain","values":"Chrome"},{"key":"IP","subKey":"","opValue":"ip-contain","values":"192.168.0.1/24"}]} | Konfigurasi aturan. Untuk informasi lebih lanjut, lihat condition. |
action | String | No | empty | Aksi aturan. Parameter ini tidak berlaku. Biarkan kosong. |
condition (kondisi pencocokan)
Parameter | Type | Required | Example | Description |
key | String | Yes | Header | Bidang pencocokan. Untuk informasi lebih lanjut, lihat DescribeDcdnWafFilterInfo. |
subKey | String | No | User-Agent | Subbidang pencocokan. Untuk informasi lebih lanjut, lihat DescribeDcdnWafFilterInfo. |
opValue | String | Yes | contain | Operator. Untuk informasi lebih lanjut, lihat DescribeDcdnWafFilterInfo. |
values | String | No | Chrome | Konten pencocokan. Pisahkan beberapa nilai dengan koma (,). Untuk informasi lebih lanjut, lihat DescribeDcdnWafFilterInfo. |
Contoh konfigurasi fitur objek yang dilindungi:
[
{
"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":""
}
]
Klasifikasi aturan 4: Manajemen bot sah
Parameter | Type | Required | Example | Description |
type | String | Yes | intelligence_crawler | Tipe aturan. Tetapkan nilainya ke intelligence_crawler. |
status | String | Yes | on | Status aturan. Tetapkan nilainya ke on. |
config | IntelligenceCrawler | No | {"name":"intelligence_crawler_baidu"} | Konfigurasi aturan. Untuk informasi lebih lanjut, lihat name (daftar putih spider mesin pencari). |
action | String | Yes | bypass | Aksi aturan. Tetapkan nilainya ke bypass. |
name (daftar putih spider mesin pencari)
Parameter value | Meaning |
intelligence_crawler_all | Daftar putih mesin pencari sah (Google, Bing, Baidu, Sogou, 360, dan Yandex) |
intelligence_crawler_baidu | Daftar putih spider Baidu |
intelligence_crawler_sogou | Daftar putih spider Sogou |
intelligence_crawler_360 | Daftar putih spider 360 |
intelligence_crawler_google | Daftar putih spider Google |
intelligence_crawler_bing | Daftar putih spider Bing |
intelligence_crawler_yandex | Daftar putih spider Yandex |
Contoh konfigurasi manajemen bot sah:
[
{
"type":"intelligence_crawler",
"status":"on",
"config":{"name":"intelligence_crawler_baidu"},
"action":"bypass"
},
{
"type":"intelligence_crawler",
"status":"on",
"config":{"name":"intelligence_crawler_google"},
"action":"bypass"
}
]
Klasifikasi aturan 5: Penyaringan skrip sederhana (JavaScript Challenge)
Parameter | Type | Required | Example | Description |
type | String | Yes | js | Tipe aturan. Tetapkan nilainya ke js. |
status | String | Yes | on | Status aturan. Nilai yang valid: on dan off. |
config | Js | No | empty | Konfigurasi aturan. Parameter ini tidak berlaku. Biarkan kosong. |
action | String | Yes | js | Aksi aturan. Tetapkan nilainya ke js (JavaScript Challenge). |
Contoh konfigurasi penyaringan skrip sederhana (JavaScript Challenge):
[
{
"type":"js",
"status":"on",
"config":{},
"action":"js"
}
]
Klasifikasi aturan 6: Pertahanan bot canggih (tantangan token dinamis)
Parameter | Type | Required | Example | Description |
type | String | Yes | sigchl | Tipe aturan. Tetapkan nilainya ke sigchl. |
status | String | Yes | on | Status aturan. Nilai yang valid: on dan off. |
config | Sigchl | No | {"sigchl":["sig","replay","driver"]} | Konfigurasi aturan. Format: |
action | String | Yes | sigchl | Aksi aturan. Tetapkan nilainya ke sigchl (blokir). |
Contoh konfigurasi pertahanan bot canggih (tantangan token dinamis):
[
{
"type":"sigchl",
"status":"on",
"config":{"sigchl":["sig","replay","driver"]},
"action":"sigchl"
}
]
Klasifikasi aturan 7: Perlindungan berbasis AI
Parameter | Type | Required | Example | Description |
type | String | Yes | algorithm | Tipe aturan. Tetapkan nilainya ke algorithm. |
status | String | Yes | on | Status aturan. Nilai yang valid: on dan off. |
config | Algorithm | No | empty | Konfigurasi aturan. Parameter ini tidak berlaku. Biarkan kosong. |
action | String | Yes | captcha | Aksi aturan. Nilai yang valid: monitor dan captcha (CAPTCHA slider). |
Contoh konfigurasi perlindungan berbasis AI:
[
{
"type":"algorithm",
"status":"on",
"config":{},
"action":"captcha"
}
]
Klasifikasi aturan 8: Pembatasan laju berdasarkan IP
Parameter | Type | Required | Example | Description |
type | String | Yes | custom_cc_ip | Tipe aturan. Tetapkan nilainya ke custom_cc_ip. |
status | String | Yes | on | Status aturan. Nilai yang valid: on dan off. |
config | CustomCcIp | Yes | {"interval":20,"target":"IP","threshold":50,"ttl":2800} | Konfigurasi aturan. Untuk informasi lebih lanjut, lihat Parameter konfigurasi pembatasan laju berdasarkan IP. |
action | String | Yes | monitor | Aksi aturan. Nilai yang valid: deny, monitor, dan captcha (slider, hanya untuk web). |
Parameter konfigurasi pembatasan laju berdasarkan IP
Parameter | Type | Required | Example | Description |
target | String | Yes | IP | Bidang statistik untuk pembatasan laju. Tetapkan nilainya ke IP. |
subKey | String | No | empty | Subbidang bidang statistik. Parameter ini tidak berlaku. Biarkan kosong. |
Interval | Integer | Yes | 20 | Periode statistik. Nilai yang valid: 5 hingga 1800. Satuan: detik. |
threshold | Integer | Yes | 50 | Ambang batas statistik. Nilai yang valid: 2 hingga 50000. Satuan: kali. |
ttl | Integer | Yes | 2800 | Periode timeout untuk daftar hitam. Nilai yang valid: 60 hingga 86400. Satuan: detik. |
Contoh konfigurasi pembatasan laju berdasarkan 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"
}
]
Klasifikasi aturan 9: Pembatasan laju berdasarkan perangkat
Parameter | Type | Required | Example | Description |
type | String | Yes | custom_cc_dev | Tipe aturan. Tetapkan nilainya ke custom_cc_dev. |
status | String | Yes | on | Status aturan. Nilai yang valid: on dan off. |
config | CustomCcDev | Yes | {"interval":20,"target":"Header","subKey":"aliwaf_wxbb_umid","threshold":50,"ttl":2800} | Konfigurasi aturan. Untuk informasi lebih lanjut, lihat Parameter konfigurasi pembatasan laju berdasarkan perangkat. |
action | String | Yes | monitor | Aksi aturan. Nilai yang valid: deny dan monitor. |
Parameter konfigurasi pembatasan laju berdasarkan perangkat
Parameter | Type | Required | Example | Description |
target | String | Yes | Header | Bidang statistik untuk pembatasan laju. Tetapkan nilainya ke Header. |
subKey | String | No | aliwaf_wxbb_umid | Subbidang bidang statistik. Tetapkan nilainya ke aliwaf_wxbb_umid. |
Interval | Integer | Yes | 20 | Periode statistik. Nilai yang valid: 5 hingga 1800. Satuan: detik. |
threshold | Integer | Yes | 50 | Ambang batas statistik. Nilai yang valid: 2 hingga 50000. Satuan: kali. |
ttl | Integer | Yes | 2800 | Periode timeout untuk daftar hitam. Nilai yang valid: 60 hingga 86400. Satuan: detik. |
Contoh konfigurasi pembatasan laju berdasarkan perangkat:
[
{
"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"
}
]
Klasifikasi aturan 10: Pembatasan laju sesi kustom
Parameter | Type | Required | Example | Description |
type | String | Yes | custom_cc | Tipe aturan. Tetapkan nilainya ke custom_cc. |
status | String | Yes | on | Status aturan. Nilai yang valid: on dan off. |
config | CustomCcIp | Yes | {"interval":10,"target":"Query String Parameter","subKey":"arg","threshold":30,"ttl":1800} | Konfigurasi aturan. Untuk informasi lebih lanjut, lihat Parameter konfigurasi pembatasan laju sesi kustom. |
action | String | Yes | monitor | Aksi aturan. Nilai yang valid: deny, monitor, dan captcha (slider, hanya untuk web). |
Parameter konfigurasi pembatasan laju sesi kustom
Parameter | Type | Required | Example | Description |
target | String | Yes | Query String Parameter | Bidang yang digunakan untuk statistik pembatasan laju. Nilai yang valid: Header (permintaan yang berisi header tertentu), Query String Parameter (permintaan yang berisi parameter tertentu), Cookie Name (permintaan yang berisi cookie tertentu), dan Session (permintaan dari sesi yang sama). |
subKey | String | No | arg | Subbidang bidang statistik. Ini adalah bidang kustom. |
Interval | Integer | Yes | 10 | Periode statistik. Nilai yang valid: 5 hingga 1800. Satuan: detik. |
threshold | Integer | Yes | 30 | Ambang batas statistik. Nilai yang valid: 2 hingga 50000. Satuan: kali. |
ttl | Integer | Yes | 2800 | Periode timeout untuk daftar hitam. Nilai yang valid: 60 hingga 86400. Satuan: detik. |
Contoh konfigurasi pembatasan laju sesi kustom:
[
{
"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"
}
]
Klasifikasi aturan 11: Pustaka intelijen ancaman bot
Parameter | Type | Required | Example | Description |
type | String | Yes | intelligence | Tipe aturan. Tetapkan nilainya ke intelligence. |
status | String | Yes | on | Status aturan. Nilai yang valid: on dan off. |
config | Intelligence | No | empty | Konfigurasi aturan. Parameter ini tidak berlaku. Biarkan kosong. |
action | String | Yes | captcha | Aksi aturan. Nilai yang valid: monitor dan captcha (CAPTCHA slider). |
Contoh konfigurasi pustaka intelijen ancaman bot:
[
{
"type":"intelligence",
"status":"on",
"config":{},
"action":"captcha"
}
]
Klasifikasi aturan 12: Pemblokiran daftar hitam IDC
Parameter | Type | Required | Example | Description |
type | String | Yes | intelligence_idc | Tipe aturan. Tetapkan nilainya ke intelligence_idc. |
status | String | Yes | on | Status aturan. Nilai yang valid: on dan off. |
config | IntelligenceIdc | Yes | {"name":"intelligence_idc_alibaba"} | Konfigurasi aturan. Untuk informasi lebih lanjut, lihat Parameter name. |
action | String | Yes | captcha | Aksi aturan. Nilai yang valid: deny, monitor, dan captcha (CAPTCHA slider). |
Parameter name
Parameter value | Meaning |
intelligence_idc_alibaba | Pustaka IP IDC - Alibaba Cloud |
intelligence_idc_tencent | Pustaka IP IDC - Tencent Cloud |
intelligence_idc_mtyun | Pustaka IP IDC - Meituan Cloud |
intelligence_idc_vnet | Pustaka IP IDC - 21Vianet |
intelligence_idc_other | Pustaka IP IDC - Lainnya |
Contoh konfigurasi pemblokiran daftar hitam 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"
}
]
Klasifikasi aturan 13: Pemblokiran spider palsu
Parameter | Type | Required | Example | Description |
type | String | Yes | intelligence_fake_crawler | Tipe aturan. Tetapkan nilainya ke intelligence_fake_crawler. |
status | String | Yes | on | Status aturan. Nilai yang valid: on dan off. |
config | IntelligenceFakeCrawler | No | empty | Konfigurasi aturan. Parameter ini tidak berlaku. Biarkan kosong. |
action | String | Yes | deny | Aksi aturan. Tetapkan nilainya ke deny. |
Contoh konfigurasi pemblokiran spider palsu:
[
{
"type": "intelligence_fake_crawler",
"status": "on",
"config":{},
"action": "deny"
}
]
Klasifikasi aturan 14: Deteksi fitur bot
Parameter | Type | Required | Example | Description |
type | String | Yes | app_sdk | Tipe aturan. Tetapkan nilainya ke app_sdk. |
status | String | Yes | on | Status aturan. Tetapkan nilainya ke on. |
config | AppSdk | Yes | {"featureAbnormal":["simulator","proxy","root","debugged","hook","virtual","antiReplay","signInvalid"],"customSignStatus":"on","customSign":{"key":"header","value":"ua"}} | Konfigurasi aturan. Untuk informasi lebih lanjut, lihat Parameter konfigurasi deteksi fitur bot. |
action | String | Yes | monitor | Aksi aturan. Nilai yang valid: deny dan monitor. |
Parameter konfigurasi deteksi fitur bot
Parameter | Type | Required | Example | Description |
featureAbnormal | []String | Yes | simulator | signInvalid: Tanda tangan aplikasi abnormal. |
customSignStatus | String | No | on | Menentukan apakah bidang penandatanganan kustom diaktifkan. Nilai yang valid: on dan off. |
customSign | CustomSign | No | {"key":"header","value":"ua"} | Bidang penandatanganan kustom. Format: |
Contoh konfigurasi deteksi fitur bot:
[
{
"type": "app_sdk",
"status": "on",
"config": {"featureAbnormal":["simulator","proxy","root","debugged","hook","virtual","antiReplay","signInvalid"],"customSignStatus":"on","customSign":{"key":"header","value":"ua"}},
"action": "monitor"
}
]
Klasifikasi aturan 15: Mitigasi canggih (deteksi repackaging)
Parameter | Type | Required | Example | Description |
type | String | Yes | app_package | Tipe aturan. Tetapkan nilainya ke app_package. |
status | String | Yes | on | Status aturan. Tetapkan nilainya ke on. |
config | AppPackage | No | {"packageSigns":[{"name":"aaaaa","sign":"bbbb"},{"name":"cccc","sign":"dddd"}]} | Konfigurasi aturan. Untuk informasi lebih lanjut, lihat Parameter packageSigns. |
action | String | Yes | monitor | Aksi aturan. Nilai yang valid: deny dan monitor. |
Parameter packageSigns
Parameter | Type | Required | Example | Description |
name | String | Yes | aaaaa | Nama paket sah. |
sign | String | No | bbbb | Tanda tangan paket. |
Contoh konfigurasi mitigasi canggih (deteksi repackaging):
[
{
"type": "app_package",
"status": "on",
"config": {"packageSigns":[{"name":"aaaaa","sign":"bbbb"},{"name":"cccc","sign":"dddd"}]},
"action": "deny"
}
]
Contoh konfigurasi parameter gabungan untuk manajemen bot pada halaman web atau browser
[
{
"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"
}
]
Contoh konfigurasi parameter gabungan untuk manajemen bot pada aplikasi
[
{
"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"
}
]
Skenario 7: Perlindungan pemindaian (anti_scan)
Templat aturan
Semua aturan mencakup empat parameter berikut. Untuk informasi lebih lanjut mengenai nilai yang valid, lihat deskripsi masing-masing klasifikasi aturan.
Parameter | Type | Required | Description |
type | String | Yes | Tipe aturan. Untuk informasi lebih lanjut, lihat klasifikasi aturan spesifik. |
status | String | No | Status aturan. Nilai yang valid: on dan off. |
config | Type | No | Konfigurasi aturan. Untuk informasi lebih lanjut, lihat klasifikasi aturan spesifik. |
action | String | No | Aksi aturan. Untuk informasi lebih lanjut, lihat klasifikasi aturan spesifik. |
Klasifikasi aturan 1: Pemblokiran pemindaian frekuensi tinggi
Parameter | Type | Required | Example | Description |
type | String | Yes | high_frequency | Tipe aturan. Tetapkan nilainya ke high_frequency. |
status | String | Yes | on | Status aturan. Nilai yang valid: on dan off. Nilai default adalah on. |
config | HighFrequency | No | {"target":"IP","interval":20,"wafBlockThreshold":20,"ttl":1800,"distinctWafRuleThreshold":2} | Konfigurasi aturan. Untuk informasi lebih lanjut, lihat string struct berikut. |
action | String | No | deny | Aksi aturan. Nilai yang valid: deny dan monitor. |
Parameter HighFrequency
Parameter | Type | Required | Example | Description |
target | String | Yes | IP | Bidang untuk statistik pembatasan laju. Nilai yang valid: IP, Session, Header, Query String Parameter, dan Cookie Name. |
subKey | String | No | yoursubKey | Subbidang bidang statistik. Parameter ini tersedia jika Anda menggunakan bidang kustom. Misalnya, jika target diatur ke Header, parameter ini menentukan kunci header tersebut. |
interval | Integer | Yes | 20 | Periode deteksi. Nilai yang valid: 5 hingga 1800. Satuan: detik. |
wafBlockThreshold | Integer | Yes | 20 | Jumlah kali aturan perlindungan dasar dipicu. Nilai yang valid: 3 hingga 50000. |
ttl | Integer | Yes | 1800 | Durasi pemblokiran. Nilai yang valid: 60 hingga 86400. Satuan: detik. |
distinctWafRuleThreshold | Integer | Yes | 2 | Jumlah aturan yang dipicu lebih besar dari nilai ini. Nilai yang valid: 1 hingga 50. |
[
{
"type":"high_frequency",
"status":"on",
"config":{"target":"IP","interval":20,"wafBlockThreshold":20,"ttl":1800,"distinctWafRuleThreshold":2},
"action":"deny"
}
]
Klasifikasi aturan 2: Pemblokiran traversal direktori
Parameter | Type | Required | Example | Description |
type | String | Yes | directory_traversal | Tipe aturan. Tetapkan nilainya ke directory_traversal. |
status | String | Yes | on | Status aturan. Nilai yang valid: on dan off. Nilai default adalah on. |
config | DirectoryTraversal | No | {"target":"IP","interval":10,"threshold":50,"status":{"code":"404","ratio":70,"count":50},"ttl":1800} | Konfigurasi aturan. Untuk informasi lebih lanjut, lihat string struct berikut. |
action | String | No | deny | Aksi aturan. Nilai yang valid: deny dan monitor. |
Parameter DirectoryTraversal
Parameter | Type | Required | Example | Description |
target | String | Yes | IP | Bidang untuk statistik pembatasan laju. Nilai yang valid: IP, Session, Header, Query String Parameter, dan Cookie Name. |
subKey | String | No | yoursubKey | Subbidang bidang statistik. Parameter ini tersedia jika Anda menggunakan bidang kustom. Misalnya, jika target diatur ke Header, parameter ini menentukan kunci header tersebut. |
interval | Integer | Yes | 10 | Periode deteksi. Nilai yang valid: 5 hingga 1800. Satuan: detik. |
threshold | Integer | Yes | 50 | Jumlah permintaan untuk objek yang dilindungi saat ini melebihi nilai ini. Nilai yang valid: 2 hingga 50000. |
status | RateLimitStatus | Yes | {"code":"404","ratio":70,"count":50} | Kode respons. |
ttl | Integer | Yes | 1800 | Durasi pemblokiran. Nilai yang valid: 60 hingga 86400. Satuan: detik. |
Parameter RateLimitStatus
Parameter | Type | Required | Example | Description |
code | String | Yes | 404 | Kode status HTTP. Tetapkan nilainya ke 404. |
ratio | Integer | Yes | 70 | Persentase respons 404. Nilai yang valid: 1 hingga 100. |
count | Integer | Yes | 50 | Jumlah direktori yang tidak ada. Nilai yang valid: 2 hingga 50000. |
[
{
"type":"directory_traversal",
"status":"on",
"config":{"target":"IP","interval":10,"threshold":50,"status":{"code":"404","ratio":70,"count":50},"ttl":1800},
"action":"deny"
}
]
Klasifikasi aturan 3: Pemblokiran alat pemindaian
Parameter | Type | Required | Example | Description |
type | String | Yes | scan_tools | Tipe aturan. Tetapkan nilainya ke scan_tools. |
status | String | Yes | on | Status aturan. Nilai yang valid: on dan off. Nilai default adalah on. |
config | ScanTools | No | Empty | Konfigurasi aturan. Parameter ini tidak berlaku. |
action | String | No | deny | Aksi aturan. Nilai yang valid: deny dan monitor. |
[
{
"type":"scan_tools",
"status":"on",
"config":{},
"action":"deny"
}
]
Parameter gabungan akhir
[
{
"type":"high_frequency",
"status":"on",
"config":{"target":"IP","interval":20,"wafBlockThreshold":20,"ttl":1800,"distinctWafRuleThreshold":2},
"action":"deny"
},
{
"type":"directory_traversal",
"status":"on",
"config":{"target":"IP","interval":10,"threshold":50,"status":{"code":"404","ratio":70,"count":50},"ttl":1800},
"action":"deny"
},
{
"type":"scan_tools",
"status":"on",
"config":{},
"action":"deny"
}
]
Elemen respons
|
Element |
Type |
Description |
Example |
|
object |
|||
| RequestId |
string |
ID permintaan. |
CB1A380B-09F0-41BB-280B-72F8FD6DA2FE |
| RuleIds |
object |
||
| RuleId |
array |
||
|
string |
ID aturan yang dibuat. |
100001,200002 |
Contoh
Respons sukses
JSONformat
{
"RequestId": "CB1A380B-09F0-41BB-280B-72F8FD6DA2FE",
"RuleIds": {
"RuleId": [
"100001,200002"
]
}
}
Kode kesalahan
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | InvalidParameter | The specified parameter is invalid. | A parameter is set to an invalid value. |
| 400 | Policy.NotExist | The specified policy does not exist. | The specified protection policy does not exist. |
| 400 | RuleConfigs.Malformed | The specified RuleConfigs format is invalid. | The RuleConfigs parameter is in an invalid format. |
| 400 | RuleName.AlreadyExists | Rule name already exists in specified policy. | The specified rule name is already used by another rule. |
| 400 | Rule.QuantityOverflow | Rules are overflowed quantity in specified policy. | The number of rules in the specified policy has already reached the upper limit. |
| 500 | InternalError | An internal error occurred; please try again later. | An internal error occurred. Try again later. If the error persists, submit a ticket. |
| 403 | %s.NotSupport | The specified resource type %s is not supported. | The specified resource type is not supported. To use this type of resource, contact us. |
| 403 | %s.OverQuota | The quantity of %s exceeds the quota. | The number of resources exceeds the quota. If you want to apply for more resources, contact us. |
Lihat Error Codes untuk daftar lengkap.
Catatan rilis
Lihat Release Notes untuk daftar lengkap.