全部产品
Search
文档中心

Web Application Firewall:CreateDefenseRule

更新时间:Dec 13, 2025

Membuat aturan perlindungan inti web.

Coba sekarang

Coba API ini di OpenAPI Explorer tanpa perlu penandatanganan manual. Panggilan yang berhasil akan secara otomatis menghasilkan contoh kode SDK sesuai dengan parameter Anda. Unduh kode tersebut dengan kredensial bawaan yang aman untuk penggunaan lokal.

Test

RAM authorization

Tidak ada otorisasi untuk operasi ini. Jika Anda mengalami masalah saat menjalankan operasi ini, hubungi dukungan teknis.

Parameter permintaan

Parameter

Type

Required

Description

Example

InstanceId

string

Yes

ID instans WAF.

Catatan

Anda dapat memanggil operasi DescribeInstance untuk mengkueri ID instans WAF Anda.

waf_v2_public_cn-****

TemplateId

integer

No

ID templat aturan perlindungan.

Catatan

Parameter ini wajib hanya jika DefenseType diatur ke template.

1122

DefenseScene

string

Yes

Skenario aturan perlindungan.

Jika DefenseType diatur ke template, nilai yang valid adalah:

  • waf_group: perlindungan dasar.

  • waf_base: perlindungan inti web baru.

  • antiscan: perlindungan pemindaian.

  • ip_blacklist: IP blacklist.

  • custom_acl: aturan kustom.

  • whitelist: whitelist.

  • region_block: Location Blacklist.

  • custom_response: respons kustom.

  • cc: perlindungan CC.

  • tamperproof: Perlindungan anti-tamper web.

  • dlp: pencegahan kebocoran data.

  • spike_throttle: Pembatasan lalu lintas puncak.

Jika DefenseType diatur ke resource, nilai yang valid adalah:

  • account_identifier: identifier akun.

Jika DefenseType diatur ke global, nilai yang valid adalah:

  • regular_custom: ekspresi reguler kustom.

waf_group

Rules

string

Yes

Konfigurasi aturan. Tentukan string berupa array parameter dalam format JSON.

Catatan

Parameter bervariasi tergantung pada nilai DefenseScene. Untuk informasi selengkapnya, lihat Parameter aturan perlindungan.

waf_group

ResourceManagerResourceGroupId

string

No

ID kelompok sumber daya.

rg-acfm***q

DefenseType

string

No

Tipe aturan perlindungan. Nilai yang valid:

  • template (default): aturan perlindungan templat.

  • resource: aturan perlindungan untuk objek yang dilindungi tertentu.

  • global: aturan perlindungan global.

template

RegionId

string

No

Wilayah tempat instans WAF ditempatkan. Nilai yang valid:

  • cn-hangzhou: Daratan Tiongkok.

  • ap-southeast-1: Luar daratan Tiongkok.

cn-hangzhou

Resource

string

No

Objek yang dilindungi.

Catatan

Parameter ini wajib hanya jika DefenseType diatur ke resource.

sec****-waf

Parameter aturan perlindungan

Aturan perlindungan templat (template)

Jika DefenseType diatur ke template, konfigurasi aturannya adalah sebagai berikut.

Aturan perlindungan dasar (waf_group)

Parameter

NameTypeRequiredExampleDescription
statusIntegerYes1Status aturan perlindungan. Parameter ini hanya digunakan saat membuat aturan perlindungan. Untuk mengubah status aturan perlindungan, panggil operasi ModifyDefenseRuleStatus dan gunakan parameter RuleStatus. Nilai yang valid:
- 0: dinonaktifkan.
- 1 (default): diaktifkan.




actionStringYesblockAksi aturan perlindungan. Nilai yang valid:
- block: memblokir permintaan.
- monitor: menempatkan permintaan dalam mode pengamatan.




policyIdLongNo1012ID grup aturan perlindungan. Nilai default adalah 1012, yang menunjukkan grup aturan tingkat menengah.
protectionTypeStringNosemaTipe aturan perlindungan. Nilai yang valid:
- regular (default): perlindungan ekspresi reguler.
- sema: perlindungan semantik.




configStringNo{"nonInjectionSql":1}Konfigurasi kustom. Ini adalah string JSON. Untuk informasi selengkapnya, lihat Parameter config detail.

Parameter config detail

  • Jika protectionType diatur ke sema (perlindungan semantik)

NameTypeRequiredExampleDescription
nonInjectionSqlIntegerYes1Status pendeteksian serangan non-injeksi. Nilai yang valid:
- 0: dinonaktifkan.
- 1 (default): diaktifkan.




Contoh

{
    "DefenseScene": "waf_group",
    "TemplateId": 322,
    "InstanceId": "waf_cn****",
    "Rules": "[{\"status\":1,\"policyId\":1012,\"action\":\"block\"},{\"status\":1,\"action\":\"block\",\"protectionType\":\"sema\",\"config\":\"{\\\"nonInjectionSql\\\":1}\"}]"
}

Aturan perlindungan inti web baru (waf_base)

Parameter

NameTypeRequiredExampleDescription
autoUpdateBooleanYestrueMenentukan apakah akan mengaktifkan pembaruan otomatis. Nilai yang valid:
- true: mengaktifkan pembaruan otomatis.
- false: menonaktifkan pembaruan otomatis.




configArrayYes[{"ruleType":"system","ruleDetail":[{"ruleId":13000412,"ruleStatus":1,"ruleAction":"block"}]}]Konfigurasi aturan yang akan dimodifikasi. Untuk informasi selengkapnya, lihat Parameter config detail.
Penting Anda dapat memanggil operasi DescribeBaseSystemRules untuk mengkueri konfigurasi aturan perlindungan sistem dari templat. Anda dapat memanggil operasi DescribeDefenseRules untuk mengkueri konfigurasi aturan ekspresi reguler kustom dari templat.

Parameter config detail

NameTypeRequiredExampleDescription
ruleTypeStringYessystemTipe aturan. Nilai yang valid:
- system: aturan sistem dalam perlindungan dasar.
- custom: aturan ekspresi reguler kustom dalam perlindungan dasar.




ruleBatchOperationConfigStringNodefaultOperasi batch untuk memodifikasi aturan. Jika parameter ini tidak kosong, parameter RuleDetail harus kosong. Nilai yang valid:
- default: mengembalikan ke pengaturan default.
- all_on: mengaktifkan semua aturan.
- all_off: menonaktifkan semua aturan.
- all_block: mengatur aksi semua aturan menjadi block.
- all_monitor: mengatur aksi semua aturan menjadi monitor.













ruleDetailArrayNo[{"ruleId":13000412,"ruleStatus":1,"ruleAction":"block"}]]Konfigurasi aturan yang akan dimodifikasi. Berisi parameter berikut:
- ruleId: ID aturan.
- ruleStatus: status aturan.
- ruleAction: aksi aturan.







Contoh

{
    "DefenseScene": "waf_base",
    "TemplateId": 322,
    "InstanceId": "waf_cn****",
    "Rules": "[{\"autoUpdate\":true,\"config\":[{\"ruleType\":\"system\",\"ruleDetail\":[{\"ruleId\":13000412,\"ruleStatus\":1,\"ruleAction\":\"block\"}]}]}]"
}

Aturan perlindungan pemindaian (antiscan)

Parameter

NameTypeRequiredExampleDescription
protectionTypeStringYeshighfreqSubtipe aturan perlindungan pemindaian. Nilai yang valid:
- highfreq: pemblokiran pemindaian frekuensi tinggi.
- dirscan: pemblokiran penelusuran direktori.
- scantools: pemblokiran alat pemindaian.







statusIntegerYes1Status aturan perlindungan. Parameter ini hanya digunakan saat membuat aturan perlindungan. Untuk mengubah status aturan perlindungan, panggil operasi ModifyDefenseRuleStatus dan gunakan parameter RuleStatus. Nilai yang valid:
- 0: dinonaktifkan.
- 1 (default): diaktifkan.




actionStringYesblockAksi aturan perlindungan. Nilai yang valid:
- block: memblokir permintaan.
- monitor: menempatkan permintaan dalam mode pengamatan.




configStringNo{"target":"remote_addr","interval":60,"ttl":180,"count":20}Konfigurasi kustom. Ini adalah string JSON. Untuk informasi selengkapnya, lihat Parameter config detail.

Parameter config detail

  • Jika protectionType diatur ke highfreq (pemblokiran pemindaian frekuensi tinggi)

NameTypeRequiredExampleDescription
targetStringYesremote_addrTipe objek statistik. Nilai yang valid:
- remote_addr (default): alamat IP.
- cookie.acw_tc: session.
- header: header kustom. Jika Anda memilih nilai ini, Anda harus menentukan header yang akan digunakan untuk statistik di parameter subkey.
- queryarg: parameter kustom. Jika Anda memilih nilai ini, Anda harus menentukan nama parameter kustom yang akan digunakan untuk statistik di parameter subkey.
- cookie: cookie kustom. Jika Anda memilih nilai ini, Anda harus menentukan cookie yang akan digunakan untuk statistik di parameter subkey.













subKeyStringNoabcSub-fitur objek statistik. Parameter ini wajib ketika target diatur ke cookie, header, atau queryarg.
intervalIntegerNo60Periode deteksi dalam detik. Nilai default adalah 60.
Rentang valid: 5 hingga 1800.

ttlIntegerNo1800Periode pemblokiran dalam detik. Nilai default adalah 1800.
Rentang valid: 60 hingga 86400.

countIntegerNo20Jumlah maksimum kali aturan perlindungan dasar dapat dipicu. Nilai default adalah 20.
Rentang valid: 3 hingga 50000.

ruleIdCountIntegerNo2Jumlah maksimum aturan yang dipicu. Nilai default adalah 2.
Rentang valid: 1 hingga 50.

  • Jika protectionType diatur ke dirscan (pemblokiran penelusuran direktori)

NameTypeRequiredExampleDescription
targetStringYesremote_addrObjek untuk statistik dan pemblokiran. Nilai yang valid:
- remote_addr (default): alamat IP.
- cookie.acw_tc: session.
- header: header kustom.
- queryarg: parameter kustom.
- cookie: cookie kustom.













subKeyStringNo1Sub-fitur objek untuk statistik dan pemblokiran. Parameter ini wajib hanya ketika target diatur ke header, queryarg, atau cookie.
intervalIntegerNo60Periode deteksi dalam detik. Nilai default adalah 60.
Rentang valid: 5 hingga 1800.

ttlIntegerNo1800Periode pemblokiran dalam detik. Nilai default adalah 1800.
Rentang valid: 60 hingga 86400.

countIntegerNo20Jumlah maksimum kali aturan perlindungan dasar dapat dipicu. Nilai default adalah 20.
Rentang valid: 3 hingga 50000.

weightFloatNo2Persentase kode respons 404. Nilai default adalah 0,7.
Rentang valid: 0,01 hingga 1,0, akurat hingga dua tempat desimal.

uriNumIntegerNo2Jumlah maksimum direktori yang tidak ada. Nilai default adalah 50.
Rentang valid: 2 hingga 50000.

Contoh

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 2222,
    "DefenseScene": "antiscan",
    "Rules": "[{\"protectionType\":\"scantools\",\"action\":\"block\",\"status\":1},{\"protectionType\":\"dirscan\",\"status\":1,\"action\":\"block\",\"config\":\"{\\\"target\\\":\\\"remote_addr\\\",\\\"interval\\\":10,\\\"ttl\\\":1800,\\\"weight\\\":0.7,\\\"uriNum\\\":50,\\\"count\\\":50}\"},{\"protectionType\":\"highfreq\",\"status\":1,\"action\":\"block\",\"config\":\"{\\\"target\\\":\\\"remote_addr\\\",\\\"interval\\\":60,\\\"ttl\\\":1800,\\\"count\\\":20,\\\"ruleIdCount\\\":2}\"}]"
}

Aturan daftar hitam IP (ip_blacklist)

Parameter

NameTypeRequiredExampleDescription
nameStringYesiptestNama aturan daftar hitam IP. Nama dapat terdiri dari 1 hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-).
statusIntegerYes1Status aturan perlindungan. Parameter ini hanya digunakan saat membuat aturan perlindungan. Untuk mengubah status aturan perlindungan, panggil operasi ModifyDefenseRuleStatus dan gunakan parameter RuleStatus. Nilai yang valid:
- 0: dinonaktifkan.
- 1 (default): diaktifkan.




actionStringYesblockAksi aturan perlindungan. Nilai yang valid:
- block: memblokir permintaan.
- monitor: menempatkan permintaan dalam mode pengamatan.




remoteAddrArrayYes["1.1.XX.XX", "3.1.XX.XX/24"]Daftar alamat IP yang akan ditambahkan ke daftar hitam. Tentukan daftar dalam format ["ip1","ip2",...].

Contoh

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 2222,
    "DefenseScene": "ip_blacklist",
    "Rules": "[{\"name\":\"iptest1\",\"remoteAddr\":[\"1.1.1.2\",\"3.3.3.3/24\"],\"action\":\"monitor\",\"status\":1},{\"name\":\"iptest2\",\"remoteAddr\":[\"4.4.4.4\",\"5.5.5.5/32\"],\"action\":\"block\",\"status\":1}]"
}

Aturan kustom (custom_acl)

Parameter

NameTypeRequiredExampleDescription
nameStringYesiptestNama aturan ACL kustom. Nama dapat terdiri dari 1 hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-).
statusIntegerYes1Status aturan perlindungan. Parameter ini hanya digunakan saat membuat aturan perlindungan. Untuk mengubah status aturan perlindungan, panggil operasi ModifyDefenseRuleStatus dan gunakan parameter RuleStatus. Nilai yang valid:
- 0: dinonaktifkan.
- 1 (default): diaktifkan.




actionStringYesblockAksi aturan perlindungan. Nilai yang valid:
- block: memblokir permintaan.
- monitor: menempatkan permintaan dalam mode pengamatan.
- js: melakukan tantangan JavaScript.
- captcha: menggunakan slider.
- captcha_strict: menggunakan slider ketat.
Note Untuk aksi yang didukung oleh aturan ACL kustom, lihat aksi aturan kustom yang ditampilkan di Konsol WAF.
















conditionsArrayYes[{"key":"IP","opValue":"eq","values":"11.XX.XX.1"},{"key":"Header","subKey":"abc","opValue":"contains","values":"test"}]Karakteristik trafik untuk ACL. Ini adalah string JSON. Anda dapat menentukan hingga lima kondisi pencocokan. Untuk informasi selengkapnya, lihat Parameter conditions detail.
ccStatusIntegerYes1Menentukan apakah akan mengaktifkan pembatasan laju. Nilai yang valid:
- 0: menonaktifkan pembatasan laju.
- 1: mengaktifkan pembatasan laju.




ratelimitJSONNo{"target":"remote_addr","interval":5,"threshold":2,"ttl":1800,"status":{"code":404,"count":2}}Konfigurasi detail pembatasan laju. Ini adalah string JSON. Parameter ini wajib hanya jika ccStatus diatur ke 1. Untuk informasi selengkapnya, lihat Parameter ratelimit detail.
effectStringNoruleCakupan aturan pembatasan laju. Parameter ini wajib hanya jika ccStatus diatur ke 1. Nilai yang valid:
- service: Aturan berlaku untuk objek yang dilindungi.
- rule: Aturan berlaku untuk satu aturan tunggal.




grayStatusIntegerNo1Menentukan apakah akan mengaktifkan rilis canary untuk aturan. Nilai yang valid:
- 0 (default): menonaktifkan rilis canary.
- 1: mengaktifkan rilis canary.




grayConfigJSONNo{"grayTarget":"header","grayRate":80,"graySubKey":"test"}Konfigurasi rilis canary untuk aturan. Ini adalah string JSON. Parameter ini wajib hanya jika grayStatus diatur ke 1. Untuk informasi selengkapnya, lihat Parameter grayConfig detail.
timeConfigJSONNo{"timeScope":"period","timeZone":8,"timePeriods":[{"start":1758771729787,"end":1758816000000}]}Waktu terjadwal agar aturan berlaku. Ini adalah string JSON. Untuk informasi selengkapnya, lihat Parameter timeConfig detail.

Parameter conditions detail

NameTypeRequiredExampleDescription
keyStringYesIPBidang pencocokan. Nilai yang valid: URL, URLPath, IP, Referer, User-Agent, Params, Cookie, Content-Type, Content-Length, X-Forwarded-For, Post-Body, Http-Method, Header, Extension, Filename, Server-Port, Host, Cookie-Exact, Query-Arg, Post-Arg.
Penting Bidang pencocokan yang didukung bervariasi tergantung versi WAF. Gunakan bidang pencocokan untuk aturan kustom di Konsol WAF.
subKeyStringNoabcBidang sub-pencocokan kustom.
Note Tidak semua bidang pencocokan (key) memiliki bidang sub-pencocokan kustom (subKey). Untuk informasi tentang bidang pencocokan mana yang mendukung bidang sub-pencocokan, lihat hubungan antara bidang pencocokan dan bidang pencocokan kustom untuk aturan kustom di Konsol WAF.

opValueStringYescontainOperator logika. Nilai yang valid:
- not-contain: tidak mengandung.
- contain: mengandung.
- none: tidak ada.
- ne: tidak sama dengan.
- eq: sama dengan.
- lt: kurang dari.
- gt: lebih dari.
- len-lt: panjang kurang dari.
- len-eq: panjang sama dengan.
- len-gt: panjang lebih dari.
- not-match: tidak cocok.
- match-one: sama dengan salah satu dari beberapa nilai.
- all-not-match: tidak sama dengan nilai apa pun.
- all-not-contain: tidak mengandung nilai apa pun.
- contain-one: mengandung salah satu dari beberapa nilai.
- not-regex: tidak cocok dengan ekspresi reguler.
- regex: cocok dengan ekspresi reguler.
- all-not-regex: tidak cocok dengan ekspresi reguler apa pun.
- regex-one: cocok dengan salah satu ekspresi reguler.
- prefix-match: cocok dengan awalan.
- suffix-match: cocok dengan akhiran.
- empty: kosong.
- exists: bidang ada.
- inl: ada dalam daftar.
Note Tidak semua bidang pencocokan (key) mendukung semua operator logika (opValue). Untuk informasi tentang operator logika yang didukung untuk setiap bidang pencocokan, lihat hubungan antara bidang pencocokan dan operator logika untuk aturan kustom di Konsol WAF.









































































valuesStringYesabcKonten pencocokan. Tentukan konten sesuai kebutuhan.
Note Nilai yang valid untuk parameter operator logika (opValue) dan konten pencocokan (values) bergantung pada bidang pencocokan (key) yang ditentukan.

Parameter ratelimit detail

NameTypeRequiredExampleDescription
targetStringYesremote_addrTipe objek statistik. Nilai yang valid:
- remote_addr (default): alamat IP.
- cookie.acw_tc: session.
- header: header kustom. Jika Anda memilih nilai ini, Anda harus menentukan header yang akan digunakan untuk statistik di parameter subkey.
- queryarg: parameter kustom. Jika Anda memilih nilai ini, Anda harus menentukan nama parameter kustom yang akan digunakan untuk statistik di parameter subkey.
- cookie: cookie kustom. Jika Anda memilih nilai ini, Anda harus menentukan cookie yang akan digunakan untuk statistik di parameter subkey.













subKeyStringNoabcSub-fitur objek statistik. Parameter ini wajib ketika target diatur ke cookie, header, atau queryarg.
intervalIntegerYes60Periode statistik dalam detik. Ini adalah periode untuk menghitung upaya akses dan digunakan bersama parameter ambang batas (threshold).
Rentang valid: 1 hingga 1800.

thresholdIntegerYes200Jumlah maksimum kali objek statistik tunggal dapat mengakses alamat yang dilindungi dalam periode deteksi.
ttlIntegerYes1800Durasi aksi dalam detik.
Rentang valid: 60 hingga 86400.

statusJSONNo{"code":404,"count":200}Pengaturan frekuensi kode respons. Ini adalah string JSON yang berisi parameter berikut:
code: Integer, wajib. Kode respons yang ditentukan.
count: Integer, opsional. Ambang pemicu. Aturan perlindungan dipicu jika kode respons yang ditentukan muncul lebih banyak kali daripada ambang ini. Rentang valid: 2 hingga 50000. Anda dapat mengatur parameter count atau ratio.
ratio: Integer, opsional. Ambang pemicu (persentase). Aturan perlindungan dipicu jika persentase kode respons yang ditentukan melebihi ambang ini. Rentang valid: 1 hingga 100. Anda dapat mengatur parameter count atau ratio.







Parameter grayConfig detail

NameTypeRequiredExampleDescription
grayTargetStringYes80Tipe objek rilis canary. Nilai yang valid:
- remote_addr (default): alamat IP.
- cookie.acw_tc: session.
- header: header kustom. Jika Anda memilih nilai ini, Anda harus menentukan header yang akan digunakan untuk statistik di parameter graySubKey.
- queryarg: parameter kustom. Jika Anda memilih nilai ini, Anda harus menentukan nama parameter kustom yang akan digunakan untuk statistik di parameter graySubKey.
- cookie: cookie kustom. Jika Anda memilih nilai ini, Anda harus menentukan cookie yang akan digunakan untuk statistik di parameter graySubKey.













graySubKeyStringNoabcSub-fitur objek statistik. Parameter ini wajib ketika grayTarget diatur ke cookie, header, atau queryarg.
grayRateIntegerYes20Persentase trafik untuk rilis canary. Rentang valid: 1 hingga 100.

Parameter timeConfig detail

NameTypeRequiredExampleDescription
timeScopeStringYesperidRentang waktu efektif aturan. Nilai yang valid:
- permanent (default): selalu efektif.
- period: efektif selama periode waktu tertentu.
- cycle: efektif secara berkala.







timeZoneIntegerYes8Zona waktu agar aturan berlaku. Nilai default adalah 8. Rentang valid: -12 hingga 12. 0 menunjukkan UTC. 8 menunjukkan UTC+8. -8 menunjukkan UTC-8.
timePeriodsArrayNo[{"start":1758771729787,"end":1758816000000}]Periode waktu saat aturan efektif. Parameter ini wajib ketika timeScope diatur ke period. Anda dapat mengatur beberapa periode waktu.
- start: Long, wajib. Waktu mulai aturan, ditentukan sebagai stempel waktu UNIX dalam milidetik.
- end: Long, wajib. Waktu akhir aturan, ditentukan sebagai stempel waktu UNIX dalam milidetik.




weekTimePeriodsArrayNo[{"day":"1","dayPeriods":[{"start":0,"end":51644084}]},{"day":"1,2,5","dayPeriods":[{"start":0,"end":42928908}]}]Periode waktu berkala saat aturan efektif. Parameter ini wajib ketika timeScope diatur ke cycle. Anda dapat mengatur beberapa periode waktu.
- day: String, wajib. Hari dalam seminggu saat aturan efektif. Rentang valid: 1 hingga 7. Pisahkan beberapa hari dengan koma (,). Misalnya, nilai 1 berarti aturan efektif setiap Senin.
- dayPeriods: Array, wajib. Periode waktu setiap hari saat aturan efektif. Termasuk waktu mulai start dan waktu akhir end. Anda dapat mengatur beberapa periode waktu.
     • start: Long, wajib. Waktu mulai aturan setiap hari, ditentukan sebagai stempel waktu milidetik relatif terhadap 00:00 hari tersebut. Rentang valid: [0-86400000).
     • end: Long, wajib. Waktu akhir aturan setiap hari, ditentukan sebagai stempel waktu milidetik relatif terhadap 00:00 hari tersebut. Rentang valid: [0-86400000).










Contoh

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 6242,
    "DefenseScene": "custom_acl",
    "Rules":"[{\"name\":\"acl_test\",\"action\":\"block\",\"conditions\":[{\"key\":\"URL\",\"opValue\":\"contain\",\"values\":\"abc\"}],\"ratelimit\":{\"target\":\"remote_addr\",\"interval\":5,\"threshold\":2,\"ttl\":1800,\"status\":{\"code\":404,\"count\":2}},\"ccStatus\":1,\"effect\":\"rule\",\"status\":1,\"origin\":\"custom\",\"timeConfig\":{\"timeScope\":\"cycle\",\"timeZone\":8,\"weekTimePeriods\":[{\"day\":\"1\",\"dayPeriods\":[{\"start\":0,\"end\":51644084}]},{\"day\":\"1,2,5\",\"dayPeriods\":[{\"start\":0,\"end\":42928908}]}]},\"grayStatus\":1,\"grayConfig\":{\"grayRate\":80,\"graySubKey\":\"test\",\"grayTarget\":\"header\"}}]"
}

Aturan daftar putih (whitelist)

Parameter

NameTypeRequiredExampleDescription
nameStringYeswhitelistTestNama aturan daftar putih. Nama dapat terdiri dari 1 hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-).
statusIntegerYes1Status aturan perlindungan. Parameter ini hanya digunakan saat membuat aturan perlindungan. Untuk mengubah status aturan perlindungan, panggil operasi ModifyDefenseRuleStatus dan gunakan parameter RuleStatus. Nilai yang valid:
- 0: dinonaktifkan.
- 1 (default): diaktifkan.




conditionsArrayYes[{"key":"IP","opValue":"eq","values":"11.XX.XX.1"},{"key":"Header","subKey":"abc","opValue":"contains","values":"test"}]Karakteristik trafik untuk daftar putih. Ini adalah string JSON. Anda dapat menentukan hingga lima kondisi pencocokan. Untuk informasi selengkapnya, lihat Parameter conditions detail.
tagsArrayYes["waf", "regular"]Daftar modul yang diterapkan oleh aturan daftar putih. Tentukan daftar dalam format ["XX1", "XX2",...]. Nilai yang valid:
- waf: semua modul.
- customrule_rule: aturan kustom tertentu.
- customrule: aturan kustom.
- blacklist: daftar hitam IP.
- blacklist_rule: aturan daftar hitam IP tertentu.
- antiscan: perlindungan pemindaian.
- regular: aturan perlindungan dasar.
- regular_rule: aturan ekspresi reguler perlindungan dasar tertentu.
- regular_type: tipe aturan ekspresi reguler perlindungan dasar tertentu.
- regular_field: bidang perlindungan dasar tertentu.
- major_protection: dukungan acara besar.
- cc: perlindungan CC.
- region_block: Location Blacklist.
- antibot_scene: perlindungan skenario BOT.
- antibot_scene_rule: ID aturan perlindungan skenario BOT tertentu.
- antibot_scene_label: tipe aturan perlindungan skenario BOT tertentu.
- dlp: pencegahan kebocoran data.
- tamperproof: Perlindungan anti-tamper web.
- spike_throttle: Pembatasan lalu lintas puncak.























































regularRulesArrayNo[ "111111", "222222" ]Daftar ID aturan ekspresi reguler yang akan dikecualikan dari deteksi. Tentukan daftar dalam format ["XX1", "XX2",...]. Parameter ini wajib hanya jika aturan daftar putih berlaku untuk aturan ekspresi reguler perlindungan dasar tertentu (tags diatur ke regular_rule).
regularTypesArrayNo[ "xss", "css" ]Daftar tipe aturan ekspresi reguler yang akan dikecualikan dari deteksi. Tentukan daftar dalam format ["XX1", "XX2",...]. Parameter ini wajib hanya jika aturan daftar putih berlaku untuk tipe ekspresi reguler aplikasi web (tags diatur ke regular_type). Nilai yang valid:
- sqli: Injeksi SQL.
- xss: skrip lintas situs.
- code_exec: eksekusi kode.
- crlf: CRLF.
- lfilei: inklusi file lokal.
- rfilei: penyertaan file jarak jauh.
- webshell: WebShell.
- csrf: CSRF.
- other: lainnya.

























regularFieldsArrayNo[{"key":"URL"},{"key":"Header","subKey":"abc"}]Daftar bidang perlindungan dasar yang akan dikecualikan dari deteksi. Ini adalah string JSON. Anda dapat menentukan hingga lima kondisi pencocokan. Untuk informasi selengkapnya, lihat Parameter regularFields detail. Parameter ini wajib hanya jika aturan daftar putih berlaku untuk bidang perlindungan dasar tertentu (tags diatur ke regular_field).
customRulesArrayNo[ "111111", "222222" ]Daftar ID aturan kustom yang akan dikecualikan dari deteksi. Tentukan daftar dalam format ["XX1", "XX2",...]. Parameter ini wajib hanya jika aturan daftar putih berlaku untuk aturan kustom tertentu (tags diatur ke customrule_rule).
blacklistRulesArrayNo[ "111111", "222222" ]Daftar ID aturan daftar hitam IP yang akan dikecualikan dari deteksi. Tentukan daftar dalam format ["XX1", "XX2",...]. Parameter ini wajib hanya jika aturan daftar putih berlaku untuk aturan daftar hitam IP tertentu (tags diatur ke blacklist_rule).
botRulesArrayNo[ "111111", "222222" ]Daftar ID aturan perlindungan skenario BOT yang akan dikecualikan dari deteksi. Tentukan daftar dalam format ["XX1", "XX2",...]. Parameter ini wajib hanya jika aturan daftar putih berlaku untuk ID aturan perlindungan skenario BOT tertentu (tags diatur ke antibot_scene_rule).
botLablesArrayNo[ "abc", "cdcc" ]Daftar tipe aturan perlindungan skenario BOT yang akan dikecualikan dari deteksi. Tentukan daftar dalam format ["XX1", "XX2",...]. Parameter ini wajib hanya jika aturan daftar putih berlaku untuk tipe aturan perlindungan skenario BOT tertentu (tags diatur ke antibot_scene_label). Anda dapat memanggil operasi DescribeBotRuleLabels untuk mengkueri tipe aturan BOT.

Parameter conditions detail

NameTypeRequiredExampleDescription
keyStringYesIPBidang pencocokan. Nilai yang valid: URL, URLPath, IP, Referer, User-Agent, Params, Cookie, Content-Type, Content-Length, X-Forwarded-For, Post-Body, Http-Method, Header, Server-Port, Host, Query-Arg.
Penting Bidang pencocokan yang didukung bervariasi tergantung versi WAF. Gunakan bidang pencocokan untuk aturan daftar putih di Konsol WAF.
subKeyStringNoabcBidang sub-pencocokan kustom.
Note Tidak semua bidang pencocokan (key) untuk aturan daftar putih memiliki bidang sub-pencocokan kustom (subKey). Untuk informasi tentang bidang pencocokan mana yang mendukung bidang sub-pencocokan, lihat hubungan antara bidang pencocokan dan bidang pencocokan kustom untuk aturan daftar putih di Konsol WAF.

opValueStringYescontainOperator logika. Nilai yang valid:
- not-contain: tidak mengandung.
- contain: mengandung.
- none: tidak ada.
- ne: tidak sama dengan.
- eq: sama dengan.
- lt: kurang dari.
- gt: lebih dari.
- len-lt: panjang kurang dari.
- len-eq: panjang sama dengan.
- len-gt: panjang lebih dari.
- not-match: tidak cocok.
- match-one: sama dengan salah satu dari beberapa nilai.
- all-not-match: tidak sama dengan nilai apa pun.
- all-not-contain: tidak mengandung nilai apa pun.
- contain-one: mengandung salah satu dari beberapa nilai.
- not-regex: tidak cocok dengan ekspresi reguler.
- regex: cocok dengan ekspresi reguler.
- all-not-regex: tidak cocok dengan ekspresi reguler apa pun.
- regex-one: cocok dengan salah satu ekspresi reguler.
- prefix-match: cocok dengan awalan.
- suffix-match: cocok dengan akhiran.
- empty: kosong.
- exists: bidang ada.
- inl: ada dalam daftar.
Note Tidak semua bidang pencocokan (key) untuk aturan daftar putih mendukung semua operator logika (opValue). Untuk informasi tentang operator logika yang didukung untuk setiap bidang pencocokan, lihat hubungan antara bidang pencocokan dan operator logika untuk aturan daftar putih di Konsol WAF.









































































valuesStringYesabcKonten pencocokan. Tentukan konten sesuai kebutuhan.
Note Nilai yang valid untuk parameter operator logika (opValue) dan konten pencocokan (values) bergantung pada bidang pencocokan (key) yang ditentukan.

Parameter regularFields detail

NameTypeRequiredExampleDescription
keyStringYesURLBidang yang akan dikecualikan dari deteksi. Nilai yang valid:
- URL-All: semua bidang terkait URI.
- URL: bidang URI tertentu.
- URLPath: Jalur URI.
- Query-All: semua bidang terkait kueri.
- Query-Arg: parameter kueri tertentu.
- Cookie-All: semua bidang terkait cookie.
- Cookie-Exact: nama cookie tertentu.
- Header-All: semua bidang terkait header.
- Header: bidang header tertentu.
- Body-All: semua parameter body.




























subKeyStringNoabcBidang tertentu. Parameter ini wajib ketika bidang yang akan dikecualikan dari deteksi (key) diatur ke URLPath, Query-Arg, Cookie-Exact, atau Header.

Contoh

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 9242,
    "DefenseScene": "whitelist",
    "Rules":"[{\"name\":\"whitelistTest\",\"tags\":[\"regular_rule\",\"customrule\"],\"status\":1,\"origin\":\"custom\",\"conditions\":[{\"key\":\"URL\",\"opValue\":\"contain\",\"values\":\"/test\"},{\"key\":\"Header\",\"opValue\":\"eq\",\"values\":\"ffff\",\"subKey\":\"abc\"}],\"regularRules\":[\"123444\",\"444444\"]}]"
}

Aturan respons kustom (custom_response)

Parameter

NameTypeRequiredExampleDescription
responseTypeStringYesresponse_blockTipe respons kustom. Tetapkan nilainya ke response_block, yang menunjukkan respons yang diblokir.
statusIntegerYes1Status aturan perlindungan. Parameter ini hanya digunakan saat membuat aturan perlindungan. Untuk mengubah status aturan perlindungan, panggil operasi ModifyDefenseRuleStatus dan gunakan parameter RuleStatus. Nilai yang valid:
- 0: dinonaktifkan.
- 1 (default): diaktifkan.




configStringYes{"responseCode":400,"responseHeaders":[{"key":"custom","value":"123"},{"key":"aaa","value":"2223"}],"responseContent":"HelloWorld"}Konfigurasi kustom. Ini adalah string JSON. Untuk informasi selengkapnya, lihat Parameter config detail.

Parameter config detail

NameTypeRequiredExampleDescription
responseCodeIntegerYes400Kode respons yang ditentukan.
responseHeadersArrayNo[{"key":"custom","value":"123"},{"key":"aaaa","value":"2223"}]Daftar header respons kustom. Ini adalah string JSON. key adalah bidang header dan value adalah nilai header.
responseContentStringYeshelloworldKonten respons kustom.

Contoh

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 2841,
    "DefenseScene": "custom_response",
    "Rules":"[{\"responseType\":\"response_block\",\"config\":\"{\\\"templateName\\\":\\\"aaa\\\",\\\"responseCode\\\":\\\"400\\\",\\\"responseContent\\\":\\\"helloWorld\\\",\\\"responseHeaders\\\":[{\\\"key\\\":\\\"test1\\\",\\\"value\\\":\\\"abc\\\"}]}\",\"status\":1}]"
}

Aturan Daftar Hitam Lokasi (region_block)

Parameter

NameTypeRequiredExampleDescription
cnRegionListStringNo610000,230000Daftar wilayah di Daratan Tiongkok. Untuk memblokir akses dari semua wilayah di Daratan Tiongkok kecuali Hong Kong (Tiongkok), Makau (Tiongkok), dan Taiwan (Tiongkok), tentukan ["CN"]. Pisahkan beberapa wilayah dengan koma (,). Untuk informasi selengkapnya tentang kode wilayah, lihat Kode wilayah untuk Daratan Tiongkok.
abroadRegionListStringNoKE,KGDaftar wilayah di luar Daratan Tiongkok. Pisahkan beberapa wilayah dengan koma (,). Anda dapat memanggil operasi DescribeIpAbroadCountryInfos untuk mengkueri negara dan wilayah yang didukung di luar Daratan Tiongkok.
statusIntegerYes1Status aturan perlindungan. Parameter ini hanya digunakan saat membuat aturan perlindungan. Untuk mengubah status aturan perlindungan, panggil operasi ModifyDefenseRuleStatus dan gunakan parameter RuleStatus. Nilai yang valid:
- 0: dinonaktifkan.
- 1 (default): diaktifkan.




actionStringYesblockAksi aturan perlindungan. Nilai yang valid:
- block: memblokir permintaan.
- monitor: menempatkan permintaan dalam mode pengamatan.




Kode wilayah untuk Daratan Tiongkok

{
    "110000": "Beijing",
    "120000": "Tianjin",
    "130000": "Hebei Province",
    "140000": "Shanxi Province",
    "150000": "Inner Mongolia Autonomous Region",
    "210000": "Liaoning Province",
    "220000": "Jilin Province",
    "230000": "Heilongjiang Province",
    "310000": "Shanghai",
    "320000": "Jiangsu Province",
    "330000": "Zhejiang Province",
    "340000": "Anhui Province",
    "350000": "Fujian Province",
    "360000": "Jiangxi Province",
    "370000": "Shandong Province",
    "410000": "Henan Province",
    "420000": "Hubei Province",
    "430000": "Hunan Province",
    "440000": "Guangdong Province",
    "450000": "Guangxi Zhuang Autonomous Region",
    "460000": "Hainan Province",
    "500000": "Chongqing",
    "510000": "Sichuan Province",
    "520000": "Guizhou Province",
    "530000": "Yunnan Province",
    "540000": "Tibet Autonomous Region",
    "610000": "Shaanxi Province",
    "620000": "Gansu Province",
    "630000": "Qinghai Province",
    "640000": "Ningxia Hui Autonomous Region",
    "650000": "Xinjiang Uygur Autonomous Region",
    "MO_01": "Macao (China)",
    "HK_01": "Hong Kong (China)",
    "TW_01": "Taiwan (China)",
    "CN": "Regions in the Chinese mainland (excluding Hong Kong, Macao, and Taiwan)",
}
Contoh
{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 2341,
    "DefenseScene": "region_block",
    "Rules": "[{\"cnRegionList\":\"CN,HK_01,TW_01,MO_01\",\"abroadRegionList\":\"AU,NZ\",\"action\":\"block\",\"status\":1}]"
}

Aturan perlindungan CC (cc)

Parameter

NameTypeRequiredExampleDescription
modeIntegerYes0Mode perlindungan CC. Nilai yang valid:
- 0 (default): perlindungan normal.
- 1: perlindungan darurat.




statusIntegerYes1Status aturan perlindungan. Parameter ini hanya digunakan saat membuat aturan perlindungan. Untuk mengubah status aturan perlindungan, panggil operasi ModifyDefenseRuleStatus dan gunakan parameter RuleStatus. Nilai yang valid:
- 0: dinonaktifkan.
- 1 (default): diaktifkan.




Contoh

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 2241,
    "DefenseScene": "cc",
    "Rules":"[{\"mode\":0,\"status\":1}]"
}

Aturan perlindungan anti-tamper web (tamperproof)

Parameter

NameTypeRequiredExampleDescription
nameStringYestestNama aturan perlindungan. Nama dapat terdiri dari 1 hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-).
urlStringYes/abcAlamat halaman yang di-cache.
uaStringNoappUser-agent yang ditentukan untuk mengakses jalur tersebut.
protocolStringYeshttpsTipe protokol alamat halaman yang di-cache. Nilai yang valid: http, https.
statusIntegerYes1Status aturan perlindungan. Parameter ini hanya digunakan saat membuat aturan perlindungan. Untuk mengubah status aturan perlindungan, panggil operasi ModifyDefenseRuleStatus dan gunakan parameter RuleStatus. Nilai yang valid:
- 0: dinonaktifkan.
- 1 (default): diaktifkan.




Contoh

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 1241,
    "DefenseScene": "tamperproof",
    "Rules": "[{\"name\":\"test1\",\"url\":\"www.test1.com\",\"ua\":\"firefox\",\"protocol\":\"https\",\"status\":1}]"
}

Aturan pencegahan kebocoran data (dlp)

Parameter

NameTypeRequiredExampleDescription
nameStringYestestNama aturan perlindungan. Nama dapat terdiri dari 1 hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-).
conditionsArrayYes[{"key":"HttpCode","opValue":"contain","values":"400,401,402,403,404,405,500,501,502,503,504,505"},{"key":"URL","opValue":"contain","values":"test"}]Kondisi pencocokan. Ini adalah string JSON. Anda dapat mengatur hingga dua kondisi pencocokan, yang memiliki hubungan logika AND. Untuk informasi selengkapnya, lihat Parameter conditions detail.
statusIntegerYes1Status aturan perlindungan. Parameter ini hanya digunakan saat membuat aturan perlindungan. Untuk mengubah status aturan perlindungan, panggil operasi ModifyDefenseRuleStatus dan gunakan parameter RuleStatus. Nilai yang valid:
- 0: dinonaktifkan.
- 1 (default): diaktifkan.




actionStringYesblockAksi aturan perlindungan. Nilai yang valid:
- block: memblokir permintaan. Aksi ini hanya berlaku untuk skenario yang mencakup kondisi pencocokan kode respons.
- monitor: menempatkan permintaan dalam mode pengamatan.
- filter: menyaring informasi sensitif. Aksi ini hanya berlaku untuk skenario yang mencakup kondisi pencocokan informasi sensitif.







Parameter conditions detail

NameTypeRequiredExampleDescription
keyStringYesURLBidang pencocokan. Nilai yang valid: URL, HttpCode, SensitiveInfo.
opValueStringYescontainOperator logika. Nilainya tetap contain.
valuesStringYesabcKonten pencocokan. Pisahkan beberapa nilai dengan koma (,).
Nilai yang valid untuk HttpCode: 400, 401, 402, 403, 404, 405 (mewakili 405-499), 500, 501, 502, 503, 504, 505 (mewakili 505-599).
Nilai yang valid untuk SensitiveInfo:
- phone: nomor telepon.
- card: kartu kredit.
- id: kartu identitas.
- word: kata sensitif default.
















Contoh

{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 5241,
    "DefenseScene": "dlp",
    "Rules":"[{\"name\":\"test\",\"action\":\"filter\",\"status\":1,\"conditions\":[{\"key\":\"SensitiveInfo\",\"opValue\":\"contain\",\"values\":\"id,card\"},{\"key\":\"URL\",\"opValue\":\"contain\",\"values\":\"/test.html\"}]}]"
}

Pembatasan lalu lintas puncak (spike_throttle)

Parameter

NameTypeRequiredExampleDescription
nameStringYesiptestNama aturan pembatasan lalu lintas puncak. Nama dapat terdiri dari 1 hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-).
statusIntegerYes1Status aturan perlindungan. Parameter ini hanya digunakan saat membuat aturan perlindungan. Untuk mengubah status aturan perlindungan, panggil operasi ModifyDefenseRuleStatus dan gunakan parameter RuleStatus. Nilai yang valid:
- 0: dinonaktifkan.
- 1 (default): diaktifkan.




actionStringYesblockAksi aturan perlindungan. Nilai yang valid:
- block: memblokir permintaan.
- monitor: menempatkan permintaan dalam mode pengamatan.




conditionsArrayYes[{"key":"IP","opValue":"eq","values":"11.XX.XX.1"},{"key":"Header","subKey":"abc","opValue":"contains","values":"test"}]Karakteristik trafik untuk ACL. Ini adalah string JSON. Anda dapat menentukan hingga lima kondisi pencocokan. Untuk informasi selengkapnya, lihat Parameter conditions detail.
cnRegionListStringNo610000,230000Daftar wilayah di Daratan Tiongkok. Untuk memblokir akses dari semua wilayah di Daratan Tiongkok kecuali Hong Kong (Tiongkok), Makau (Tiongkok), dan Taiwan (Tiongkok), tentukan ["CN"]. Pisahkan beberapa wilayah dengan koma (,). Untuk informasi selengkapnya tentang kode wilayah, lihat Kode wilayah untuk Daratan Tiongkok.
abroadRegionListStringNoKE,KGDaftar wilayah di luar Daratan Tiongkok. Pisahkan beberapa wilayah dengan koma (,). Anda dapat memanggil operasi DescribeIpAbroadCountryInfos untuk mengkueri negara dan wilayah yang didukung di luar Daratan Tiongkok.
typeStringYesqpsMetode pembatasan. Nilai yang valid:
- qps: berdasarkan QPS.
- ratio (default): berdasarkan persentase.




thresholdIntegerYes500Ambang batas pembatasan. Nilai yang valid:
- Jika Anda mengatur pembatasan berdasarkan QPS, rentang valid adalah [1-5000000]. Misalnya, jika Anda mengatur ambang batas ke 500 QPS, trafik yang memenuhi kondisi dan melebihi 500 QPS akan diblokir.
- Jika Anda mengatur pembatasan berdasarkan persentase, rentang valid adalah [1-99]. Misalnya, jika Anda mengatur ambang batas ke 80%, hanya 80% dari trafik yang memenuhi kondisi yang diizinkan.




Parameter conditions detail

NameTypeRequiredExampleDescription
keyStringYesIPBidang pencocokan. Nilai yang valid: URL, URLPath, IP, Referer, User-Agent, Params, Cookie, Content-Type, Content-Length, X-Forwarded-For, Post-Body, Http-Method, Header.
subKeyStringNoabcBidang sub-pencocokan kustom.
Note Tidak semua bidang pencocokan (key) untuk aturan pembatasan lalu lintas puncak memiliki bidang sub-pencocokan kustom (subKey). Untuk informasi tentang bidang pencocokan mana yang mendukung bidang sub-pencocokan, lihat hubungan antara bidang pencocokan dan bidang pencocokan kustom untuk aturan pembatasan lalu lintas puncak di Konsol WAF.

opValueStringYescontainOperator logika. Nilai yang valid:
- not-contain: tidak mengandung.
- contain: mengandung.
- none: tidak ada.
- ne: tidak sama dengan.
- eq: sama dengan.
- lt: kurang dari.
- gt: lebih dari.
- len-lt: panjang kurang dari.
- len-eq: panjang sama dengan.
- len-gt: panjang lebih dari.
- not-match: tidak cocok.
- match-one: sama dengan salah satu dari beberapa nilai.
- all-not-match: tidak sama dengan nilai apa pun.
- all-not-contain: tidak mengandung nilai apa pun.
- contain-one: mengandung salah satu dari beberapa nilai.
- not-regex: tidak cocok dengan ekspresi reguler.
- regex: cocok dengan ekspresi reguler.
- all-not-regex: tidak cocok dengan ekspresi reguler apa pun.
- regex-one: cocok dengan salah satu ekspresi reguler.
- prefix-match: cocok dengan awalan.
- suffix-match: cocok dengan akhiran.
- empty: kosong.
- exists: bidang ada.
- inl: ada dalam daftar.
Note Tidak semua bidang pencocokan (key) untuk aturan lalu lintas puncak mendukung semua operator logika (opValue). Untuk informasi tentang operator logika yang didukung untuk setiap bidang pencocokan, lihat hubungan antara bidang pencocokan dan operator logika untuk aturan pembatasan lalu lintas puncak di Konsol WAF.









































































valuesStringYesabcKonten pencocokan. Tentukan konten sesuai kebutuhan.
Note Nilai yang valid untuk parameter operator logika (opValue) dan konten pencocokan (values) bergantung pada bidang pencocokan (key) yang ditentukan.

Kode wilayah untuk Daratan Tiongkok

{
    "110000": "Beijing",
    "120000": "Tianjin",
    "130000": "Hebei Province",
    "140000": "Shanxi Province",
    "150000": "Inner Mongolia Autonomous Region",
    "210000": "Liaoning Province",
    "220000": "Jilin Province",
    "230000": "Heilongjiang Province",
    "310000": "Shanghai",
    "320000": "Jiangsu Province",
    "330000": "Zhejiang Province",
    "340000": "Anhui Province",
    "350000": "Fujian Province",
    "360000": "Jiangxi Province",
    "370000": "Shandong Province",
    "410000": "Henan Province",
    "420000": "Hubei Province",
    "430000": "Hunan Province",
    "440000": "Guangdong Province",
    "450000": "Guangxi Zhuang Autonomous Region",
    "460000": "Hainan Province",
    "500000": "Chongqing",
    "510000": "Sichuan Province",
    "520000": "Guizhou Province",
    "530000": "Yunnan Province",
    "540000": "Tibet Autonomous Region",
    "610000": "Shaanxi Province",
    "620000": "Gansu Province",
    "630000": "Qinghai Province",
    "640000": "Ningxia Hui Autonomous Region",
    "650000": "Xinjiang Uygur Autonomous Region",
    "MO_01": "Macao (China)",
    "HK_01": "Hong Kong (China)",
    "TW_01": "Taiwan (China)",
    "CN": "Regions in the Chinese mainland (excluding Hong Kong, Macao, and Taiwan)",
}
Contoh
{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 2341,
    "DefenseScene": "spike_throttle",
    "Rules":"[{\"name\":\"test\",\"action\":\"monitor\",\"conditions\":[{\"key\":\"URL\",\"opValue\":\"contain\",\"values\":\"abctest\"}],\"status\":1,\"type\":\"qps\",\"threshold\":1000,\"cnRegionList\":\"110000,140000\",\"abroadRegionList\":\"AD,AL\"}]"}
}

Aturan perlindungan untuk objek yang dilindungi tertentu (resource)

Jika DefenseType diatur ke resource, konfigurasi aturannya adalah sebagai berikut.

Aturan identifier akun (account_identifier)

Anda hanya dapat mengonfigurasi satu aturan identifier akun untuk setiap objek yang dilindungi.

Parameter

NameTypeRequiredExampleDescription
accountldentifiersArrayYes[ { "key": "Header","subKey": "header-test", "decodeType": "jwt", "position": "username", "priority": 1 }, { "key": "Post-Arg", "subKey": "body_test", "decodeType": "plain", "priority": 2 } ]Daftar konfigurasi identifier akun. Anda dapat menentukan hingga lima konfigurasi. Setiap konfigurasi adalah string JSON. Untuk informasi selengkapnya, lihat Parameter accountIdentifiers detail.

Parameter accountIdentifiers detail

NameTypeRequiredExampleDescription
keyStringYesQuery-ArgPosisi bidang yang akan diekstraksi. Nilai yang valid: Query-Arg, Cookie-Exact, Post-Arg, Header.
subKeyStringYesquery-testBidang sub-pencocokan kustom.
decodeTypeStringjwtquery-testMetode autentikasi. Nilai yang valid:
- plain: teks biasa.
- basic: autentikasi Basic.
- jwt: autentikasi JWT. Untuk autentikasi JWT, Anda harus menentukan bidang akun yang didekode (position).







priorityIntegerYes1Prioritas pencocokan konfigurasi identifier saat ini. Aliran trafik tunggal hanya dapat mencocokkan satu kebijakan identifier. Rentang valid adalah [0, 20]. Nilai yang lebih kecil menunjukkan prioritas yang lebih tinggi. Prioritas tidak boleh diulang.
positionStringNoaccountUntuk autentikasi JWT, ini adalah bidang akun yang didekode.

Contoh

{
    "DefenseScene": "account_identifier",
    "Resource": "example.**.com-waf",
    "DefenseType": "resource",
    "InstaneId": "waf_cn****",
    "Rules": "[{\"accountIdentifiers\":[{\"key\":\"Header\",\"subKey\":\"header-test\",\"decodeType\":\"jwt\",\"position\":\"username\",\"priority\":1},{\"key\":\"Post-Arg\",\"subKey\":\"body_test\",\"decodeType\":\"plain\",\"priority\":2}]}]"
}

Aturan perlindungan global (global)

Jika DefenseType diatur ke global, konfigurasi aturannya adalah sebagai berikut.

Aturan ekspresi reguler kustom (regular_custom)

Parameter

NameTypeRequiredExampleDescription
nameStringYesruleTestNama aturan ekspresi reguler kustom. Nama dapat terdiri dari 1 hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-).
detectTypeStringYessqliTipe deteksi. Nilai yang valid:
- sqli: Injeksi SQL.
- xss: serangan skrip lintas situs (XSS).
- cmdi: injeksi perintah OS.
- expression_injection: injeksi ekspresi (termasuk ekspresi EL, SpEL, dan OGNL).
- java_deserialization: deserialisasi Java.
- dot_net_deserialization: deserialisasi .NET.
- php_deserialization: deserialisasi PHP.
- code_exec: eksekusi kode sembarang (JNDI/XPATH).
- ssrf: pemalsuan permintaan sisi server (SSRF).
- path_traversal: penelusuran jalur.
- arbitrary_file_uploading: unggahan file sembarang.
- webshell: webshell.
- rfilei: penyertaan file jarak jauh (RFI).
- lfilei: inklusi file lokal (LFI).
- protocol_violation: pelanggaran protokol.
- scanner_behavior: perilaku pemindai.
- logic_flaw: bug logika bisnis.
- arbitrary_file_reading: Membaca File Sembarang.
- arbitrary_file_download: unduhan file sembarang.
- xxe: injeksi entitas eksternal.
- csrf: pemalsuan permintaan lintas situs.
- crlf: CRLF.
- other: lainnya.



































































riskLevelStringYesstrictTingkat ancaman. Nilai yang valid:
- super_strict: Sangat Ketat.
- strict: Ketat.
- medium: Menengah.
- loose: Longgar










descriptionStringNoThe description of the rule.Deskripsi aturan ekspresi reguler kustom.
conditionArrayYes[{"key":"IP","opValue":"eq","values":"11.XX.XX.1"},{"key":"Header","subKey":"abc","opValue":"contains","values":"test"}]Karakteristik trafik untuk ACL. Ini adalah string JSON. Anda dapat menentukan hingga lima kondisi pencocokan. Untuk informasi selengkapnya, lihat Parameter condition detail.

Parameter condition detail

NameTypeRequiredExampleDescription
keyStringYesQuery-ArgBidang pencocokan kustom. Nilai yang valid: File-Name, Url, Raw-Url, Request-Url, Http-Method, Directory, Query, Raw-Header, Body, Extension, Union-Args, All-Data, All-Keys, Multipart-Keys, Multipart-Values, Header-Keys, Header-Values, Post-Arg-Keys, Post-Arg-Values, Query-Arg-Keys, Query-Arg-Values, Cookie-Keys, Cookie-Values, Header, Query-Arg, Post-Arg, Multipart.
subKeyStringNoquery-testBidang sub-pencocokan kustom.
Penting Bidang sub-pencocokan hanya didukung ketika bidang pencocokan diatur ke Header, Query-Arg, Post-Arg, atau Multipart.
opValueStringYescontainOperator logika. Nilai yang valid:regex, prefix-match, suffix-match, eq, contain.
valuesStringYesabcKonten pencocokan. Pisahkan beberapa nilai dengan koma (,).

Contoh

{
  "name": "ruleTest",
  "detectType": "sqli",
  "riskLevel": "strict",
  "condition": [{"key": "FileName","opValue": "eq","values": "test"}]
}

Elemen respons

Element

Type

Description

Example

object

Objek respons.

RequestId

string

ID permintaan.

26E46541-7AAB-5565-801D-F14DBDC5****

RuleIds

string

ID aturan perlindungan yang dibuat. Beberapa ID aturan dipisahkan dengan koma (,).

22215,23354,462165

Contoh

Respons sukses

JSONformat

{
  "RequestId": "26E46541-7AAB-5565-801D-F14DBDC5****",
  "RuleIds": "22215,23354,462165"
}

Kode kesalahan

HTTP status code

Error code

Error message

Description

400 Defense.Control.DefenseWhitelistBypassRuleNotExist The whitelist protection rule does not exist. The whitelist protection rule does not exist. Rule ID:%s.
400 Defense.Control.DefenseWhitelistConfigInvalid The whitelist rule is misconfigured. Error configuring whitelist rule: %s.

Lihat Error Codes untuk daftar lengkap.

Catatan rilis

Lihat Release Notes untuk daftar lengkap.