Saat mengonfigurasi whitelist rules, custom rules, atau bot management rules, Anda harus mengatur match conditions untuk menentukan karakteristik permintaan yang akan dicocokkan. Topik ini menjelaskan bidang-bidang yang didukung oleh match conditions beserta interpretasinya.
Apa itu match conditions
Match conditions merujuk pada karakteristik permintaan yang perlu diperiksa oleh Web Application Firewall (WAF). Saat mengonfigurasi whitelist rules, Custom rules, atau Bot management, Anda menetapkan Match Condition untuk menentukan karakteristik permintaan yang akan diperiksa. Jika sebuah permintaan memenuhi match conditions yang dikonfigurasi dalam suatu aturan, maka permintaan tersebut cocok dengan aturan yang bersangkutan. WAF kemudian menerapkan rule action yang telah dikonfigurasi dalam aturan tersebut untuk memproses permintaan sesuai kebutuhan, seperti mengizinkan, memblokir, atau memverifikasi permintaan.
Match Condition terdiri dari Match Field, Logical Operator, dan Match Content. Tabel berikut menunjukkan contoh konfigurasi:
Match Field | Logical Operator | Match Content | Deskripsi |
URI Path | Contains |
| Permintaan cocok dengan aturan ini jika request path mengandung |
IP | Belongs to |
| Permintaan cocok dengan aturan ini jika client IP adalah |
Bidang pencocokan yang didukung
Tabel berikut mencantumkan bidang-bidang yang didukung oleh match conditions beserta aturan terkaitnya.
Definisi advanced rules dan penagihan
Definisi: Suatu aturan dikategorikan sebagai advanced rule jika memenuhi salah satu kondisi berikut:
Menggunakan salah satu match fields berikut:
Cookie,Content-Type,Content-Length,X-Forwarded-For,Body,Http-Method,File Extension,Filename,Server-Port,Header,Cookie Name, atauBody Parameter.Menyertakan kondisi pencocokan atau ketidakcocokan ekspresi reguler.
WAF Pay-as-you-go: Advanced rules dan basic rules memiliki standar penagihan yang berbeda. Untuk rincian harga, lihat Penagihan pay-as-you-go.
WAF Subscription: Hanya edisi Enterprise atau lebih tinggi yang mendukung advanced rules. Untuk perbedaan fitur antar edisi, lihat Edisi dan fitur WAF.
Mekanisme pencocokan
Sensitivitas huruf besar/kecil: Kecuali ditentukan lain, match content untuk semua match fields tidak peka terhadap huruf besar/kecil (case-insensitive).
Penanganan encoding: Untuk konten permintaan yang mengandung encoding umum seperti URL encoding, HTML encoding, atau Unicode encoding, sistem secara otomatis melakukan decoding terhadap konten tersebut sebelum melakukan pencocokan.
Match field | Deskripsi | Operator logika yang didukung |
URI | Uniform Resource Identifier (URI) dari sebuah permintaan, yang menunjukkan path dari resource yang diminta. Secara umum, URI = URI Path + Query String. Match content yang sesuai diawali dengan |
|
IP | Alamat IP sumber dari permintaan, yaitu alamat IP client yang memulai permintaan tersebut. Match content harus memenuhi persyaratan berikut:
| Belongs To, Does Not Belong To Catatan Satu aturan proteksi mendukung hingga 100 alamat IP atau rentang alamat IP. Misalnya, jika sebuah aturan proteksi berisi dua match conditions dengan IP sebagai match field, jumlah total alamat IP atau rentang alamat IP dalam kedua match conditions tersebut tidak boleh melebihi 100. Pisahkan beberapa alamat IP atau rentang alamat IP dengan koma (,). |
Referer | URL sumber dari permintaan, yaitu halaman asal dari mana permintaan tersebut dialihkan. |
|
User-Agent | Informasi browser dari client yang memulai permintaan, mencakup identifier browser, identifier rendering engine, 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 terkandung dalam konten permintaan. Nilai yang valid: 0 hingga 2.147.483.648. |
|
X-Forwarded-For | Alamat IP aktual client dalam permintaan. Bidang header X-Forwarded-For (XFF) digunakan untuk mengidentifikasi alamat IP asli client untuk permintaan yang diteruskan melalui proxy HTTP atau load balancer. Bidang ini hanya disertakan dalam permintaan yang diteruskan oleh proxy HTTP atau load balancer. |
|
Body | Informasi konten dari permintaan. |
|
Http-Method | Metode permintaan, termasuk GET, POST, DELETE, PUT, OPTIONS, CONNECT, HEAD, TRACE, dan PATCH. |
|
Header | Informasi header dari permintaan. Bidang header kustom didukung. |
|
URI Path | Path URI dari permintaan. |
|
Query String Parameter | Nama parameter dari request parameter. Request parameter merujuk pada bagian setelah tanda tanya (?) dalam request URL. Misalnya, dalam Catatan Parameter kustom dari Query String Parameter peka terhadap huruf besar/kecil (case-sensitive). |
|
Server-Port | Port server. |
|
File Extension | Ekstensi file dari file yang diminta, misalnya .png dan .php. |
|
Filename | Nama file di akhir request path. Misalnya, dalam |
|
Host | Domain name yang diminta. |
|
Cookie Name | Nama kunci dari cookie. Misalnya, dalam cookie Catatan Cookie-Exact kustom dari Cookie Name peka terhadap huruf besar/kecil (case-sensitive). |
|
Body Parameter |
|
|
Client-ID | Identifier client (seperti browser atau aplikasi), yang mengidentifikasi client 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 dari client dan disebut sebagai Sidik Jari JA3. Sidik Jari JA3 dapat digunakan untuk mengidentifikasi dan membedakan berbagai jenis client TLS, seperti web browser, aplikasi seluler, dan malware. Catatan Hanya didukung oleh modul . |
|
JA4 Fingerprint | Sidik Jari JA4 memperkenalkan lebih banyak informasi kontekstual dan algoritma, seperti versi browser dan sistem operasi, untuk mengurangi potensi masalah duplikasi yang disebabkan oleh Sidik Jari JA3. Sidik Jari JA4 dapat mengidentifikasi pengguna asli versus penyamar dengan lebih akurat, sehingga menurunkan 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. Ini digunakan untuk menganalisis dan mengidentifikasi berbagai client guna mencapai komunikasi yang lebih aman dan efisien. Catatan Hanya didukung oleh modul . |
|
IDC | Mengidentifikasi sumber traffic berdasarkan data atribusi IP sumber. Cloud server memiliki biaya yang lebih rendah dan mudah dieksploitasi oleh aktor jahat untuk melakukan serangan. Catatan Hanya didukung oleh modul . | Equals One of Multiple Values, Does Not Equal Any Value |
Web SDK | Mengidentifikasi traffic tidak normal 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 . |
|