Saat mengonfigurasi aturan daftar putih, aturan kustom, atau aturan Manajemen bot, Anda harus menentukan kondisi pencocokan dalam aturan tersebut untuk mengidentifikasi karakteristik permintaan yang akan dicocokkan. Topik ini menjelaskan bidang-bidang yang didukung oleh kondisi pencocokan aturan beserta penjelasannya.
Apa itu kondisi pencocokan
Kondisi pencocokan merujuk pada karakteristik permintaan yang diperiksa oleh Web Application Firewall (WAF). Saat mengonfigurasi aturan daftar putih, Aturan Kustom, atau Manajemen bot, Anda menentukan Match Condition untuk mengidentifikasi karakteristik permintaan yang akan diperiksa. Jika suatu permintaan memenuhi kondisi pencocokan yang dikonfigurasi dalam aturan tersebut, permintaan tersebut terkena aturan tersebut. WAF kemudian menerapkan aksi yang telah ditentukan dalam aturan—seperti mengizinkan, memblokir, atau memverifikasi permintaan—sesuai kebutuhan.
Match Condition terdiri dari Match Field, Logical Operator, dan Match Content. Tabel berikut menunjukkan contoh konfigurasinya:
|
Match Field |
Logical Operator |
Match Content |
Description |
|
URI Path |
Contains |
|
Permintaan cocok dengan aturan ini jika path permintaan berisi |
|
IP |
Belongs to |
|
Permintaan cocok dengan aturan ini jika IP client adalah |
Bidang pencocokan yang didukung
Tabel berikut mencantumkan bidang-bidang yang didukung oleh kondisi pencocokan beserta aturan terkaitnya.
-
Definisi aturan advanced dan penagihan
-
Definisi: Suatu aturan dikategorikan sebagai aturan advanced jika memenuhi salah satu kondisi berikut:
-
Bidang pencocokan adalah
BodyatauBody Parameter. -
Operator logika adalah
Regular Expression MatchatauRegular Expression Mismatch.
-
-
WAF pay-as-you-go: Aturan advanced dan aturan dasar memiliki standar penagihan yang berbeda. Untuk informasi harga spesifik, lihat Detail penagihan.
-
WAF berlangganan: Hanya Edisi Enterprise atau yang lebih tinggi yang mendukung aturan advanced. Untuk perbedaan fitur antar edisi, lihat Edisi.
-
-
Mekanisme pencocokan
-
Sensitivitas huruf besar/kecil: Kecuali dinyatakan lain, konten pencocokan untuk semua bidang pencocokan tidak membedakan huruf besar dan kecil.
-
Penanganan encoding: Untuk konten permintaan yang menggunakan encoding umum seperti URL encoding, HTML encoding, atau Unicode encoding, sistem secara otomatis mendekode konten tersebut sebelum melakukan pencocokan.
-
|
Match field |
Description |
Supported logical operators |
|
URI |
Uniform Resource Identifier (URI) dari suatu permintaan, yang menunjukkan path sumber daya yang diminta. Secara umum, URI = URI Path + Query String. Konten pencocokan yang sesuai diawali dengan |
|
|
IP |
Alamat IP sumber dari permintaan, yaitu alamat IP klien yang menginisiasi permintaan. Konten pencocokan harus memenuhi persyaratan berikut:
|
Belongs To, Does Not Belong To Catatan
Satu aturan proteksi mendukung maksimal 100 alamat IP atau rentang alamat IP. Misalnya, jika suatu aturan proteksi berisi dua kondisi pencocokan dengan IP sebagai bidang pencocokan, jumlah total alamat IP atau rentang alamat IP dalam kedua kondisi pencocokan tersebut tidak boleh melebihi 100. Pisahkan beberapa alamat IP atau rentang alamat IP dengan koma (,). |
|
Referer |
URL sumber permintaan, yaitu halaman tempat permintaan dialihkan. |
|
|
User-Agent |
Informasi browser dari klien yang menginisiasi permintaan, termasuk identifier browser, identifier mesin rendering, dan informasi versi. |
|
|
Query String |
String kueri dalam permintaan, khususnya bagian setelah tanda tanya (?) dalam URL. |
|
|
Cookie |
Informasi cookie dalam permintaan. |
|
|
Content-Type |
Tipe konten HTTP yang ditentukan dalam permintaan, yaitu informasi tipe Multipurpose Internet Mail Extensions (MIME). |
|
|
Content-Length |
Jumlah byte yang terdapat dalam konten permintaan. Nilai yang valid: 0 hingga 2147483648. |
|
|
X-Forwarded-For |
Alamat IP aktual klien dalam permintaan. Bidang header X-Forwarded-For (XFF) digunakan untuk mengidentifikasi alamat IP asli klien untuk permintaan yang diteruskan melalui proxy HTTP atau load balancer. Bidang ini hanya ada dalam permintaan yang diteruskan oleh proxy HTTP atau load balancer. |
|
|
Body |
Informasi konten permintaan. |
|
|
Http-Method |
Metode permintaan, termasuk GET, POST, DELETE, PUT, OPTIONS, CONNECT, HEAD, TRACE, dan PATCH. |
|
|
Header |
Informasi header permintaan. Bidang header kustom didukung. |
|
|
URI Path |
Path URI permintaan. |
|
|
Query String Parameter |
Nama parameter dari parameter permintaan. Parameter permintaan mengacu pada bagian setelah tanda tanya (?) dalam URL permintaan. Misalnya, dalam Catatan
Parameter kustom Query String Parameter bersifat case-sensitive. |
|
|
Server-Port |
Port server. |
|
|
File Extension |
Ekstensi file dari file yang diminta, misalnya .png dan .php. |
|
|
Filename |
Nama file di akhir path permintaan. Misalnya, dalam |
|
|
Host |
Nama domain yang diminta. |
|
|
Cookie Name |
Nama kunci cookie. Misalnya, dalam cookie Catatan
Cookie-Exact kustom dari Cookie Name bersifat case-sensitive. |
|
|
Body Parameter |
|
|
|
Client-ID |
Identifier klien (seperti browser atau aplikasi), yang mengidentifikasi klien asal permintaan HTTP berdasarkan karakteristik seperti informasi User Agent dan sidik jari traffic. Catatan
Hanya didukung oleh modul . |
|
|
JA3 Fingerprint |
Sebuah string yang dihasilkan dengan melakukan penghashan MD5 pada parameter kunci selama proses jabat tangan TLS, termasuk versi TLS, paket sandi, algoritma kompresi, dan ekstensi TLS. String ini merepresentasikan konfigurasi TLS klien dan disebut sebagai sidik jari JA3. Sidik jari JA3 dapat digunakan untuk mengidentifikasi dan membedakan berbagai jenis klien TLS, seperti browser web, aplikasi seluler, dan malware. Catatan
Hanya didukung oleh modul . |
|
|
JA4 Fingerprint |
Sidik jari JA4 memperkenalkan informasi kontekstual dan algoritma tambahan, seperti versi browser dan sistem operasi, untuk mengurangi potensi duplikasi yang disebabkan oleh sidik jari JA3. Sidik jari JA4 dapat mengidentifikasi pengguna asli versus penipu dengan lebih akurat, sehingga mengurangi tingkat positif palsu. Catatan
Hanya didukung oleh modul . |
|
|
HTTP/2 Fingerprint |
Sidik jari HTTP 2.0 yang dihasilkan dengan memproses sidik jari asli klien HTTP/2 menggunakan algoritma MD5. Sidik jari ini digunakan untuk menganalisis dan mengidentifikasi klien yang berbeda guna mencapai komunikasi yang lebih aman dan efisien. Catatan
Hanya didukung oleh modul . |
|
|
IDC |
Mengidentifikasi sumber traffic berdasarkan data atribusi IP sumber. Server cloud memiliki biaya lebih rendah dan mudah dieksploitasi oleh pihak jahat untuk serangan. Catatan
Hanya didukung oleh modul . |
Equals One of Multiple Values, Does Not Equal Any Value |
|
Web SDK |
Mengidentifikasi traffic abnormal berdasarkan informasi probe yang dikumpulkan oleh Web SDK, seperti UMID web dan jumlah tekanan keyboard/mouse/layar sentuh. Catatan
Hanya didukung oleh modul . |
|
|
App SDK |
Memungkinkan kontrol detail halus berdasarkan informasi probe yang dikumpulkan oleh App SDK. Catatan
Hanya didukung oleh modul . |
|