All Products
Search
Document Center

Web Application Firewall:CreateDefenseRule

Last Updated:Mar 13, 2026

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

Tabel berikut menjelaskan otorisasi yang diperlukan untuk memanggil API ini. Anda dapat menentukannya dalam kebijakan Resource Access Management (RAM). Kolom pada tabel dijelaskan sebagai berikut:

  • Action: Aksi yang dapat digunakan dalam elemen Action pada pernyataan kebijakan izin RAM untuk memberikan izin guna melakukan operasi tersebut.

  • API: API yang dapat Anda panggil untuk melakukan aksi tersebut.

  • Access level: Tingkat akses yang telah ditentukan untuk setiap API. Nilai yang valid: create, list, get, update, dan delete.

  • Resource type: Jenis resource yang mendukung otorisasi untuk melakukan aksi tersebut. Ini menunjukkan apakah aksi tersebut mendukung izin tingkat resource. Resource yang ditentukan harus kompatibel dengan aksi tersebut. Jika tidak, kebijakan tersebut tidak akan berlaku.

    • Untuk API dengan izin tingkat resource, jenis resource yang diperlukan ditandai dengan tanda bintang (*). Tentukan Nama Sumber Daya Alibaba Cloud (ARN) yang sesuai dalam elemen Resource pada kebijakan.

    • Untuk API tanpa izin tingkat resource, ditampilkan sebagai All Resources. Gunakan tanda bintang (*) dalam elemen Resource pada kebijakan.

  • Condition key: Kunci kondisi yang didefinisikan oleh layanan. Kunci ini memungkinkan kontrol granular, berlaku baik hanya untuk aksi maupun untuk aksi yang terkait dengan resource tertentu. Selain kunci kondisi spesifik layanan, Alibaba Cloud menyediakan serangkaian common condition keys yang berlaku di semua layanan yang didukung RAM.

  • Dependent action: Aksi dependen yang diperlukan untuk menjalankan aksi tersebut. Untuk menyelesaikan aksi tersebut, pengguna RAM atau role RAM harus memiliki izin untuk melakukan semua aksi dependen.

Action

Access level

Resource type

Condition key

Dependent action

yundun-waf:CreateDefenseRule

create

*全部资源

*

  • acs:ResourceGroupId
None

Parameter permintaan

Parameter

Type

Required

Description

Example

InstanceId

string

Yes

ID instans Web Application Firewall (WAF).

Catatan

Panggil operasi DescribeInstance untuk menanyakan ID instans WAF.

waf_v2_public_cn-****

TemplateId

integer

No

ID templat aturan perlindungan.

Catatan

Parameter ini wajib hanya jika Anda mengatur DefenseType ke template.

1122

DefenseScene

string

Yes

Skenario tempat Anda ingin menggunakan aturan perlindungan.

Jika Anda mengatur DefenseType ke template, nilai yang valid adalah:

  • waf_group: perlindungan dasar.

  • waf_base: perlindungan inti web.

  • antiscan: perlindungan pemindaian.

  • ip_blacklist: blacklist alamat IP.

  • custom_acl: aturan kustom.

  • whitelist: daftar putih.

  • region_block: pemblokiran geografis.

  • custom_response: respons kustom.

  • cc: perlindungan CC.

  • tamperproof: perlindungan manipulasi halaman web.

  • dlp: Pencegahan kebocoran data.

  • spike_throttle: Pembatasan laju agregat.

Jika Anda mengatur DefenseType ke resource, nilai yang valid adalah:

  • account_identifier: ekstraksi akun.

  • custom_response: respons kustom.

  • waf_codec: decoding.

Jika Anda mengatur DefenseType ke global, nilai yang valid adalah:

  • regular_custom: ekspresi reguler kustom.

  • address_book: Buku alamat.

  • custom_response: respons kustom.

Catatan

Anda dapat mereferensikan respons kustom yang dikonfigurasi secara global dari objek yang dilindungi atau aturan. Jika Anda mengonfigurasi aturan respons kustom di tingkat berbeda, aturan dengan granularitas paling rinci akan berlaku. Prioritasnya adalah: tingkat aturan > tingkat objek yang dilindungi > halaman default.

waf_group

Rules

string

Yes

Konfigurasi aturan perlindungan. Tentukan string berupa array JSON.

Catatan

Parameter dalam array bervariasi berdasarkan nilai DefenseScene. Untuk informasi selengkapnya, lihat Parameter aturan perlindungan.

waf_group

ResourceManagerResourceGroupId

string

No

ID kelompok sumber daya.

rg-acfm***q

DefenseType

string

No

Jenis aturan perlindungan. Nilai yang valid:

  • template (default): aturan perlindungan berbasis 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: Tiongkok daratan.

  • ap-southeast-1: luar Tiongkok daratan.

cn-hangzhou

Resource

string

No

Objek yang dilindungi tempat aturan perlindungan diterapkan.

Catatan

Parameter ini wajib hanya jika Anda mengatur DefenseType ke resource.

sec****-waf

Parameter aturan perlindungan

Aturan perlindungan berbasis templat (template)

Jika Anda mengatur DefenseType ke template, konfigurasi aturan berikut tersedia.

Aturan perlindungan dasar (waf_group)

Parameter

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




actionStringYesblockAksi aturan perlindungan. Nilai yang valid:
- block: Blok.
- monitor: Log.




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




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

Parameter config

  • Jika Anda mengatur protectionType ke sema (perlindungan analisis semantik untuk aturan perlindungan dasar)

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 (waf_base)

Parameter

NameTypeRequiredExampleDescription
autoUpdateBooleanYestrueMenentukan apakah aturan diperbarui secara 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.
Penting Anda dapat memanggil operasi DescribeBaseSystemRules untuk menanyakan konfigurasi aturan perlindungan sistem templat. Anda dapat memanggil operasi DescribeDefenseRules untuk menanyakan konfigurasi aturan ekspresi reguler kustom templat.

Parameter config

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




ruleBatchOperationConfigStringNodefaultOperasi batch pada aturan. Jika Anda menentukan parameter ini, parameter RuleDetail harus kosong. Nilai yang valid:
- default: mengembalikan pengaturan default.
- all_on: mengaktifkan semua aturan.
- all_off: menonaktifkan semua aturan.
- all_block: mengatur aksi semua aturan ke Blok.
- all_monitor: mengatur aksi semua aturan ke Log.













ruleDetailArrayNo[{"ruleId":13000412,"ruleStatus":1,"ruleAction":"block"}]]Konfigurasi aturan yang akan dimodifikasi. Nilainya 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
protectionTypeStringYeshighfreqSubjenis aturan perlindungan pemindaian. Nilai yang valid:
- highfreq: perlindungan pemindaian frekuensi tinggi.
- dirscan: pemblokiran penelusuran direktori.
- scantools: pemblokiran pemindai.







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




actionStringYesblockAksi aturan perlindungan. Nilai yang valid:
- block: Blok.
- monitor: Log.




actionExternalJSONNo{"responseRuleId":123444}Konfigurasi ekstensi aksi aturan perlindungan. Parameter ini hanya tersedia untuk respons kustom. Jika Anda mengatur action ke block, Anda dapat menentukan halaman blokir kustom.
configStringNo{"target":"remote_addr","interval":60,"ttl":180,"count":20}Konfigurasi kustom. Ini adalah string JSON. Untuk informasi selengkapnya, lihat parameter config.

Parameter config

  • Jika Anda mengatur protectionType ke highfreq (perlindungan pemindaian frekuensi tinggi)

NameTypeRequiredExampleDescription
targetStringYesremote_addrJenis 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 dihitung di parameter subkey.
- queryarg: parameter kustom. Jika Anda memilih nilai ini, Anda harus menentukan parameter kustom yang akan dihitung di parameter subkey.
- cookie: cookie kustom. Jika Anda memilih nilai ini, Anda harus menentukan cookie yang akan dihitung di parameter subkey.













subKeyStringNoabcSub-fitur objek statistik. Parameter ini wajib jika Anda mengatur parameter target ke cookie, header, atau queryarg.
intervalIntegerNo60Periode deteksi dalam detik. Nilai default adalah 60.
Nilai yang valid: 5 hingga 1800.

ttlIntegerNo1800Durasi pemblokiran dalam detik. Nilai default adalah 1800.
Nilai yang valid: 60 hingga 86400.

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

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

  • Jika Anda mengatur protectionType ke dirscan (pemblokiran penelusuran direktori)

NameTypeRequiredExampleDescription
targetStringYesremote_addrObjek 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 statistik dan pemblokiran. Parameter ini wajib hanya jika Anda mengatur target ke header, queryarg, atau cookie.
intervalIntegerNo60Periode deteksi dalam detik. Nilai default adalah 60.
Nilai yang valid: 5 hingga 1800.

ttlIntegerNo1800Durasi pemblokiran dalam detik. Nilai default adalah 1800.
Nilai yang valid: 60 hingga 86400.

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

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

uriNumIntegerNo2Jumlah maksimum direktori yang tidak ada. Nilai default adalah 50.
Nilai yang 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 blacklist alamat IP (ip_blacklist)

Parameter

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




actionStringYesblockAksi aturan perlindungan. Nilai yang valid:
- block: Blok.
- monitor: Log.




actionExternalJSONNo{"responseRuleId":123444}Konfigurasi ekstensi aksi aturan perlindungan. Parameter ini hanya tersedia untuk respons kustom. Jika Anda mengatur action ke block, Anda dapat menentukan halaman blokir kustom.
remoteAddrArrayYes["1.1.XX.XX", "3.1.XX.XX/24"]Alamat IP yang akan ditambahkan ke blacklist. Gunakan 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 hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-).
statusIntegerYes1Status aturan perlindungan. Parameter ini hanya tersedia saat membuat aturan perlindungan. Untuk mengubah status aturan perlindungan, panggil operasi ModifyDefenseRuleStatus dan konfigurasikan parameter RuleStatus. Nilai yang valid:
- 0: dinonaktifkan.
- 1 (default): diaktifkan.




actionStringYesblockAksi aturan perlindungan. Nilai yang valid:
- block: Blok.
- monitor: Log.
- js: tantangan JavaScript.
- captcha: CAPTCHA slider.
- captcha_strict: CAPTCHA ketat.
Catatan Untuk aksi aturan perlindungan yang didukung oleh ACL kustom, lihat aksi aturan kustom yang ditampilkan di Konsol WAF.
















actionExternalJSONNo{"responseRuleId":123444}Konfigurasi ekstensi aksi aturan perlindungan. Parameter ini hanya tersedia untuk respons kustom. Jika Anda mengatur action ke block, Anda dapat menentukan halaman blokir kustom. Jika Anda mengatur action ke captcha atau captcha_strict, Anda dapat menentukan halaman CAPTCHA slider kustom.
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 yang mendukung hingga lima kondisi pencocokan. Untuk informasi selengkapnya, lihat parameter conditions.
ccStatusIntegerYes1Menentukan apakah Pembatasan laju diaktifkan. 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 Anda mengatur ccStatus ke 1. Untuk informasi selengkapnya, lihat parameter ratelimit.
effectStringNoruleCakupan Pembatasan laju. Parameter ini wajib hanya jika Anda mengatur ccStatus ke 1. Nilai yang valid:
- service: Pembatasan laju diterapkan pada objek yang dilindungi.
- rule: Pembatasan laju diterapkan pada satu aturan.




grayStatusIntegerNo1Menentukan apakah rilis canary diaktifkan 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 Anda mengatur grayStatus ke 1. Untuk informasi selengkapnya, lihat parameter grayConfig.
timeConfigJSONNo{"timeScope":"period","timeZone":8,"timePeriods":[{"start":1758771729787,"end":1758816000000}]}Konfigurasi aturan terjadwal. Ini adalah string JSON. Untuk informasi selengkapnya, lihat parameter timeConfig.

Parameter conditions

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, dan Post-Arg.
Penting Bidang pencocokan yang didukung bervariasi berdasarkan edisi WAF. Untuk informasi selengkapnya, lihat bidang pencocokan untuk aturan kustom di Konsol WAF.
subKeyStringNoabcBidang sub-pencocokan kustom.
Catatan Tidak semua bidang pencocokan (key) untuk aturan kustom memiliki bidang sub-pencocokan kustom (subKey). Untuk informasi selengkapnya tentang apakah bidang pencocokan mendukung bidang sub-pencocokan kustom, lihat hubungan antara bidang pencocokan dan bidang pencocokan kustom untuk aturan kustom di Konsol WAF.

opValueStringYescontainOperator logika. Nilai yang valid:
- not-contain: Tidak mengandung. Untuk bidang IP, artinya alamat IP tidak berada dalam rentang yang ditentukan.
- contain: Mengandung. Untuk bidang IP, artinya alamat IP berada dalam rentang yang ditentukan.
- none: Tidak ada.
- ne: Tidak sama dengan.
- eq: Sama dengan.
- lt: Kurang dari.
- gt: Lebih dari.
- len-lt: Memiliki panjang kurang dari.
- len-eq: Memiliki panjang sama dengan.
- len-gt: Memiliki 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: Ada.
- inl: Berada dalam daftar.
- in-list: Berada dalam buku alamat.
- not-in-list: Tidak berada dalam buku alamat.
Catatan Tidak semua operator logika (opValue) dapat dikonfigurasi untuk setiap bidang pencocokan (key) aturan kustom. Untuk informasi selengkapnya tentang operator logika yang didukung oleh bidang pencocokan, lihat hubungan antara bidang pencocokan dan operator logika untuk aturan kustom di Konsol WAF.















































































valuesStringYesabcKonten pencocokan. Tentukan konten sesuai kebutuhan. Pisahkan beberapa nilai dengan koma (,).
Catatan Nilai yang valid untuk parameter operator logika (opValue) dan konten pencocokan (values) terkait dengan bidang pencocokan (key) yang ditentukan.

Parameter ratelimit

NameTypeRequiredExampleDescription
targetStringYesremote_addrJenis 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 dihitung di parameter subkey.
- queryarg: parameter kustom. Jika Anda memilih nilai ini, Anda harus menentukan parameter kustom yang akan dihitung di parameter subkey.
- cookie: cookie kustom. Jika Anda memilih nilai ini, Anda harus menentukan cookie yang akan dihitung di parameter subkey.













subKeyStringNoabcSub-fitur objek statistik. Parameter ini wajib jika Anda mengatur parameter target ke cookie, header, atau queryarg.
intervalIntegerYes60Periode statistik dalam detik. Parameter ini digunakan bersama parameter threshold untuk menghitung jumlah permintaan.
Nilai yang valid: 1 hingga 1800.

thresholdIntegerYes200Ambang batas jumlah kali objek statistik tunggal dapat mengakses alamat yang dilindungi dalam periode deteksi.
ttlIntegerYes1800Periode efektif aksi dalam detik.
Nilai yang 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.
count: Integer. Opsional. Ambang batas pemicu jumlah kali kode respons tertentu muncul. Aturan dipicu jika jumlah kali kode respons muncul melebihi ambang batas ini. Nilai yang valid: 2 hingga 50000. Parameter count dan ratio saling eksklusif.
ratio: Integer. Opsional. Ambang batas pemicu persentase kali kode respons tertentu muncul. Aturan dipicu jika persentase kali kode respons muncul melebihi ambang batas ini. Nilai yang valid: 1 hingga 100. Parameter count dan ratio saling eksklusif.







Parameter grayConfig

NameTypeRequiredExampleDescription
grayTargetStringYes80Jenis 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 dihitung di parameter graySubKey.
- queryarg: parameter kustom. Jika Anda memilih nilai ini, Anda harus menentukan parameter kustom yang akan dihitung di parameter graySubKey.
- cookie: cookie kustom. Jika Anda memilih nilai ini, Anda harus menentukan cookie yang akan dihitung di parameter graySubKey.













graySubKeyStringNoabcSub-fitur objek statistik. Parameter ini wajib jika Anda mengatur parameter grayTarget ke cookie, header, atau queryarg.
grayRateIntegerYes20Persentase trafik tempat aturan berlaku. Nilai yang valid: 1 hingga 100.

Parameter timeConfig

NameTypeRequiredExampleDescription
timeScopeStringYesperiodPeriode efektif aturan. Nilai yang valid:
- permanent (default): Aturan berlaku permanen.
- period: Aturan berlaku dalam periode waktu tertentu.
- cycle: Aturan berlaku secara periodik.







timeZoneIntegerYes8Zona waktu tempat aturan berlaku. Nilai default adalah 8. Nilai yang valid: -12 hingga 12. 0 menunjukkan UTC, 8 menunjukkan UTC+8, dan -8 menunjukkan UTC-8.
timePeriodsArrayNo[{"start":1758771729787,"end":1758816000000}]Periode waktu tempat aturan berlaku. Parameter ini wajib jika Anda mengatur parameter timeScope ke period. Anda dapat menentukan beberapa periode waktu.
- start: Long. Wajib. Waktu mulai aturan. Ini adalah stempel waktu UNIX dalam milidetik.
- end: Long. Wajib. Waktu akhir aturan. Ini adalah stempel waktu UNIX dalam milidetik.




weekTimePeriodsArrayNo[{"day":"1","dayPeriods":[{"start":0,"end":51644084}]},{"day":"1,2,5","dayPeriods":[{"start":0,"end":42928908}]}]Periode waktu tempat aturan berlaku secara periodik. Parameter ini wajib jika Anda mengatur parameter timeScope ke cycle. Anda dapat menentukan beberapa periode waktu.
- day: String. Wajib. Siklus tempat aturan berlaku. Nilai yang valid: 1 hingga 7. Pisahkan beberapa hari dengan koma (,). Misalnya, jika Anda mengatur parameter ini ke 1, aturan berlaku setiap Senin.
- dayPeriods: Array. Wajib. Periode waktu tempat aturan berlaku setiap hari. Nilainya mencakup waktu mulai start dan waktu akhir end. Anda dapat menentukan beberapa periode waktu.
     • start: Long. Wajib. Waktu mulai aturan setiap hari. Ini adalah stempel waktu dalam milidetik relatif terhadap 00:00 hari tersebut. Nilai yang valid: [0-86400000).
     • end: Long. Wajib. Waktu akhir aturan setiap hari. Ini adalah stempel waktu dalam milidetik relatif terhadap 00:00 hari tersebut. Nilai yang 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 hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-).
statusIntegerYes1Status aturan perlindungan. Parameter ini hanya tersedia saat membuat aturan perlindungan. Untuk mengubah status aturan perlindungan, panggil operasi ModifyDefenseRuleStatus dan konfigurasikan 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 yang mendukung hingga lima kondisi pencocokan. Untuk informasi selengkapnya, lihat parameter conditions.
tagsArrayYes["waf", "regular"]Daftar modul tempat daftar putih diterapkan. Gunakan format ["XX1", "XX2",...]. Nilai yang valid:
- waf: semua modul.
- customrule_rule: aturan kustom tertentu.
- customrule: aturan kustom.
- blacklist: blacklist alamat IP.
- blacklist_rule: aturan blacklist alamat IP tertentu.
- antiscan: perlindungan pemindaian.
- regular: aturan perlindungan dasar.
- regular_rule: aturan ekspresi reguler tertentu untuk perlindungan dasar.
- regular_type: jenis aturan ekspresi reguler tertentu untuk perlindungan dasar.
- regular_field: bidang tertentu untuk perlindungan dasar.
- major_protection: perlindungan event kritis.
- cc: perlindungan CC.
- region_block: pemblokiran geografis.
- antibot_scene: perlindungan skenario bot.
- antibot_scene_rule: ID aturan perlindungan skenario bot tertentu.
- antibot_scene_label: jenis aturan perlindungan skenario bot tertentu.
- dlp: Pencegahan kebocoran data.
- tamperproof: perlindungan manipulasi halaman web.
- spike_throttle: perlindungan Pembatasan laju agregat.























































regularRulesArrayNo[ "111111", "222222" ]Daftar ID aturan ekspresi reguler yang tidak dideteksi. Gunakan format ["XX1", "XX2",...]. Parameter ini wajib hanya jika Anda mengatur parameter tags ke regular_rule.
regularTypesArrayNo[ "xss", "css" ]Daftar jenis aturan ekspresi reguler yang tidak dideteksi. Gunakan format ["XX1", "XX2",...]. Parameter ini wajib hanya jika Anda mengatur parameter tags 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 yang tidak dideteksi oleh perlindungan dasar. Ini adalah string JSON yang mendukung hingga lima kondisi pencocokan. Untuk informasi selengkapnya, lihat parameter regularFields. Parameter ini wajib hanya jika Anda mengatur parameter tags ke regular_field.
customRulesArrayNo[ "111111", "222222" ]Daftar ID aturan kustom yang tidak dideteksi. Gunakan format ["XX1", "XX2",...]. Parameter ini wajib hanya jika Anda mengatur parameter tags ke customrule_rule.
blacklistRulesArrayNo[ "111111", "222222" ]Daftar ID aturan blacklist alamat IP yang tidak dideteksi. Gunakan format ["XX1", "XX2",...]. Parameter ini wajib hanya jika Anda mengatur parameter tags ke blacklist_rule.
botRulesArrayNo[ "111111", "222222" ]Daftar ID aturan perlindungan skenario bot yang tidak dideteksi. Gunakan format ["XX1", "XX2",...]. Parameter ini wajib hanya jika Anda mengatur parameter tags ke antibot_scene_rule.
botLablesArrayNo[ "abc", "cdcc" ]Daftar jenis aturan perlindungan skenario bot yang tidak dideteksi. Gunakan format ["XX1", "XX2",...]. Parameter ini wajib hanya jika Anda mengatur parameter tags ke antibot_scene_label. Anda dapat memanggil operasi DescribeBotRuleLabels untuk melihat informasi jenis aturan bot.

Parameter conditions

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, dan Query-Arg.
Penting Bidang pencocokan yang didukung bervariasi berdasarkan edisi WAF. Untuk informasi selengkapnya, lihat bidang pencocokan untuk aturan daftar putih di Konsol WAF.
subKeyStringNoabcBidang sub-pencocokan kustom.
Catatan Tidak semua bidang pencocokan (key) untuk aturan daftar putih memiliki bidang sub-pencocokan kustom (subKey). Untuk informasi selengkapnya tentang apakah bidang pencocokan mendukung bidang sub-pencocokan kustom, 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. Untuk bidang IP, artinya alamat IP tidak berada dalam rentang yang ditentukan.
- contain: Mengandung. Untuk bidang IP, artinya alamat IP berada dalam rentang yang ditentukan.
- none: Tidak ada.
- ne: Tidak sama dengan.
- eq: Sama dengan.
- lt: Kurang dari.
- gt: Lebih dari.
- len-lt: Memiliki panjang kurang dari.
- len-eq: Memiliki panjang sama dengan.
- len-gt: Memiliki 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: Ada.
- inl: Berada dalam daftar.
- in-list: Berada dalam buku alamat.
- not-in-list: Tidak berada dalam buku alamat.
Catatan Tidak semua operator logika (opValue) dapat dikonfigurasi untuk setiap bidang pencocokan (key) aturan daftar putih. Untuk informasi selengkapnya tentang operator logika yang didukung oleh bidang pencocokan, lihat hubungan antara bidang pencocokan dan operator logika untuk aturan daftar putih di Konsol WAF.















































































valuesStringYesabcKonten pencocokan. Tentukan konten sesuai kebutuhan. Pisahkan beberapa nilai dengan koma (,).
Catatan Nilai yang valid untuk operator logika (opValue) dan konten pencocokan (values) terkait dengan bidang pencocokan (key) yang ditentukan.

Parameter regularFields

NameTypeRequiredExampleDescription
keyStringYesURLBidang yang tidak dideteksi. 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 yang ditentukan. Parameter ini wajib jika Anda mengatur bidang yang tidak dideteksi (key) 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_blockJenis respons kustom. Tetapkan nilainya ke response_block, yang menunjukkan respons blokir.
statusIntegerYes1Status aturan perlindungan. Parameter ini hanya tersedia saat membuat aturan perlindungan. Untuk mengubah status aturan perlindungan, panggil operasi ModifyDefenseRuleStatus dan konfigurasikan 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.

Parameter config

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 pemblokiran geografis (region_block)

Parameter

NameTypeRequiredExampleDescription
cnRegionListStringNo610000,230000Daftar wilayah di Tiongkok. Tentukan ["CN"] untuk memblokir wilayah di Tiongkok daratan (tidak termasuk Hong Kong (Tiongkok), Makau (Tiongkok), dan Taiwan (Tiongkok)). Pisahkan beberapa wilayah dengan koma (,). Untuk informasi selengkapnya tentang arti kode wilayah, lihat Arti kode wilayah di Tiongkok.
abroadRegionListStringNoKE,KGDaftar wilayah di luar Tiongkok. Pisahkan beberapa wilayah dengan koma (,). Anda dapat memanggil operasi DescribeIpAbroadCountryInfos untuk melihat negara dan wilayah luar negeri yang dapat diblokir.
statusIntegerYes1Status aturan perlindungan. Parameter ini hanya tersedia saat membuat aturan perlindungan. Untuk mengubah status aturan perlindungan, panggil operasi ModifyDefenseRuleStatus dan konfigurasikan parameter RuleStatus. Nilai yang valid:
- 0: dinonaktifkan.
- 1 (default): diaktifkan.




actionStringYesblockAksi aturan perlindungan. Nilai yang valid:
- block: Blok.
- monitor: Log.




actionExternalJSONNo{"responseRuleId":123444}Konfigurasi ekstensi aksi aturan perlindungan. Parameter ini hanya tersedia untuk respons kustom. Jika Anda mengatur action ke block, Anda dapat menentukan halaman blokir kustom. Jika Anda mengatur action ke captcha atau captcha_strict, Anda dapat menentukan halaman CAPTCHA slider kustom.

Arti kode wilayah 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 (China), Macao (China), and Taiwan (China))"
}
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): normal.
- 1: darurat.




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




actionStringNojsAksi aturan perlindungan. Nilai yang valid:
- js (default): tantangan JavaScript.
- monitor: Log.




Contoh

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

Aturan perlindungan manipulasi halaman web (tamperproof)

Parameter

NameTypeRequiredExampleDescription
nameStringYestestNama aturan perlindungan. Nama dapat terdiri dari hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-).
urlStringYes/abcAlamat halaman yang di-cache.
uaStringNoappUser agent yang digunakan untuk mengakses jalur tersebut.
protocolStringYeshttpsJenis protokol alamat halaman yang di-cache. Nilai yang valid: http dan https.
statusIntegerYes1Status aturan perlindungan. Parameter ini hanya tersedia saat membuat aturan perlindungan. Untuk mengubah status aturan perlindungan, panggil operasi ModifyDefenseRuleStatus dan konfigurasikan 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 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 yang mendukung hingga dua kondisi pencocokan. Operator logika antar kondisi adalah AND. Untuk informasi selengkapnya, lihat parameter conditions.
statusIntegerYes1Status aturan perlindungan. Parameter ini hanya tersedia saat membuat aturan perlindungan. Untuk mengubah status aturan perlindungan, panggil operasi ModifyDefenseRuleStatus dan konfigurasikan parameter RuleStatus. Nilai yang valid:
- 0: dinonaktifkan.
- 1 (default): diaktifkan.




actionStringYesblockAksi aturan perlindungan. Nilai yang valid:
- block: Blok. Aksi ini hanya berlaku untuk skenario yang mengandung kondisi pencocokan kode respons.
- monitor: Log.
- filter: menyaring informasi sensitif. Aksi ini hanya berlaku untuk skenario yang mengandung kondisi pencocokan informasi sensitif.







Parameter conditions

NameTypeRequiredExampleDescription
keyStringYesURLBidang pencocokan. Nilai yang valid: URL, HttpCode, dan SensitiveInfo.
opValueStringYescontainOperator logika. Tetapkan nilainya ke contain.
valuesStringYesabcKonten pencocokan. Pisahkan beberapa nilai dengan koma (,).
Nilai yang valid untuk HttpCode adalah 400, 401, 402, 403, 404, 405 (yang merepresentasikan 405-499), 500, 501, 502, 503, 504, dan 505 (yang merepresentasikan 505-599).
Nilai yang valid untuk SensitiveInfo adalah:
- 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 laju agregat (spike_throttle)

Parameter

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




actionStringYesblockAksi aturan perlindungan. Nilai yang valid:
- block: Blok.
- monitor: Log.




actionExternalJSONNo{"responseRuleId":123444}Konfigurasi ekstensi aksi aturan perlindungan. Parameter ini hanya tersedia untuk respons kustom. Jika Anda mengatur action ke block, Anda dapat menentukan halaman blokir kustom.
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 yang mendukung hingga lima kondisi pencocokan. Untuk informasi selengkapnya, lihat parameter conditions.
cnRegionListStringNo610000,230000Daftar wilayah di Tiongkok. Tentukan ["CN"] untuk memblokir wilayah di Tiongkok daratan (tidak termasuk Hong Kong (Tiongkok), Makau (Tiongkok), dan Taiwan (Tiongkok)). Pisahkan beberapa wilayah dengan koma (,). Untuk informasi selengkapnya tentang arti kode wilayah, lihat Arti kode wilayah di Tiongkok.
abroadRegionListStringNoKE,KGDaftar wilayah di luar Tiongkok. Pisahkan beberapa wilayah dengan koma (,). Anda dapat memanggil operasi DescribeIpAbroadCountryInfos untuk melihat negara dan wilayah luar negeri yang dapat diblokir.
typeStringYesqpsMetode Pembatasan laju. Nilai yang valid:
- qps: Pembatasan laju berbasis QPS.
- ratio (default): Pembatasan laju berbasis persentase.




thresholdIntegerYes500Ambang batas Pembatasan laju. Nilai yang valid:
- Ambang batas Pembatasan laju berbasis QPS berkisar antara 1 hingga 5.000.000. Jika Anda memilih Pembatasan laju berbasis QPS (misalnya, 500 QPS), trafik yang memenuhi kondisi Pembatasan laju dan melebihi 500 QPS akan diblokir.
- Ambang batas Pembatasan laju berbasis persentase berkisar antara 1 hingga 99. Jika Anda memilih Pembatasan laju berbasis persentase (misalnya, 80%), hanya 80% dari trafik yang memenuhi kondisi Pembatasan laju yang diizinkan.




Parameter conditions

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, dan Header.
subKeyStringNoabcBidang sub-pencocokan kustom.
Catatan Tidak semua bidang pencocokan (key) untuk aturan Pembatasan laju agregat memiliki bidang sub-pencocokan kustom (subKey). Untuk informasi selengkapnya tentang apakah bidang pencocokan mendukung bidang sub-pencocokan kustom, lihat hubungan antara bidang pencocokan dan bidang pencocokan kustom untuk aturan Pembatasan laju agregat di Konsol WAF.

opValueStringYescontainOperator logika. Nilai yang valid:
- not-contain: Tidak mengandung. Untuk bidang IP, artinya alamat IP tidak berada dalam rentang yang ditentukan.
- contain: Mengandung. Untuk bidang IP, artinya alamat IP berada dalam rentang yang ditentukan.
- none: Tidak ada.
- ne: Tidak sama dengan.
- eq: Sama dengan.
- lt: Kurang dari.
- gt: Lebih dari.
- len-lt: Memiliki panjang kurang dari.
- len-eq: Memiliki panjang sama dengan.
- len-gt: Memiliki 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: Ada.
- inl: Berada dalam daftar.
- in-list: Berada dalam buku alamat.
- not-in-list: Tidak berada dalam buku alamat.
Catatan Tidak semua operator logika (opValue) dapat dikonfigurasi untuk setiap bidang pencocokan (key) aturan Pembatasan laju agregat. Untuk informasi selengkapnya tentang operator logika yang didukung oleh bidang pencocokan, lihat hubungan antara bidang pencocokan dan operator logika untuk aturan Pembatasan laju agregat di Konsol WAF.















































































valuesStringYesabcKonten pencocokan. Tentukan konten sesuai kebutuhan. Pisahkan beberapa nilai dengan koma (,).
Catatan Nilai yang valid untuk operator logika (opValue) dan konten pencocokan (values) terkait dengan bidang pencocokan (key) yang ditentukan.

Arti kode wilayah 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 (China), Macao (China), and Taiwan (China))"
}
Contoh
{
    "InstanceId": "waf_v2_public_****",
    "TemplateId": 2341,
    "DefenseScene": "spike_throttle",
    "Rules":"[{\"name\":\"test\",\"action\":\"monitor\",\"conditions\":[{\"key\":\"URL\",\"opValue\":\"contain-one\",\"values\":\"abctest,abctest2\"}],\"status\":1,\"type\":\"qps\",\"threshold\":1000,\"cnRegionList\":\"110000,140000\",\"abroadRegionList\":\"AD,AL\"}]"}
}

Aturan perlindungan untuk objek yang dilindungi tertentu (resource)

Jika Anda mengatur DefenseType ke resource, konfigurasi aturan berikut tersedia.

Aturan ekstraksi akun (account_identifier)

Anda hanya dapat mengonfigurasi satu konfigurasi ekstraksi 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 ekstraksi akun. Anda dapat menentukan hingga lima konfigurasi. Setiap konfigurasi adalah string JSON. Untuk informasi selengkapnya, lihat parameter accountIdentifiers.

Parameter accountIdentifiers

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







priorityIntegerYes1Prioritas pencocokan konfigurasi ekstraksi. Permintaan hanya dapat mencocokkan satu kebijakan ekstraksi. Nilai yang valid: [0,20]. Nilai yang lebih kecil menunjukkan prioritas yang lebih tinggi. Nilai tidak boleh diulang.
positionStringNoaccountUntuk autentikasi JWT, ini adalah bidang akun setelah decoding.

Contoh

{
    "DefenseScene": "account_identifier",
    "Resource": "example.**.com-waf",
    "DefenseType": "resource",
    "InstanceId": "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 respons kustom untuk objek yang dilindungi (custom_response)

Anda hanya dapat mengonfigurasi satu respons kustom untuk setiap objek yang dilindungi. Prioritas halaman respons adalah: tingkat aturan > tingkat objek yang dilindungi > halaman default.

Parameter

NameTypeRequiredExampleDescription
blockRuleIdLongNo1123ID aturan halaman blokir kustom. Ini menunjukkan bahwa ketika objek yang dilindungi memicu blokir, halaman blokir kustom dikembalikan.
captchaRuleIdLongNo1123ID aturan halaman CAPTCHA slider kustom. Ini menunjukkan bahwa ketika objek yang dilindungi memicu CAPTCHA slider, halaman CAPTCHA slider kustom dikembalikan.

Contoh

{
    "DefenseScene": "custom_response",
    "Resource": "example.**.com-waf",
    "DefenseType": "resource",
    "InstanceId": "waf_cn****",
    "Rules": "[{\"blockRuleId\":900000,\"captchaRuleId\":900001}]"
}

Aturan decoding untuk objek yang dilindungi (waf_codec)

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

Parameter

NameTypeRequiredExampleDescription
codecListArrayYes["comment","space-zip","json","xml","form","multipart","graphql","js-unicode","url","hex","html","php","java","utf7","oct"]Jenis decoding yang akan diaktifkan. Nilai yang valid:
- url: decoding URL (diaktifkan secara default dan tidak dapat dibatalkan).
- js-unicode: decoding Unicode (diaktifkan secara default dan tidak dapat dibatalkan).
- oct: decoding OCT (diaktifkan secara default dan tidak dapat dibatalkan).
- hex: decoding heksadesimal (diaktifkan secara default dan tidak dapat dibatalkan).
- comment: decoding komentar (diaktifkan secara default dan tidak dapat dibatalkan).
- space-zip: decoding spasi (diaktifkan secara default dan tidak dapat dibatalkan).
- multipart: parsing Multipart.
- json: parsing JSON.
- xml: parsing XML.
- php: decoding deserialisasi PHP.
- html: decoding entitas HTML.
- utf7: decoding UTF-7.
- base64: decoding Base64.
- form: parsing Form.
- gzip: dekompresi Gzip.
- java: decoding deserialisasi Java.
- graphql: parsing GraphQL.

















































Contoh

{
    "DefenseScene": "waf_codec",
    "Resource": "example.**.com-waf",
    "DefenseType": "resource",
    "InstanceId": "waf_cn****",
    "Rules": "[{\"codecList\":[\"comment\",\"space-zip\",\"json\",\"xml\",\"form\",\"multipart\",\"graphql\",\"js-unicode\",\"url\",\"hex\",\"html\",\"php\",\"java\",\"utf7\",\"gzip\",\"oct\",\"base64\"]}]"
}

Aturan perlindungan global (global)

Jika Anda mengatur DefenseType ke global, konfigurasi aturan berikut tersedia.

Aturan ekspresi reguler kustom (regular_custom)

Parameter

NameTypeRequiredExampleDescription
nameStringYesruleTestNama aturan ekspresi reguler kustom. Nama dapat terdiri dari hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-).
detectTypeStringYessqliJenis 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 jarak jauh (RCE) (JNDI/XPATH).
- ssrf: pemalsuan permintaan sisi server (SSRF).
- path_traversal: penelusuran jalur.
- arbitrary_file_uploading: unggah file arbitrer.
- 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: baca file arbitrer.
- arbitrary_file_download: unduh file arbitrer.
- xxe: injeksi entitas eksternal.
- csrf: pemalsuan permintaan lintas situs.
- crlf: CRLF.
- other: lainnya.



































































riskLevelStringYesstrictTingkat risiko. Nilai yang valid:
- super_strict: Super Ketat.
- strict: Ketat.
- medium: Menengah.
- loose: Longgar.










descriptionStringNoRule description.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 yang mendukung hingga lima kondisi pencocokan. Untuk informasi selengkapnya, lihat parameter condition.

Parameter condition

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, dan Multipart.
subKeyStringNoquery-testBidang sub-pencocokan kustom.
Penting Bidang sub-pencocokan hanya didukung jika bidang pencocokan adalah Header, Query-Arg, Post-Arg, atau Multipart.
opValueStringYescontainOperator logika. Nilai yang valid: regex, prefix-match, suffix-match, eq, dan contain.
valuesStringYesabcKonten pencocokan. Pisahkan beberapa nilai dengan koma (,).

Contoh

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

Buku alamat (address_book)

Parameter

NameTypeRequiredExampleDescription
nameStringYesbookTestNama buku alamat. Nama dapat terdiri dari hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-).
valueTypeStringYesipJenis buku alamat. Nilai yang valid:
- ip: buku alamat IP.

descriptionStringNoaddressbookTestDeskripsi buku alamat.

Contoh

{
  "name": "bookTest",
  "valueType": "ip",
  "description": "addressbookTest"
}

Aturan respons kustom (custom_response)

Parameter

NameTypeRequiredExampleDescription
nameStringYestestNama aturan respons kustom. Nama dapat terdiri dari hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-).
actionStringYesblockAksi aturan perlindungan. Nilai yang valid:
- block: Blok.
- captcha: CAPTCHA slider.




responseCodeIntegerNo400Kode respons yang ditentukan.
- Parameter ini wajib untuk aturan halaman blokir kustom.
- Parameter ini tidak didukung untuk aturan halaman CAPTCHA slider kustom. Nilai default adalah 200.




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.
designTypeStringNocustomJenis konfigurasi respons. Parameter ini wajib hanya jika Anda mengatur action ke captcha. Nilai yang valid:
- custom: konfigurasi kustom.
- preDefine: konfigurasi yang telah ditentukan.




responseContentStringNohelloworldKonten respons kustom. Parameter ini wajib untuk halaman CAPTCHA slider atau blokir kustom.
preDefineContentArrayNo[{"language":"cn","title":"test","description":"desc","captchaColor":"#FFFF","showTraceId":false},{"language":"en","title":"titel","description":"desc","captchaColor":"#FFFF","showTraceId":false}]Konten konfigurasi yang telah ditentukan. Parameter ini wajib jika Anda mengatur designType ke preDefine. Jika tidak, tidak diperlukan. Untuk informasi selengkapnya, lihat Parameter yang telah ditentukan.

Parameter yang telah ditentukan

NameTypeRequiredExampleDescription
languageStringYesenKonfigurasi bahasa. Nilai yang valid:
- en: Inggris.
- cn: Tiongkok.




iconStringYeshttps://img.alicdn.com/imgextra/i1/O1CN01L12MaQ1ZwfYKk7Yrc_!!6000000003259-2-tps-900-594.pngIkon. Jalur harus dapat diakses melalui Internet.
titleStringYestest_titleJudul halaman CAPTCHA slider kustom.
descriptionStringYesFor better experience, please slide to complete the verification process before accessing the web page.Deskripsi halaman CAPTCHA slider kustom.
captchaColorStringYes#ff6a00Warna CAPTCHA slider.
showTraceIdbooleanYestrueMenentukan apakah ID log ditampilkan. Nilai yang valid:
- true: menampilkan ID log di halaman CAPTCHA slider.
- false: tidak menampilkan ID log di halaman CAPTCHA slider.




Contoh konfigurasi halaman blokir kustom

{
  "name": "test",
  "action": "block",
  "responseContent": "helloworld",
  "responseCode": 401,
  "responseHeaders": [{"key":"t1","value":"v1"}],
}

Contoh konfigurasi halaman CAPTCHA slider yang telah ditentukan

{
"name": "test",
"designType": "preDefine",
"action": "captcha",
"responseHeaders": [
    {
    "key": "Content-Type",
    "value": "text/html"
    }
],
"preDefineContent": [
    {
    "language": "en",
    "icon": "https://img.alicdn.com/imgextra/i1/O1CN01L12MaQ1ZwfYKk7Yrc_!!6000000003259-2-tps-900-594.png",
    "title": "Access Verification-custom",
    "description": "For better experience, please slide to complete the verification process before accessing the web page.",
    "captchaColor": "#ff6a00",
    "showTraceId": true
    }
]
}

Elemen respons

Element

Type

Description

Example

object

Mengembalikan struktur objek.

RequestId

string

ID permintaan.

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

RuleIds

string

ID aturan perlindungan yang dibuat. Pisahkan beberapa ID 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.
400 Defense.Control.DefenseWhitelistConfigInvalid The whitelist rule is misconfigured.
400 Defense.Control.DefenseBookTypeInvalid The address book type is illegal.
400 Defense.Control.DefenseThreatIntelligenceConfigInvalid Threat Intelligence Rule configuration error.
400 Defense.Control.DefenseIpCountOversize The number of IPs exceeds the limit.

Lihat Error Codes untuk daftar lengkap.

Catatan rilis

Lihat Release Notes untuk daftar lengkap.