Membuat aturan perlindungan inti web.
Coba sekarang
Test
RAM authorization
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:
Jika DefenseType diatur ke resource, nilai yang valid adalah:
Jika DefenseType diatur ke global, nilai yang valid adalah:
|
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 |
| RegionId |
string |
No |
Wilayah tempat instans WAF ditempatkan. Nilai yang valid:
|
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
| Name | Type | Required | Example | Description |
| status | Integer | Yes | 1 | Status 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. |
| action | String | Yes | block | Aksi aturan perlindungan. Nilai yang valid: - block: memblokir permintaan. - monitor: menempatkan permintaan dalam mode pengamatan. |
| policyId | Long | No | 1012 | ID grup aturan perlindungan. Nilai default adalah 1012, yang menunjukkan grup aturan tingkat menengah. |
| protectionType | String | No | sema | Tipe aturan perlindungan. Nilai yang valid: - regular (default): perlindungan ekspresi reguler. - sema: perlindungan semantik. |
| config | String | No | {"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)
| Name | Type | Required | Example | Description |
| nonInjectionSql | Integer | Yes | 1 | Status 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
| Name | Type | Required | Example | Description |
| autoUpdate | Boolean | Yes | true | Menentukan apakah akan mengaktifkan pembaruan otomatis. Nilai yang valid: - true: mengaktifkan pembaruan otomatis. - false: menonaktifkan pembaruan otomatis. |
| config | Array | Yes | [{"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
| Name | Type | Required | Example | Description |
| ruleType | String | Yes | system | Tipe aturan. Nilai yang valid: - system: aturan sistem dalam perlindungan dasar. - custom: aturan ekspresi reguler kustom dalam perlindungan dasar. |
| ruleBatchOperationConfig | String | No | default | Operasi 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. |
| ruleDetail | Array | No | [{"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
| Name | Type | Required | Example | Description |
| protectionType | String | Yes | highfreq | Subtipe aturan perlindungan pemindaian. Nilai yang valid: - highfreq: pemblokiran pemindaian frekuensi tinggi. - dirscan: pemblokiran penelusuran direktori. - scantools: pemblokiran alat pemindaian. |
| status | Integer | Yes | 1 | Status 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. |
| action | String | Yes | block | Aksi aturan perlindungan. Nilai yang valid: - block: memblokir permintaan. - monitor: menempatkan permintaan dalam mode pengamatan. |
| config | String | No | {"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)
| Name | Type | Required | Example | Description |
| target | String | Yes | remote_addr | Tipe 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. |
| subKey | String | No | abc | Sub-fitur objek statistik. Parameter ini wajib ketika target diatur ke cookie, header, atau queryarg. |
| interval | Integer | No | 60 | Periode deteksi dalam detik. Nilai default adalah 60. Rentang valid: 5 hingga 1800. |
| ttl | Integer | No | 1800 | Periode pemblokiran dalam detik. Nilai default adalah 1800. Rentang valid: 60 hingga 86400. |
| count | Integer | No | 20 | Jumlah maksimum kali aturan perlindungan dasar dapat dipicu. Nilai default adalah 20. Rentang valid: 3 hingga 50000. |
| ruleIdCount | Integer | No | 2 | Jumlah maksimum aturan yang dipicu. Nilai default adalah 2. Rentang valid: 1 hingga 50. |
Jika protectionType diatur ke dirscan (pemblokiran penelusuran direktori)
| Name | Type | Required | Example | Description |
| target | String | Yes | remote_addr | Objek 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. |
| subKey | String | No | 1 | Sub-fitur objek untuk statistik dan pemblokiran. Parameter ini wajib hanya ketika target diatur ke header, queryarg, atau cookie. |
| interval | Integer | No | 60 | Periode deteksi dalam detik. Nilai default adalah 60. Rentang valid: 5 hingga 1800. |
| ttl | Integer | No | 1800 | Periode pemblokiran dalam detik. Nilai default adalah 1800. Rentang valid: 60 hingga 86400. |
| count | Integer | No | 20 | Jumlah maksimum kali aturan perlindungan dasar dapat dipicu. Nilai default adalah 20. Rentang valid: 3 hingga 50000. |
| weight | Float | No | 2 | Persentase kode respons 404. Nilai default adalah 0,7. Rentang valid: 0,01 hingga 1,0, akurat hingga dua tempat desimal. |
| uriNum | Integer | No | 2 | Jumlah 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
| Name | Type | Required | Example | Description |
| name | String | Yes | iptest | Nama aturan daftar hitam IP. Nama dapat terdiri dari 1 hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-). |
| status | Integer | Yes | 1 | Status 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. |
| action | String | Yes | block | Aksi aturan perlindungan. Nilai yang valid: - block: memblokir permintaan. - monitor: menempatkan permintaan dalam mode pengamatan. |
| remoteAddr | Array | Yes | ["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
| Name | Type | Required | Example | Description |
| name | String | Yes | iptest | Nama aturan ACL kustom. Nama dapat terdiri dari 1 hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-). |
| status | Integer | Yes | 1 | Status 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. |
| action | String | Yes | block | Aksi 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. |
| conditions | Array | Yes | [{"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. |
| ccStatus | Integer | Yes | 1 | Menentukan apakah akan mengaktifkan pembatasan laju. Nilai yang valid: - 0: menonaktifkan pembatasan laju. - 1: mengaktifkan pembatasan laju. |
| ratelimit | JSON | No | {"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. |
| effect | String | No | rule | Cakupan 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. |
| grayStatus | Integer | No | 1 | Menentukan apakah akan mengaktifkan rilis canary untuk aturan. Nilai yang valid: - 0 (default): menonaktifkan rilis canary. - 1: mengaktifkan rilis canary. |
| grayConfig | JSON | No | {"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. |
| timeConfig | JSON | No | {"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
| Name | Type | Required | Example | Description |
| key | String | Yes | IP | Bidang 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. |
| subKey | String | No | abc | Bidang 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. |
| opValue | String | Yes | contain | Operator 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. |
| values | String | Yes | abc | Konten 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
| Name | Type | Required | Example | Description |
| target | String | Yes | remote_addr | Tipe 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. |
| subKey | String | No | abc | Sub-fitur objek statistik. Parameter ini wajib ketika target diatur ke cookie, header, atau queryarg. |
| interval | Integer | Yes | 60 | Periode statistik dalam detik. Ini adalah periode untuk menghitung upaya akses dan digunakan bersama parameter ambang batas (threshold). Rentang valid: 1 hingga 1800. |
| threshold | Integer | Yes | 200 | Jumlah maksimum kali objek statistik tunggal dapat mengakses alamat yang dilindungi dalam periode deteksi. |
| ttl | Integer | Yes | 1800 | Durasi aksi dalam detik. Rentang valid: 60 hingga 86400. |
| status | JSON | No | {"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
| Name | Type | Required | Example | Description |
| grayTarget | String | Yes | 80 | Tipe 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. |
| graySubKey | String | No | abc | Sub-fitur objek statistik. Parameter ini wajib ketika grayTarget diatur ke cookie, header, atau queryarg. |
| grayRate | Integer | Yes | 20 | Persentase trafik untuk rilis canary. Rentang valid: 1 hingga 100. |
Parameter timeConfig detail
| Name | Type | Required | Example | Description |
| timeScope | String | Yes | perid | Rentang waktu efektif aturan. Nilai yang valid: - permanent (default): selalu efektif. - period: efektif selama periode waktu tertentu. - cycle: efektif secara berkala. |
| timeZone | Integer | Yes | 8 | Zona waktu agar aturan berlaku. Nilai default adalah 8. Rentang valid: -12 hingga 12. 0 menunjukkan UTC. 8 menunjukkan UTC+8. -8 menunjukkan UTC-8. |
| timePeriods | Array | No | [{"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. |
| weekTimePeriods | Array | No | [{"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
| Name | Type | Required | Example | Description |
| name | String | Yes | whitelistTest | Nama aturan daftar putih. Nama dapat terdiri dari 1 hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-). |
| status | Integer | Yes | 1 | Status 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. |
| conditions | Array | Yes | [{"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. |
| tags | Array | Yes | ["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. |
| regularRules | Array | No | [ "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). |
| regularTypes | Array | No | [ "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. |
| regularFields | Array | No | [{"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). |
| customRules | Array | No | [ "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). |
| blacklistRules | Array | No | [ "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). |
| botRules | Array | No | [ "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). |
| botLables | Array | No | [ "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
| Name | Type | Required | Example | Description |
| key | String | Yes | IP | Bidang 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. |
| subKey | String | No | abc | Bidang 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. |
| opValue | String | Yes | contain | Operator 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. |
| values | String | Yes | abc | Konten 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
| Name | Type | Required | Example | Description |
| key | String | Yes | URL | Bidang 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. |
| subKey | String | No | abc | Bidang 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
| Name | Type | Required | Example | Description |
| responseType | String | Yes | response_block | Tipe respons kustom. Tetapkan nilainya ke response_block, yang menunjukkan respons yang diblokir. |
| status | Integer | Yes | 1 | Status 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. |
| config | String | Yes | {"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
| Name | Type | Required | Example | Description |
| responseCode | Integer | Yes | 400 | Kode respons yang ditentukan. |
| responseHeaders | Array | No | [{"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. |
| responseContent | String | Yes | helloworld | Konten 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
| Name | Type | Required | Example | Description |
| cnRegionList | String | No | 610000,230000 | Daftar 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. |
| abroadRegionList | String | No | KE,KG | Daftar 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. |
| status | Integer | Yes | 1 | Status 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. |
| action | String | Yes | block | Aksi 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
| Name | Type | Required | Example | Description |
| mode | Integer | Yes | 0 | Mode perlindungan CC. Nilai yang valid: - 0 (default): perlindungan normal. - 1: perlindungan darurat. |
| status | Integer | Yes | 1 | Status 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
| Name | Type | Required | Example | Description |
| name | String | Yes | test | Nama aturan perlindungan. Nama dapat terdiri dari 1 hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-). |
| url | String | Yes | /abc | Alamat halaman yang di-cache. |
| ua | String | No | app | User-agent yang ditentukan untuk mengakses jalur tersebut. |
| protocol | String | Yes | https | Tipe protokol alamat halaman yang di-cache. Nilai yang valid: http, https. |
| status | Integer | Yes | 1 | Status 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
| Name | Type | Required | Example | Description |
| name | String | Yes | test | Nama aturan perlindungan. Nama dapat terdiri dari 1 hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-). |
| conditions | Array | Yes | [{"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. |
| status | Integer | Yes | 1 | Status 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. |
| action | String | Yes | block | Aksi 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
| Name | Type | Required | Example | Description |
| key | String | Yes | URL | Bidang pencocokan. Nilai yang valid: URL, HttpCode, SensitiveInfo. |
| opValue | String | Yes | contain | Operator logika. Nilainya tetap contain. |
| values | String | Yes | abc | Konten 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
| Name | Type | Required | Example | Description |
| name | String | Yes | iptest | Nama aturan pembatasan lalu lintas puncak. Nama dapat terdiri dari 1 hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-). |
| status | Integer | Yes | 1 | Status 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. |
| action | String | Yes | block | Aksi aturan perlindungan. Nilai yang valid: - block: memblokir permintaan. - monitor: menempatkan permintaan dalam mode pengamatan. |
| conditions | Array | Yes | [{"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. |
| cnRegionList | String | No | 610000,230000 | Daftar 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. |
| abroadRegionList | String | No | KE,KG | Daftar 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. |
| type | String | Yes | qps | Metode pembatasan. Nilai yang valid: - qps: berdasarkan QPS. - ratio (default): berdasarkan persentase. |
| threshold | Integer | Yes | 500 | Ambang 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
| Name | Type | Required | Example | Description |
| key | String | Yes | IP | Bidang pencocokan. Nilai yang valid: URL, URLPath, IP, Referer, User-Agent, Params, Cookie, Content-Type, Content-Length, X-Forwarded-For, Post-Body, Http-Method, Header. |
| subKey | String | No | abc | Bidang 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. |
| opValue | String | Yes | contain | Operator 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. |
| values | String | Yes | abc | Konten 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
| Name | Type | Required | Example | Description |
| accountldentifiers | Array | Yes | [ { "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
| Name | Type | Required | Example | Description |
| key | String | Yes | Query-Arg | Posisi bidang yang akan diekstraksi. Nilai yang valid: Query-Arg, Cookie-Exact, Post-Arg, Header. |
| subKey | String | Yes | query-test | Bidang sub-pencocokan kustom. |
| decodeType | String | jwt | query-test | Metode autentikasi. Nilai yang valid: - plain: teks biasa. - basic: autentikasi Basic. - jwt: autentikasi JWT. Untuk autentikasi JWT, Anda harus menentukan bidang akun yang didekode (position). |
| priority | Integer | Yes | 1 | Prioritas 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. |
| position | String | No | account | Untuk 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
| Name | Type | Required | Example | Description |
| name | String | Yes | ruleTest | Nama aturan ekspresi reguler kustom. Nama dapat terdiri dari 1 hingga 255 karakter dan boleh mengandung huruf, angka, garis bawah (_), titik (.), dan tanda hubung (-). |
| detectType | String | Yes | sqli | Tipe 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. |
| riskLevel | String | Yes | strict | Tingkat ancaman. Nilai yang valid: - super_strict: Sangat Ketat. - strict: Ketat. - medium: Menengah. - loose: Longgar |
| description | String | No | The description of the rule. | Deskripsi aturan ekspresi reguler kustom. |
| condition | Array | Yes | [{"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
| Name | Type | Required | Example | Description |
| key | String | Yes | Query-Arg | Bidang 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. |
| subKey | String | No | query-test | Bidang sub-pencocokan kustom. Penting Bidang sub-pencocokan hanya didukung ketika bidang pencocokan diatur ke Header, Query-Arg, Post-Arg, atau Multipart. |
| opValue | String | Yes | contain | Operator logika. Nilai yang valid:regex, prefix-match, suffix-match, eq, contain. |
| values | String | Yes | abc | Konten 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.