全部产品
Search
文档中心

Edge Security Acceleration:BatchCreateDcdnWafRules

更新时间:Dec 14, 2025

Panggil operasi BatchCreateDcdnWafRules untuk mengonfigurasi aturan mitigasi WAF.

Deskripsi operasi

Catatan

Frekuensi pemanggilan operasi ini dibatasi hingga 20 kali per detik untuk setiap pengguna.

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

dcdn:BatchCreateDcdnWafRules

create

*All Resource

*

None None

Parameter permintaan

Parameter

Type

Required

Description

Example

PolicyId

integer

Yes

ID kebijakan mitigasi.

1000001

RuleConfigs

string

Yes

Konfigurasi aturan mitigasi.

[{"name":"example","action":"monitor","conditions":[{"key":"URL","opValue":"match-one","values":"1,2,3,4,5"},{"key":"Header","opValue":"contain-one","subKey":"example_subkey","values":"6,7,8,9,10"}],"ratelimit":{"target":"header","interval":10,"threshold":5,"ttl":1800,"subKey":"example_subkey","status":{"code":"502","count":5}},"ccStatus":"on","effect":"rule","status":"on"}]

Deskripsi RuleConfigs

  • RuleConfigs adalah array objek, dengan setiap objek merepresentasikan satu aturan.

  • Format RuleConfigs bervariasi tergantung pada tipe kebijakan mitigasi yang terkait dengan PolicyId.

Skenario 1: WAF (waf_group)

Parameter

Type

Required

Example

Description

status

String

No

on

Status aturan. Nilai yang valid: on dan off. Nilai default adalah on.

action

String

Yes

block

Aksi aturan. Nilai yang valid: block dan monitor.

wafGroupIds

String

No

1012

ID grup aturan WAF. Nilai default adalah 1012. Pisahkan beberapa ID dengan koma (,).

Contoh konfigurasi waf_group:

// Kebijakan WAF hanya mendukung satu aturan.
[
  {
    "status": "on",
    "action": "block"
  }
]

Skenario 2: Aturan kustom (custom_acl)

Name

Type

Required

Example

Description

name

string

Yes

acl_1

Nama aturan. Nama dapat berisi huruf kecil, huruf kapital, angka (0 hingga 9), dan garis bawah (_). Panjang nama maksimal 64 karakter.

status

string

No

on

Nilai yang valid: on dan off. Nilai default adalah on.

conditions

Condition

Yes

[ {"key": "URI", "subKey": "","opValue": "contain", "values": "/login.php" }]

Kondisi yang memicu aturan. Untuk informasi lebih lanjut tentang parameter, lihat Tabel 1. Parameter Condition.

ccStatus

string

Yes

off

Menentukan apakah pembatasan laju diaktifkan. Nilai yang valid: on dan off.

rateLimit

RateLimit

No

{ "target": "Header", "subKey": "User-Agent", "interval": 5, "threshold": 2, "ttl": 1800}

Aturan pembatasan laju. Parameter ini wajib jika ccStatus diatur ke on. Untuk informasi lebih lanjut tentang parameter, lihat Tabel 2. Parameter RateLimit.

effect

string

No

service

Cakupan daftar hitam pembatasan laju. Parameter ini wajib jika ccStatus diatur ke on. Nilai yang valid: rule (aturan saat ini) dan service (global).

action

string

Yes

deny

Aksi aturan. Nilai yang valid: deny, js (JavaScript Challenge), dan monitor.

Tabel 1. Parameter Condition

Name

Type

Required

Example

Description

Key

string

Yes

Query String Parameter

Bidang pencocokan. Untuk informasi lebih lanjut, lihat DescribeDcdnWafFilterInfo.

subKey

string

No

action

Subbidang pencocokan. Untuk informasi lebih lanjut, lihat DescribeDcdnWafFilterInfo.

opValue

String

Yes

eq

Operator logika. Untuk informasi lebih lanjut, lihat DescribeDcdnWafFilterInfo.

values

String

No

js

Konten pencocokan. Pisahkan beberapa nilai dengan koma (,). Untuk informasi lebih lanjut, lihat DescribeDcdnWafFilterInfo.

Tabel 2. Parameter RateLimit

Name

Type

Required

Example

Description

target

string

Yes

Header

Bidang yang digunakan untuk statistik pembatasan laju. Nilai yang valid: IP (permintaan dari alamat IP yang sama), Header (permintaan yang berisi header tertentu), Query String Parameter (permintaan yang berisi parameter tertentu), Cookie Name (permintaan yang berisi cookie tertentu), dan Session (permintaan dari sesi yang sama).

subKey

string

No

User-Agent

Subbidang bidang statistik. Parameter ini wajib jika target diatur ke Header, Query String Parameter, atau Cookie Name.

Interval

Integer

Yes

5

Periode statistik. Nilai yang valid: 5 hingga 1800. Satuan: detik.

threshold

Integer

Yes

2

Ambang batas statistik. Nilai yang valid: 2 hingga 50000. Satuan: kali.

ttl

Integer

Yes

1800

Periode timeout untuk daftar hitam. Nilai yang valid: 60 hingga 86400. Satuan: detik.

status

RateLimitStatus

No

{"code": "404", "ratio": 10}

Statistik kode respons. Untuk informasi lebih lanjut tentang parameter, lihat Tabel 3. Parameter RateLimitStatus.

Tabel 3. Parameter RateLimitStatus

Name

Type

Required

Example

Description

code

string

Yes

404

Kode status HTTP.

ratio

Integer

No

10

Persentase permintaan yang memicu aturan. Nilai yang valid: 1 hingga 100. Anda dapat menentukan parameter ini atau count.

count

Integer

No

10

Jumlah permintaan yang memicu aturan. Nilai yang valid: 2 hingga 50000. Anda dapat menentukan parameter ini atau ratio.

Contoh konfigurasi custom_acl:

[
  // Kontrol akses
  {
    "name": "acl_1",
    "status": "off",
    "conditions":
    [
      {
        "key": "Query String Parameter",
        "subKey": "action",
        "opValue": "eq",
        "values": "js"
      }
    ],
    "ccStatus": "off",
    "action": "js"
  },
  // Pembatasan laju
  {
    "name": "cc_1",
    "status": "on",
  	"conditions": 
    [
      {
        "key": "URI",
        "subKey": "",
        "opValue": "contain",
        "values": "/login.php"
      },
      {
        "key": "IP",
        "subKey": "",
        "opValue": "ip-contain",
        "values": "192.168.0.1/24"
      }
    ],
    "ccStatus": "on",
    "ratelimit":
    {
      "target": "Header",
      "subKey": "User-Agent",
      "interval": 5,
      "threshold": 2,
      "ttl": 1800,
      "status":
      {
        "code": "404",
        "ratio": 10
      }
    },
    "effect": "service",
    "action": "deny"
  }
]

Skenario 3: Daftar putih (whitelist)

Name

Type

Required

Example

Description

name

string

Yes

on

Nama aturan. Nama dapat berisi huruf kecil, huruf kapital, angka (0 hingga 9), dan garis bawah (_). Panjang nama maksimal 64 karakter.

status

string

No

on

Status aturan. Nilai yang valid: on (default) dan off.

conditions

Condition

Yes

[{ "key": "Http-Method","subKey": "","opValue": "match-one", "values": "GET,POST,DELETE" }]

Kondisi yang memicu aturan. Untuk informasi lebih lanjut tentang parameter, lihat Tabel 1. Parameter Condition.

tags

String

Yes

[ "waf_group", "custom_acl"]

Daftar tipe kebijakan mitigasi.

regularTypes

String

No

[ [ "sqli", "xss","code_exec", "crlf", "lfilei", "rfilei", "webshell","vvip", "other"]

Tipe aturan ekspresi reguler. Parameter ini tersedia jika tags ditentukan sebagai waf_group. Nilai yang valid: "sqli", "xss", "code_exec", "crlf", "lfilei", "rfilei", "webshell", "vvip", dan "other".

regularRules

String

No

[ "100001", "100002", "100003"]

Aturan ekspresi reguler. Parameter ini tersedia jika tags ditentukan sebagai waf_group. Anda dapat menentukan parameter ini atau regularTypes. Nilainya adalah daftar angka enam digit dalam format string.

Contoh konfigurasi daftar putih:

[
  // Lewati semua skenario
  {
    "name": "wl_all",
    "status": "on",
    "conditions":
    [
      {
        "key": "Http-Method",
        "subKey": "",
        "opValue": "match-one",
        "values": "GET,POST,DELETE"
      }
    ],
    "tags":
    [
      "waf_group",
      "custom_acl",
      "ip_blacklist",
      "region_block"
    ]
  },
  // Lewati ID aturan tertentu untuk waf_group
  {
    "name": "wl_waf_id",
    "status": "off",
    "conditions":
    [
      {
        "key": "Cookie Name",
        "subKey": "cdn-sec",
        "opValue": "prefix-match",
        "values": "a7sdsa9dsa8d8sa"
      },
      {
        "key": "Referer",
        "subKey": "",
        "opValue": "none",
        "values": ""
      }
    ],
    "tags":
    [
      "waf_group"
    ],
    "regularRules":
    [
      "100001",
      "100002",
      "100003"
    ]
  },
  {
  // Lewati tipe aturan tertentu untuk waf_group
    "name": "wl_waf_type",
    "status": "on",
    "conditions":
    [
      {
        "key": "Query String",
        "subKey": "",
        "opValue": "exists",
        "values": ""
      }
    ],
    "tags":
    [
      "waf_group"
    ],
    "regularTypes":
    [
      "sqli",
      "xss",
      "code_exec",
      "crlf",
      "lfilei",
      "rfilei",
      "webshell",
      "vvip",
      "other"
    ]
  },
  // Lewati aturan kustom
  {
    "name": "wl_custom_acl",
    "status": "on",
    "conditions":
    [
      {
        "key": "Http-Method",
        "subKey": "",
        "opValue": "match-one",
        "values": "GET,POST,DELETE"
      }
    ],
    "tags":
    [
      "custom_acl"
    ]
  },
  // Lewati daftar hitam IP
  {
    "name": "wl_ip_blacklist",
    "status": "on",
    "conditions":
    [
      {
        "key": "Http-Method",
        "subKey": "",
        "opValue": "match-one",
        "values": "GET,POST,DELETE"
      }
    ],
    "tags":
    [
      "ip_blacklist"
    ]
  },
  // Lewati daftar hitam lokasi
  {
    "name": "wl_region_block",
    "status": "on",
    "conditions":
    [
      {
        "key": "Http-Method",
        "subKey": "",
        "opValue": "match-one",
        "values": "GET,POST,DELETE"
      }
    ],
    "tags":
    [
      "region_block"
    ]
  }
]

Skenario 4: Daftar hitam IP (ip_blacklist)

Name

Type

Required

Example

Description

name

string

Yes

ipblacklist

Nama aturan. Nama dapat berisi huruf kecil, huruf kapital, angka (0 hingga 9), dan garis bawah (_). Panjang nama maksimal 64 karakter.

status

string

No

on

Status aturan. Nilai yang valid: on dan off. Nilai default adalah on.

remoteAddr

[]String

Yes

["192.168.0.1","10.10.10.10/24","::1","abcd::abcd","BCDE::BCDE"]

Alamat IP yang akan difilter. Untuk informasi lebih lanjut, lihat DescribeDcdnWafFilterInfo.

action

string

Yes

deny

Aksi aturan. Nilai yang valid: deny dan monitor.

Contoh konfigurasi ip_blacklist:

[
    {
    "name": "ipblacklist",
    "status": "on",
    "remoteAddr": ["192.168.0.1","10.10.10.10/24","::1","abcd::abcd","BCDE::BCDE"],
    "action": "deny"
  }
]

Skenario 5: Daftar hitam lokasi (region_block)

Name

Type

Required

Example

Description

status

string

No

on

Status aturan. Nilai yang valid: on dan off. Nilai default adalah on.

cnRegionList

string

No

110000,TW,MO

Wilayah di Tiongkok Daratan yang akan diblokir. Pisahkan beberapa wilayah dengan koma (,). Untuk informasi lebih lanjut tentang wilayah yang didukung, lihat DescribeDcdnWafGeoInfo.

otherRegionList

string

No

JP,GB

Wilayah di luar Tiongkok Daratan yang akan diblokir. Pisahkan beberapa wilayah dengan koma (,). Untuk informasi lebih lanjut tentang wilayah yang didukung, lihat DescribeDcdnWafGeoInfo.

action

string

Yes

deny

Aksi aturan. Nilai yang valid: deny dan monitor.

Catatan

Anda harus menentukan setidaknya salah satu dari cnRegionList atau otherRegionList.

Contoh konfigurasi region_block:

[
    {
    "status": "on",
    "cnRegionList": "110000,TW,MO",
    "otherRegionList": "JP,GB",
    "action": "deny"
  }
]

Skenario 6: Manajemen bot (bot)

Templat aturan

Semua aturan mencakup empat parameter berikut. Untuk informasi lebih lanjut mengenai nilai yang valid, lihat deskripsi masing-masing klasifikasi aturan.

Parameter

Type

Required

Description

type

String

Yes

Tipe aturan. Untuk informasi lebih lanjut, lihat klasifikasi aturan spesifik.

status

String

Yes

Status aturan. Nilai yang valid: on dan off.

config

TargetType

No

Konfigurasi aturan. Untuk informasi lebih lanjut, lihat klasifikasi aturan spesifik.

action

String

No

Aksi aturan. Untuk informasi lebih lanjut, lihat klasifikasi aturan spesifik.

Klasifikasi aturan 1: Tipe objek yang dilindungi

Parameter

Type

Required

Example

Description

type

String

Yes

target_type

Tipe aturan. Tetapkan nilainya ke target_type.

status

String

Yes

on

Status aturan. Tetapkan nilainya ke on.

config

TargetType

No

{"target":"app"}

Konfigurasi aturan. Format:
target: Tipe objek yang dilindungi. Parameter ini wajib. Nilai yang valid: web dan app.

action

String

No

empty

Aksi aturan. Parameter ini tidak berlaku. Biarkan kosong.

Contoh konfigurasi tipe objek yang dilindungi:

[
  {
    "type":"target_type",
    "status":"on",
    "config":{"target":"app"},
    "action":""
  }
]

Klasifikasi aturan 2: Integrasi Web SDK

Parameter

Type

Required

Example

Description

type

String

Yes

web_sdk

Tipe aturan. Tetapkan nilainya ke web_sdk.

status

String

Yes

on

Status aturan. Tetapkan nilainya ke on.

config

WebSdk

No

{"mode":"automatic","crossDomain":"example.com"}

Konfigurasi aturan. Format:
mode: Mode integrasi kit pengembangan perangkat lunak (SDK) web. Parameter ini wajib. Nilai yang valid: automatic dan manual.
crossDomain: Nama domain lintas domain untuk panggilan. Parameter ini opsional dan hanya berlaku jika mode diatur ke automatic.




action

String

No

empty

Aksi aturan. Parameter ini tidak berlaku. Biarkan kosong.

Contoh konfigurasi integrasi Web SDK:

[
  {
    "type":"web_sdk",
    "status":"on",
    "config":{"mode":"automatic","crossDomain":"example.com"},
    "action":""
  }
]

Klasifikasi aturan 3: Fitur objek yang dilindungi

Parameter

Type

Required

Example

Description

type

String

Yes

traffic_feature

Tipe aturan. Tetapkan nilainya ke traffic_feature.

status

String

Yes

on

Status aturan. Tetapkan nilainya ke on.

config

TrafficFeature

Yes

{"conditions":[{"key":"Header","subKey":"User-Agent","opValue":"contain","values":"Chrome"},{"key":"IP","subKey":"","opValue":"ip-contain","values":"192.168.0.1/24"}]}

Konfigurasi aturan. Untuk informasi lebih lanjut, lihat condition.

action

String

No

empty

Aksi aturan. Parameter ini tidak berlaku. Biarkan kosong.

condition (kondisi pencocokan)

Parameter

Type

Required

Example

Description

key

String

Yes

Header

Bidang pencocokan. Untuk informasi lebih lanjut, lihat DescribeDcdnWafFilterInfo.

subKey

String

No

User-Agent

Subbidang pencocokan. Untuk informasi lebih lanjut, lihat DescribeDcdnWafFilterInfo.

opValue

String

Yes

contain

Operator. Untuk informasi lebih lanjut, lihat DescribeDcdnWafFilterInfo.

values

String

No

Chrome

Konten pencocokan. Pisahkan beberapa nilai dengan koma (,). Untuk informasi lebih lanjut, lihat DescribeDcdnWafFilterInfo.

Contoh konfigurasi fitur objek yang dilindungi:

[
  {
    "type":"traffic_feature",
    "status":"on",
    "config":{"conditions":[{"key":"Header","subKey":"User-Agent","opValue":"contain","values":"Chrome"},{"key":"IP","subKey":"","opValue":"ip-contain","values":"192.168.0.1/24"}]},
    "action":""
  }
]

Klasifikasi aturan 4: Manajemen bot sah

Parameter

Type

Required

Example

Description

type

String

Yes

intelligence_crawler

Tipe aturan. Tetapkan nilainya ke intelligence_crawler.

status

String

Yes

on

Status aturan. Tetapkan nilainya ke on.

config

IntelligenceCrawler

No

{"name":"intelligence_crawler_baidu"}

Konfigurasi aturan. Untuk informasi lebih lanjut, lihat name (daftar putih spider mesin pencari).

action

String

Yes

bypass

Aksi aturan. Tetapkan nilainya ke bypass.

name (daftar putih spider mesin pencari)

Parameter value

Meaning

intelligence_crawler_all

Daftar putih mesin pencari sah (Google, Bing, Baidu, Sogou, 360, dan Yandex)

intelligence_crawler_baidu

Daftar putih spider Baidu

intelligence_crawler_sogou

Daftar putih spider Sogou

intelligence_crawler_360

Daftar putih spider 360

intelligence_crawler_google

Daftar putih spider Google

intelligence_crawler_bing

Daftar putih spider Bing

intelligence_crawler_yandex

Daftar putih spider Yandex

Contoh konfigurasi manajemen bot sah:

[
  {
    "type":"intelligence_crawler",
    "status":"on",
    "config":{"name":"intelligence_crawler_baidu"},
    "action":"bypass"
  },
  {
    "type":"intelligence_crawler",
    "status":"on",
    "config":{"name":"intelligence_crawler_google"},
    "action":"bypass"
  }
]

Klasifikasi aturan 5: Penyaringan skrip sederhana (JavaScript Challenge)

Parameter

Type

Required

Example

Description

type

String

Yes

js

Tipe aturan. Tetapkan nilainya ke js.

status

String

Yes

on

Status aturan. Nilai yang valid: on dan off.

config

Js

No

empty

Konfigurasi aturan. Parameter ini tidak berlaku. Biarkan kosong.

action

String

Yes

js

Aksi aturan. Tetapkan nilainya ke js (JavaScript Challenge).

Contoh konfigurasi penyaringan skrip sederhana (JavaScript Challenge):

[
  {
    "type":"js",
    "status":"on",
    "config":{},
    "action":"js"
  }
]

Klasifikasi aturan 6: Pertahanan bot canggih (tantangan token dinamis)

Parameter

Type

Required

Example

Description

type

String

Yes

sigchl

Tipe aturan. Tetapkan nilainya ke sigchl.

status

String

Yes

on

Status aturan. Nilai yang valid: on dan off.

config

Sigchl

No

{"sigchl":["sig","replay","driver"]}

Konfigurasi aturan. Format:
sigchl: Verifikasi tanda tangan data permintaan. Parameter ini wajib. Nilai yang valid: sig (tanda tangan abnormal), replay (timestamp abnormal), dan driver (serangan WebDriver).

action

String

Yes

sigchl

Aksi aturan. Tetapkan nilainya ke sigchl (blokir).

Contoh konfigurasi pertahanan bot canggih (tantangan token dinamis):

[
  {
    "type":"sigchl",
    "status":"on",
    "config":{"sigchl":["sig","replay","driver"]},
    "action":"sigchl"
  }
]

Klasifikasi aturan 7: Perlindungan berbasis AI

Parameter

Type

Required

Example

Description

type

String

Yes

algorithm

Tipe aturan. Tetapkan nilainya ke algorithm.

status

String

Yes

on

Status aturan. Nilai yang valid: on dan off.

config

Algorithm

No

empty

Konfigurasi aturan. Parameter ini tidak berlaku. Biarkan kosong.

action

String

Yes

captcha

Aksi aturan. Nilai yang valid: monitor dan captcha (CAPTCHA slider).

Contoh konfigurasi perlindungan berbasis AI:

[
  {
    "type":"algorithm",
    "status":"on",
    "config":{},
    "action":"captcha"
  }
]

Klasifikasi aturan 8: Pembatasan laju berdasarkan IP

Parameter

Type

Required

Example

Description

type

String

Yes

custom_cc_ip

Tipe aturan. Tetapkan nilainya ke custom_cc_ip.

status

String

Yes

on

Status aturan. Nilai yang valid: on dan off.

config

CustomCcIp

Yes

{"interval":20,"target":"IP","threshold":50,"ttl":2800}

Konfigurasi aturan. Untuk informasi lebih lanjut, lihat Parameter konfigurasi pembatasan laju berdasarkan IP.

action

String

Yes

monitor

Aksi aturan. Nilai yang valid: deny, monitor, dan captcha (slider, hanya untuk web).

Parameter konfigurasi pembatasan laju berdasarkan IP

Parameter

Type

Required

Example

Description

target

String

Yes

IP

Bidang statistik untuk pembatasan laju. Tetapkan nilainya ke IP.

subKey

String

No

empty

Subbidang bidang statistik. Parameter ini tidak berlaku. Biarkan kosong.

Interval

Integer

Yes

20

Periode statistik. Nilai yang valid: 5 hingga 1800. Satuan: detik.

threshold

Integer

Yes

50

Ambang batas statistik. Nilai yang valid: 2 hingga 50000. Satuan: kali.

ttl

Integer

Yes

2800

Periode timeout untuk daftar hitam. Nilai yang valid: 60 hingga 86400. Satuan: detik.

Contoh konfigurasi pembatasan laju berdasarkan IP:

[
  {
    "type":"custom_cc_ip",
    "status":"on",
    "config":{"interval":20,"target":"IP","threshold":50,"ttl":2800},
    "action":"monitor"
  },
  {
    "type":"custom_cc_ip",
    "status":"on",
    "config":{"interval":10,"target":"IP","threshold":30,"ttl":1800},
    "action":"monitor"
  }
]

Klasifikasi aturan 9: Pembatasan laju berdasarkan perangkat

Parameter

Type

Required

Example

Description

type

String

Yes

custom_cc_dev

Tipe aturan. Tetapkan nilainya ke custom_cc_dev.

status

String

Yes

on

Status aturan. Nilai yang valid: on dan off.

config

CustomCcDev

Yes

{"interval":20,"target":"Header","subKey":"aliwaf_wxbb_umid","threshold":50,"ttl":2800}

Konfigurasi aturan. Untuk informasi lebih lanjut, lihat Parameter konfigurasi pembatasan laju berdasarkan perangkat.

action

String

Yes

monitor

Aksi aturan. Nilai yang valid: deny dan monitor.

Parameter konfigurasi pembatasan laju berdasarkan perangkat

Parameter

Type

Required

Example

Description

target

String

Yes

Header

Bidang statistik untuk pembatasan laju. Tetapkan nilainya ke Header.

subKey

String

No

aliwaf_wxbb_umid

Subbidang bidang statistik. Tetapkan nilainya ke aliwaf_wxbb_umid.

Interval

Integer

Yes

20

Periode statistik. Nilai yang valid: 5 hingga 1800. Satuan: detik.

threshold

Integer

Yes

50

Ambang batas statistik. Nilai yang valid: 2 hingga 50000. Satuan: kali.

ttl

Integer

Yes

2800

Periode timeout untuk daftar hitam. Nilai yang valid: 60 hingga 86400. Satuan: detik.

Contoh konfigurasi pembatasan laju berdasarkan perangkat:

[
  {
    "type":"custom_cc_dev",
    "status":"on",
    "config":{"interval":20,"target":"Header","subKey":"aliwaf_wxbb_umid","threshold":50,"ttl":2800},
    "action":"monitor"
  },
  {
    "type":"custom_cc_dev",
    "status":"on",
    "config":{"interval":20,"target":"Header","subKey":"aliwaf_wxbb_umid","threshold":50,"ttl":2800},
    "action":"deny"
  }
]

Klasifikasi aturan 10: Pembatasan laju sesi kustom

Parameter

Type

Required

Example

Description

type

String

Yes

custom_cc

Tipe aturan. Tetapkan nilainya ke custom_cc.

status

String

Yes

on

Status aturan. Nilai yang valid: on dan off.

config

CustomCcIp

Yes

{"interval":10,"target":"Query String Parameter","subKey":"arg","threshold":30,"ttl":1800}

Konfigurasi aturan. Untuk informasi lebih lanjut, lihat Parameter konfigurasi pembatasan laju sesi kustom.

action

String

Yes

monitor

Aksi aturan. Nilai yang valid: deny, monitor, dan captcha (slider, hanya untuk web).

Parameter konfigurasi pembatasan laju sesi kustom

Parameter

Type

Required

Example

Description

target

String

Yes

Query String Parameter

Bidang yang digunakan untuk statistik pembatasan laju. Nilai yang valid: Header (permintaan yang berisi header tertentu), Query String Parameter (permintaan yang berisi parameter tertentu), Cookie Name (permintaan yang berisi cookie tertentu), dan Session (permintaan dari sesi yang sama).

subKey

String

No

arg

Subbidang bidang statistik. Ini adalah bidang kustom.

Interval

Integer

Yes

10

Periode statistik. Nilai yang valid: 5 hingga 1800. Satuan: detik.

threshold

Integer

Yes

30

Ambang batas statistik. Nilai yang valid: 2 hingga 50000. Satuan: kali.

ttl

Integer

Yes

2800

Periode timeout untuk daftar hitam. Nilai yang valid: 60 hingga 86400. Satuan: detik.

Contoh konfigurasi pembatasan laju sesi kustom:

[
  {
    "type":"custom_cc",
    "status":"on",
    "config":{"interval":10,"target":"Query String Parameter","subKey":"arg","threshold":30,"ttl":1800},
    "action":"deny"
  },
  {
    "type":"custom_cc",
    "status":"on",
    "config":{"interval":10,"target":"Query String Parameter","subKey":"arg","threshold":30,"ttl":1800},
    "action":"captcha"
  }
]

Klasifikasi aturan 11: Pustaka intelijen ancaman bot

Parameter

Type

Required

Example

Description

type

String

Yes

intelligence

Tipe aturan. Tetapkan nilainya ke intelligence.

status

String

Yes

on

Status aturan. Nilai yang valid: on dan off.

config

Intelligence

No

empty

Konfigurasi aturan. Parameter ini tidak berlaku. Biarkan kosong.

action

String

Yes

captcha

Aksi aturan. Nilai yang valid: monitor dan captcha (CAPTCHA slider).

Contoh konfigurasi pustaka intelijen ancaman bot:

[
  {
    "type":"intelligence",
    "status":"on",
    "config":{},
    "action":"captcha"
  }
]

Klasifikasi aturan 12: Pemblokiran daftar hitam IDC

Parameter

Type

Required

Example

Description

type

String

Yes

intelligence_idc

Tipe aturan. Tetapkan nilainya ke intelligence_idc.

status

String

Yes

on

Status aturan. Nilai yang valid: on dan off.

config

IntelligenceIdc

Yes

{"name":"intelligence_idc_alibaba"}

Konfigurasi aturan. Untuk informasi lebih lanjut, lihat Parameter name.

action

String

Yes

captcha

Aksi aturan. Nilai yang valid: deny, monitor, dan captcha (CAPTCHA slider).

Parameter name

Parameter value

Meaning

intelligence_idc_alibaba

Pustaka IP IDC - Alibaba Cloud

intelligence_idc_tencent

Pustaka IP IDC - Tencent Cloud

intelligence_idc_mtyun

Pustaka IP IDC - Meituan Cloud

intelligence_idc_vnet

Pustaka IP IDC - 21Vianet

intelligence_idc_other

Pustaka IP IDC - Lainnya

Contoh konfigurasi pemblokiran daftar hitam IDC:

[
  {
    "type":"intelligence_idc",
    "status":"on",
    "config":{"name":"intelligence_idc_alibaba"},
    "action":"captcha"
  },
  {
    "type":"intelligence_idc",
    "status":"on",
    "config":{"name":"intelligence_idc_tencent"},
    "action":"captcha"
  }
]

Klasifikasi aturan 13: Pemblokiran spider palsu

Parameter

Type

Required

Example

Description

type

String

Yes

intelligence_fake_crawler

Tipe aturan. Tetapkan nilainya ke intelligence_fake_crawler.

status

String

Yes

on

Status aturan. Nilai yang valid: on dan off.

config

IntelligenceFakeCrawler

No

empty

Konfigurasi aturan. Parameter ini tidak berlaku. Biarkan kosong.

action

String

Yes

deny

Aksi aturan. Tetapkan nilainya ke deny.

Contoh konfigurasi pemblokiran spider palsu:

[
  {
    "type": "intelligence_fake_crawler",
    "status": "on",
    "config":{},
    "action": "deny"
  }
]

Klasifikasi aturan 14: Deteksi fitur bot

Parameter

Type

Required

Example

Description

type

String

Yes

app_sdk

Tipe aturan. Tetapkan nilainya ke app_sdk.

status

String

Yes

on

Status aturan. Tetapkan nilainya ke on.

config

AppSdk

Yes

{"featureAbnormal":["simulator","proxy","root","debugged","hook","virtual","antiReplay","signInvalid"],"customSignStatus":"on","customSign":{"key":"header","value":"ua"}}

Konfigurasi aturan. Untuk informasi lebih lanjut, lihat Parameter konfigurasi deteksi fitur bot.

action

String

Yes

monitor

Aksi aturan. Nilai yang valid: deny dan monitor.

Parameter konfigurasi deteksi fitur bot

Parameter

Type

Required

Example

Description

featureAbnormal

[]String

Yes

simulator

signInvalid: Tanda tangan aplikasi abnormal.
antiReplay: Tanda tangan kedaluwarsa.
simulator: Menggunakan emulator.
proxy: Menggunakan proxy.
root: Perangkat di-root.
debugged: Mode debug diaktifkan.
hook: Aplikasi di-hook.
virtual: Aplikasi dibuka multipel.



















customSignStatus

String

No

on

Menentukan apakah bidang penandatanganan kustom diaktifkan. Nilai yang valid: on dan off.

customSign

CustomSign

No

{"key":"header","value":"ua"}

Bidang penandatanganan kustom. Format:
key: Nama bidang. Parameter ini wajib. Nilai yang valid: header, arg, dan cookie.
value: Nilai bidang. Parameter ini wajib.




Contoh konfigurasi deteksi fitur bot:

[
  {
    "type": "app_sdk",
    "status": "on",
    "config": {"featureAbnormal":["simulator","proxy","root","debugged","hook","virtual","antiReplay","signInvalid"],"customSignStatus":"on","customSign":{"key":"header","value":"ua"}},
    "action": "monitor"
  }
]

Klasifikasi aturan 15: Mitigasi canggih (deteksi repackaging)

Parameter

Type

Required

Example

Description

type

String

Yes

app_package

Tipe aturan. Tetapkan nilainya ke app_package.

status

String

Yes

on

Status aturan. Tetapkan nilainya ke on.

config

AppPackage

No

{"packageSigns":[{"name":"aaaaa","sign":"bbbb"},{"name":"cccc","sign":"dddd"}]}

Konfigurasi aturan. Untuk informasi lebih lanjut, lihat Parameter packageSigns.

action

String

Yes

monitor

Aksi aturan. Nilai yang valid: deny dan monitor.

Parameter packageSigns

Parameter

Type

Required

Example

Description

name

String

Yes

aaaaa

Nama paket sah.

sign

String

No

bbbb

Tanda tangan paket.

Contoh konfigurasi mitigasi canggih (deteksi repackaging):

[
  {
    "type": "app_package",
    "status": "on",
    "config": {"packageSigns":[{"name":"aaaaa","sign":"bbbb"},{"name":"cccc","sign":"dddd"}]},
    "action": "deny"
  }
]

Contoh konfigurasi parameter gabungan untuk manajemen bot pada halaman web atau browser

[
    {
        "type": "target_type",
        "status": "on",
        "config":
        {
            "target": "web"
        },
        "action": ""
    },
    {
        "type": "web_sdk",
        "status": "on",
        "config":
        {
            "mode": "automatic",
            "crossDomain": "example.com"
        },
        "action": ""
    },
    {
        "type": "traffic_feature",
        "status": "on",
        "config":
        {
            "conditions":
            [
                {
                    "key": "Header",
                    "subKey": "User-Agent",
                    "opValue": "contain",
                    "values": "Chrome"
                },
                {
                    "key": "IP",
                    "subKey": "",
                    "opValue": "ip-contain",
                    "values": "192.168.0.1/24"
                }
            ]
        },
        "action": ""
    },
    {
        "type": "intelligence_crawler",
        "status": "on",
        "config":
        {
            "name": "intelligence_crawler_baidu"
        },
        "action": "bypass"
    },
    {
        "type": "intelligence_crawler",
        "status": "on",
        "config":
        {
            "name": "intelligence_crawler_google"
        },
        "action": "bypass"
    },
    {
        "type": "js",
        "status": "on",
        "config":
        {},
        "action": "js"
    },
    {
        "type": "sigchl",
        "status": "on",
        "config":
        {
            "sigchl":
            [
                "sig",
                "replay",
                "driver"
            ]
        },
        "action": "sigchl"
    },
    {
        "type": "algorithm",
        "status": "on",
        "config":
        {},
        "action": "captcha"
    },
    {
        "type": "custom_cc_ip",
        "status": "on",
        "config":
        {
            "interval": 20,
            "target": "IP",
            "threshold": 50,
            "ttl": 2800
        },
        "action": "monitor"
    },
    {
        "type": "custom_cc_ip",
        "status": "on",
        "config":
        {
            "interval": 10,
            "target": "IP",
            "threshold": 30,
            "ttl": 1800
        },
        "action": "monitor"
    },
    {
        "type": "custom_cc",
        "status": "on",
        "config":
        {
            "interval": 10,
            "target": "Query String Parameter",
            "subKey": "arg",
            "threshold": 30,
            "ttl": 1800
        },
        "action": "deny"
    },
    {
        "type": "custom_cc",
        "status": "on",
        "config":
        {
            "interval": 10,
            "target": "Query String Parameter",
            "subKey": "arg",
            "threshold": 30,
            "ttl": 1800
        },
        "action": "captcha"
    },
    {
        "type": "intelligence",
        "status": "on",
        "config":
        {},
        "action": "captcha"
    },
    {
        "type": "intelligence_idc",
        "status": "on",
        "config":
        {
            "name": "intelligence_idc_alibaba"
        },
        "action": "captcha"
    },
    {
        "type": "intelligence_idc",
        "status": "on",
        "config":
        {
            "name": "intelligence_idc_tencent"
        },
        "action": "captcha"
    },
    {
        "type": "intelligence_fake_crawler",
        "status": "on",
        "config":
        {},
        "action": "deny"
    }
]

Contoh konfigurasi parameter gabungan untuk manajemen bot pada aplikasi

[
    {
        "type": "target_type",
        "status": "on",
        "config":
        {
            "target": "app"
        },
        "action": ""
    },
    {
        "type": "traffic_feature",
        "status": "on",
        "config":
        {
            "conditions":
            [
                {
                    "key": "Header",
                    "subKey": "User-Agent",
                    "opValue": "contain",
                    "values": "Chrome"
                },
                {
                    "key": "IP",
                    "subKey": "",
                    "opValue": "ip-contain",
                    "values": "192.168.0.1/24"
                }
            ]
        },
        "action": ""
    },
    {
        "type": "custom_cc_ip",
        "status": "on",
        "config":
        {
            "interval": 20,
            "target": "IP",
            "threshold": 50,
            "ttl": 2800
        },
        "action": "monitor"
    },
    {
        "type": "custom_cc_ip",
        "status": "on",
        "config":
        {
            "interval": 10,
            "target": "IP",
            "threshold": 30,
            "ttl": 1800
        },
        "action": "monitor"
    },
    {
        "type": "custom_cc_dev",
        "status": "on",
        "config":
        {
            "interval": 20,
            "target": "Header",
            "subKey": "aliwaf_wxbb_umid",
            "threshold": 50,
            "ttl": 2800
        },
        "action": "monitor"
    },
    {
        "type": "custom_cc_dev",
        "status": "on",
        "config":
        {
            "interval": 20,
            "target": "Header",
            "subKey": "aliwaf_wxbb_umid",
            "threshold": 50,
            "ttl": 2800
        },
        "action": "deny"
    },
    {
        "type": "custom_cc",
        "status": "on",
        "config":
        {
            "interval": 10,
            "target": "Query String Parameter",
            "subKey": "arg",
            "threshold": 30,
            "ttl": 1800
        },
        "action": "monitor"
    },
    {
        "type": "custom_cc",
        "status": "on",
        "config":
        {
            "interval": 10,
            "target": "Query String Parameter",
            "subKey": "arg",
            "threshold": 30,
            "ttl": 1800
        },
        "action": "deny"
    },
    {
        "type": "app_sdk",
        "status": "on",
        "config":
        {
            "featureAbnormal":
            [
                "simulator",
                "proxy",
                "root",
                "debugged",
                "hook",
                "virtual",
                "antiReplay",
                "signInvalid"
            ],
            "customSignStatus": "on",
            "customSign":
            {
                "key": "header",
                "value": "ua"
            }
        },
        "action": "monitor"
    },
    {
        "type": "app_package",
        "status": "on",
        "config":
        {
            "packageSigns":
            [
                {
                    "name": "aaaaa",
                    "sign": "bbbb"
                },
                {
                    "name": "cccc",
                    "sign": "dddd"
                }
            ]
        },
        "action": "deny"
    }
]

Skenario 7: Perlindungan pemindaian (anti_scan)

Templat aturan

Semua aturan mencakup empat parameter berikut. Untuk informasi lebih lanjut mengenai nilai yang valid, lihat deskripsi masing-masing klasifikasi aturan.

Parameter

Type

Required

Description

type

String

Yes

Tipe aturan. Untuk informasi lebih lanjut, lihat klasifikasi aturan spesifik.

status

String

No

Status aturan. Nilai yang valid: on dan off.

config

Type

No

Konfigurasi aturan. Untuk informasi lebih lanjut, lihat klasifikasi aturan spesifik.

action

String

No

Aksi aturan. Untuk informasi lebih lanjut, lihat klasifikasi aturan spesifik.

Klasifikasi aturan 1: Pemblokiran pemindaian frekuensi tinggi

Parameter

Type

Required

Example

Description

type

String

Yes

high_frequency

Tipe aturan. Tetapkan nilainya ke high_frequency.

status

String

Yes

on

Status aturan. Nilai yang valid: on dan off. Nilai default adalah on.

config

HighFrequency

No

{"target":"IP","interval":20,"wafBlockThreshold":20,"ttl":1800,"distinctWafRuleThreshold":2}

Konfigurasi aturan. Untuk informasi lebih lanjut, lihat string struct berikut.

action

String

No

deny

Aksi aturan. Nilai yang valid: deny dan monitor.

  • Parameter HighFrequency

Parameter

Type

Required

Example

Description

target

String

Yes

IP

Bidang untuk statistik pembatasan laju. Nilai yang valid: IP, Session, Header, Query String Parameter, dan Cookie Name.

subKey

String

No

yoursubKey

Subbidang bidang statistik. Parameter ini tersedia jika Anda menggunakan bidang kustom. Misalnya, jika target diatur ke Header, parameter ini menentukan kunci header tersebut.

interval

Integer

Yes

20

Periode deteksi. Nilai yang valid: 5 hingga 1800. Satuan: detik.

wafBlockThreshold

Integer

Yes

20

Jumlah kali aturan perlindungan dasar dipicu. Nilai yang valid: 3 hingga 50000.

ttl

Integer

Yes

1800

Durasi pemblokiran. Nilai yang valid: 60 hingga 86400. Satuan: detik.

distinctWafRuleThreshold

Integer

Yes

2

Jumlah aturan yang dipicu lebih besar dari nilai ini. Nilai yang valid: 1 hingga 50.

[
  {
    "type":"high_frequency",
    "status":"on",
    "config":{"target":"IP","interval":20,"wafBlockThreshold":20,"ttl":1800,"distinctWafRuleThreshold":2},
    "action":"deny"
  }
]

Klasifikasi aturan 2: Pemblokiran traversal direktori

Parameter

Type

Required

Example

Description

type

String

Yes

directory_traversal

Tipe aturan. Tetapkan nilainya ke directory_traversal.

status

String

Yes

on

Status aturan. Nilai yang valid: on dan off. Nilai default adalah on.

config

DirectoryTraversal

No

{"target":"IP","interval":10,"threshold":50,"status":{"code":"404","ratio":70,"count":50},"ttl":1800}

Konfigurasi aturan. Untuk informasi lebih lanjut, lihat string struct berikut.

action

String

No

deny

Aksi aturan. Nilai yang valid: deny dan monitor.

  • Parameter DirectoryTraversal

Parameter

Type

Required

Example

Description

target

String

Yes

IP

Bidang untuk statistik pembatasan laju. Nilai yang valid: IP, Session, Header, Query String Parameter, dan Cookie Name.

subKey

String

No

yoursubKey

Subbidang bidang statistik. Parameter ini tersedia jika Anda menggunakan bidang kustom. Misalnya, jika target diatur ke Header, parameter ini menentukan kunci header tersebut.

interval

Integer

Yes

10

Periode deteksi. Nilai yang valid: 5 hingga 1800. Satuan: detik.

threshold

Integer

Yes

50

Jumlah permintaan untuk objek yang dilindungi saat ini melebihi nilai ini. Nilai yang valid: 2 hingga 50000.

status

RateLimitStatus

Yes

{"code":"404","ratio":70,"count":50}

Kode respons.

ttl

Integer

Yes

1800

Durasi pemblokiran. Nilai yang valid: 60 hingga 86400. Satuan: detik.

  • Parameter RateLimitStatus

Parameter

Type

Required

Example

Description

code

String

Yes

404

Kode status HTTP. Tetapkan nilainya ke 404.

ratio

Integer

Yes

70

Persentase respons 404. Nilai yang valid: 1 hingga 100.

count

Integer

Yes

50

Jumlah direktori yang tidak ada. Nilai yang valid: 2 hingga 50000.

[
  {
    "type":"directory_traversal",
    "status":"on",
    "config":{"target":"IP","interval":10,"threshold":50,"status":{"code":"404","ratio":70,"count":50},"ttl":1800},
    "action":"deny"
  }
]

Klasifikasi aturan 3: Pemblokiran alat pemindaian

Parameter

Type

Required

Example

Description

type

String

Yes

scan_tools

Tipe aturan. Tetapkan nilainya ke scan_tools.

status

String

Yes

on

Status aturan. Nilai yang valid: on dan off. Nilai default adalah on.

config

ScanTools

No

Empty

Konfigurasi aturan. Parameter ini tidak berlaku.

action

String

No

deny

Aksi aturan. Nilai yang valid: deny dan monitor.

[
  {
    "type":"scan_tools",
    "status":"on",
    "config":{},
    "action":"deny"
  }
]

Parameter gabungan akhir

[
    {
    "type":"high_frequency",
    "status":"on",
    "config":{"target":"IP","interval":20,"wafBlockThreshold":20,"ttl":1800,"distinctWafRuleThreshold":2},
    "action":"deny"
  },
  {
    "type":"directory_traversal",
    "status":"on",
    "config":{"target":"IP","interval":10,"threshold":50,"status":{"code":"404","ratio":70,"count":50},"ttl":1800},
    "action":"deny"
  },
  {
    "type":"scan_tools",
    "status":"on",
    "config":{},
    "action":"deny"
  }
]

Elemen respons

Element

Type

Description

Example

object

RequestId

string

ID permintaan.

CB1A380B-09F0-41BB-280B-72F8FD6DA2FE

RuleIds

object

RuleId

array

string

ID aturan yang dibuat.

100001,200002

Contoh

Respons sukses

JSONformat

{
  "RequestId": "CB1A380B-09F0-41BB-280B-72F8FD6DA2FE",
  "RuleIds": {
    "RuleId": [
      "100001,200002"
    ]
  }
}

Kode kesalahan

HTTP status code

Error code

Error message

Description

400 InvalidParameter The specified parameter is invalid. A parameter is set to an invalid value.
400 Policy.NotExist The specified policy does not exist. The specified protection policy does not exist.
400 RuleConfigs.Malformed The specified RuleConfigs format is invalid. The RuleConfigs parameter is in an invalid format.
400 RuleName.AlreadyExists Rule name already exists in specified policy. The specified rule name is already used by another rule.
400 Rule.QuantityOverflow Rules are overflowed quantity in specified policy. The number of rules in the specified policy has already reached the upper limit.
500 InternalError An internal error occurred; please try again later. An internal error occurred. Try again later. If the error persists, submit a ticket.
403 %s.NotSupport The specified resource type %s is not supported. The specified resource type is not supported. To use this type of resource, contact us.
403 %s.OverQuota The quantity of %s exceeds the quota. The number of resources exceeds the quota. If you want to apply for more resources, contact us.

Lihat Error Codes untuk daftar lengkap.

Catatan rilis

Lihat Release Notes untuk daftar lengkap.