Sementara aturan yang telah dikonfigurasi sebelumnya dari Web Application Firewall (WAF) melindungi terhadap serangan umum, aturan kustom memungkinkan Anda menangani ancaman canggih yang spesifik untuk aplikasi—seperti akses admin tidak sah, pemindaian bot jahat, dan penyalahgunaan API—yang mungkin dilewatkan oleh perlindungan generik.
Cara kerja aturan kustom
Aturan kustom beroperasi pada hierarki sederhana: Aturan dikelompokkan ke dalam Templat Perlindungan (atau cukup disebut templat), yang kemudian diterapkan pada objek yang dilindungi.
Aturan: Blok bangunan dasar yang mendefinisikan pemeriksaan keamanan. Komponen utamanya adalah sebagai berikut:
Kondisi Kecocokan: Bagian
ifdari aturan. Ini mendefinisikan karakteristik permintaan yang akan diperiksa, seperti jalur permintaan atau alamat IP klien.Tindakan Aturan: Bagian
thendari aturan. Ini mendefinisikan apa yang harus dilakukan ketika sebuah permintaan cocok. Tindakan aturan diprioritaskan dari tinggi ke rendah sebagai berikut: Blokir, CAPTCHA Slider Ketat, CAPTCHA Slider, Validasi JavaScript, dan Monitor.
Templat: Kumpulan aturan yang mendefinisikan konten dan ruang lingkup spesifik dari aturan. Anggap ini sebagai kebijakan yang dapat digunakan kembali. Terdiri dari tiga bagian: jenis templat, aturan perlindungan, dan objek yang diterapkan padanya. Anda dapat membuat beberapa jenis. Perhatikan bahwa jenis tidak dapat diubah setelah pembuatan.
Templat Default: Diterapkan secara otomatis di mana-mana untuk menerapkan aturan perlindungan universal yang diberlakukan secara global.
Templat Kustom: Hanya diterapkan pada layanan tertentu yang Anda pilih untuk menerapkan aturan perlindungan granular pada layanan berisiko tinggi tertentu, seperti portal login, API pembayaran.
Objek yang Dilindungi: Sasaran perlindungan Anda, seperti nama domain atau API Anda. Anda dapat mengelompokkan beberapa objek menjadi Grup Objek yang Dilindungi untuk pengelolaan yang lebih mudah.
Prosedur
Sebelum memulai, pastikan Anda telah menambahkan layanan web Anda ke WAF dan objek yang dilindungi sudah ada. Jika Anda belum menambahkan layanan Anda, lihat Ikhtisar Onboarding.
Langkah 1: Navigasikan ke area aturan kustom
Masuk ke Konsol Web Application Firewall 3.0.
Di bilah menu atas, pilih kelompok sumber daya dan wilayah untuk instans WAF (Chinese Mainland atau Outside Chinese Mainland).
Di panel navigasi sebelah kiri, pilih .
Langkah 2: Buat templat perlindungan
Di halaman Core Web Protection, pada area Custom Rule, klik Create Template. Di panel Create Template - Custom Rule, lengkapi konfigurasi berikut:
Template Name: Masukkan nama untuk templat.
Save as Default Template: Menentukan apakah templat ini akan dijadikan default untuk modul aturan kustom. Hanya satu templat default yang diizinkan, dan pengaturan ini bersifat permanen serta tidak dapat diubah setelah pembuatan.
Ya. Templat secara otomatis diterapkan ke semua objek yang dilindungi. Anda tidak perlu mengonfigurasi pengaturan Apply To, namun Anda dapat mengecualikan objek tertentu secara manual di kemudian waktu.
Tidak: Templat tidak diterapkan ke objek apa pun secara default. Anda harus mengonfigurasi pengaturan Apply To secara manual untuk memilih objek yang dilindungi atau grup tertentu tempat templat akan diberlakukan.
Langkah 3: Tambahkan aturan perlindungan ke templat perlindungan
Di area Rule Configuration, klik Create Rule, lalu konfigurasikan parameter berikut.
Rule Name: Masukkan nama untuk aturan ini.
Match Condition: Tentukan kondisi untuk mencocokkan permintaan. Klik Add Condition untuk menambahkan kondisi. Setiap kondisi terdiri dari Match Field, Logical Operator, dan Match Content. Berikut adalah contoh konfigurasi:
CatatanJika sebuah aturan berisi beberapa kondisi, permintaan harus memenuhi semua kondisi (logika DAN) untuk cocok dengan aturan. Untuk detail tentang bidang pencocokan dan operator logika, lihat Kondisi Pencocokan.
Match Field
Logical Operator
Match Content
Deskripsi
URI Path
Mengandung
/login.phpPermintaan cocok dengan aturan jika jalur permintaan mengandung
/login.php.IP
TermasukDalam
192.1.XX.XXPermintaan cocok dengan aturan jika alamat IP klien adalah
192.1.XX.XX.Protection Rule Type: Mendukung dua jenis, yaitu Access Control dan Rate Limiting.
Access Control: Ideal untuk skenario yang memerlukan kontrol presisi atas jenis permintaan tertentu.
Rate Limiting: Ideal untuk skenario berbasis laju permintaan, seperti mencegah stuffing kredensial dan serangan brute-force. Fitur ini hanya tersedia untuk instans Enterprise dan Ultimate dengan langganan berbayar, serta instans berbayar sesuai penggunaan.
Kontrol Akses
Konfigurasikan aturan kontrol akses untuk menerapkan tindakan tertentu pada permintaan yang memenuhi kondisi tertentu.
Rate Limiting
Konfigurasikan aturan pembatasan laju untuk mengurangi akses berlebihan dari klien.
Kondisi Pembatasan Laju: Tindakan daftar hitam dipicu jika jumlah kecocokan Statistical Object dengan aturan dalam Statistical Interval (Seconds) melebihi Threshold (Times) yang telah ditentukan.
Parameter
Deskripsi
Statistical Object
Pilih objek untuk mengukur laju permintaan. Opsi:
IP: Mengukur laju permintaan dari alamat IP yang sama.
Custom Header: Mengelompokkan permintaan berdasarkan nilai header permintaan kustom, seperti
Referer, dan mengukur laju permintaan untuk setiap grup nilai header identik dalam periode tertentu.Custom Parameter: Mengukur laju permintaan yang mengandung parameter tertentu dalam URL. Misalnya, jika parameternya adalah
user_id, WAF mengukur laju permintaan dengan nilaiuser_idyang sama.Custom Cookie: Mengukur laju permintaan HTTP yang mengandung cookie tertentu dalam periode tertentu. Misalnya, jika nama cookie kustom adalah User, WAF menghitung jumlah kemunculan untuk setiap nilai User dalam periode tersebut.
Session: WAF menetapkan ID sesi dengan menyetel cookie bernama
acw_tcdalam respons dan mengukur laju permintaan klien berdasarkan nilai cookie ini.Account: Mengukur laju permintaan dari akun yang sama. Anda harus mengonfigurasi User Identification di halaman Protected Objects sebelum Anda dapat menggunakan opsi ini. Untuk detail lebih lanjut, lihat Identifikasi Pengguna.
Statistical Interval (Seconds)
Tetapkan periode statistik dalam detik.
Threshold (Times)
Tetapkan jumlah maksimum kali Statistical Object dapat cocok dengan Match Condition dalam Statistical Interval (Seconds).
Kondisi deteksi kode status: Jika Quantity atau Percentage (%) dari Status Code tertentu melebihi ambang batas yang ditetapkan, tindakan daftar hitam dipicu. Jika Anda mengaktifkan deteksi kode status, objek statistik harus memenuhi baik kondisi pembatasan laju maupun kondisi kode status untuk memicu tindakan daftar hitam.
Parameter
Deskripsi
Status Code
Tetapkan kode status yang akan dimonitor.
Quantity
Tetapkan jumlah maksimum kali Status Code tertentu dapat muncul dalam respons permintaan dalam periode statistik.
Percentage (%)
Tetapkan persentase maksimum respons yang dapat mengandung Status Code tertentu dalam periode statistik.
Kondisi tindakan daftar hitam: Menambahkan objek statistik yang memenuhi kondisi deteksi di atas ke daftar hitam. Selama Timeout Period, WAF menerapkan Rule Action yang dikonfigurasi pada permintaan dari objek ini sesuai dengan cakupan Apply To dalam daftar hitam.
Parameter
Deskripsi
Apply To
Tetapkan ruang lingkup untuk tindakan daftar hitam. Opsi:
Current Match Condition: Memproses hanya permintaan yang memenuhi Match Condition dari aturan saat ini.
Protected Object: Memproses semua permintaan dari objek statistik (seperti alamat IP) untuk mengakses objek yang dilindungi saat ini.
Timeout Period
Tetapkan durasi efektivitas tindakan daftar hitam. Satuan: detik. Rentang nilai: 60 hingga 86.400.
Rule Action: Pilih tindakan yang akan diambil saat permintaan sesuai dengan aturan.
Parameter
Deskripsi
JavaScript Validation
WAF mengembalikan cuplikan JavaScript ke klien. Browser standar secara otomatis mengeksekusi kode ini. Jika klien berhasil mengeksekusinya, WAF mengizinkan semua permintaan dari klien tersebut untuk jangka waktu tertentu (default adalah 30 menit); jika tidak, permintaan diblokir.
Block
Memblokir permintaan yang cocok dengan aturan dan mengembalikan halaman blokir ke klien.
CatatanSecara default, WAF menggunakan halaman blokir standar. Anda juga dapat menyesuaikan halaman blokir menggunakan respons kustom.
Monitor
Mengizinkan permintaan yang cocok dengan aturan untuk lolos tetapi mencatat peristiwa pencocokan. Saat menguji aturan, pertama-tama atur aksinya menjadi Monitor dan analisis log WAF untuk memastikan tidak ada lalu lintas sah yang diblokir sebelum mengubah aksi.
Slider CAPTCHA
WAF mengembalikan halaman CAPTCHA slider ke klien. Jika klien berhasil menyelesaikan tantangan, WAF mengizinkan semua permintaan dari klien tersebut untuk jangka waktu tertentu (default adalah 30 menit); jika tidak, permintaan diblokir.
Strict Slider CAPTCHA Verification
WAF mengembalikan halaman CAPTCHA slider ke klien. Jika klien berhasil menyelesaikan tantangan, permintaan diizinkan; jika tidak, diblokir. Dalam mode ini, klien harus menyelesaikan tantangan slider untuk setiap permintaan yang cocok dengan aturan.
CatatanVerifikasi Slider CAPTCHA hanya tersedia untuk instans Enterprise dan Ultimate berlangganan, serta instans berbayar sesuai penggunaan.
JavaScript Validation dan Slider CAPTCHA hanya berlaku untuk permintaan sinkron. Untuk memastikan fitur berfungsi dengan benar pada permintaan asinkron, seperti yang menggunakan
XMLHttpRequestatau Fetch API, injeksikan SDK web. Untuk informasi lebih lanjut, lihat bagian JS Challenge dan CAPTCHA Slider dalam Manajemen Bot.Saat JavaScript Validation atau Slider CAPTCHA diaktifkan, WAF menyetel cookie pada header respons melalui
Set-Cookiesetelah klien berhasil melewati validasi. Cookie tersebut diberi namaacw_sc__v2untuk Validasi JavaScript atauacw_sc__v3untuk Slider CAPTCHA. Klien akan menyertakan pengenal ini dalam header Cookie pada permintaan berikutnya.
Advanced Settings (Opsional): Fitur lanjutan berikut hanya tersedia untuk instans Enterprise dan Ultimate (berlangganan), serta instans berbayar sesuai penggunaan.
Parameter
Deskripsi
Canary Release
Konfigurasikan persentase objek tempat aturan berlaku, berdasarkan dimensi berbeda.
Setelah mengaktifkan rilis canary, atur Dimension dan Canary Release Proportion. Dimension bisa berupa IP, Custom Header, Custom Parameter, Custom Cookie, atau Session.
Effective Mode
Permanently Effective (default): Aturan selalu aktif saat templat perlindungan diaktifkan.
Fixed Schedule: Aturan perlindungan hanya aktif selama rentang waktu tertentu.
Recurring Schedule: Aturan perlindungan hanya aktif selama siklus berulang tertentu.
Rilis canary diterapkan berdasarkan Dimension yang telah dikonfigurasi, bukan dengan menerapkan aturan secara acak pada persentase tertentu dari semua permintaan. Sebagai contoh, jika Dimension diatur sebagai IP dan Canary Release Proportion ditetapkan sebesar 10%, Web Application Firewall (WAF) akan memilih sekitar 10% alamat IP. Semua permintaan dari alamat IP yang dipilih akan tunduk pada aturan tersebut, bukan 10% dari seluruh permintaan yang dipilih secara acak.
Langkah 4: Tentukan tempat templat perlindungan diterapkan
Di area Apply To, pilih objek yang dilindungi dan grup objek yang dilindungi yang akan diterapkan pada templat ini.
Cara templat diterapkan tergantung pada konfigurasi di Langkah 2:
Atur Save as Default Template ke Ya: Tidak diperlukan penentuan objek. Templat akan otomatis diterapkan ke semua objek yang dilindungi, baik saat ini maupun di masa depan, serta grup objek yang dilindungi. Objek tertentu dapat dikecualikan secara manual.
Atur Save as Default Template ke Tidak untuk memilih secara manual objek yang dilindungi dan grup objek tempat templat diterapkan.
Anda dapat menyesuaikan status aplikasi objek yang dilindungi atau grup objek baik selama maupun setelah pembuatan templat.
Konfigurasi contoh aturan perlindungan
Praktik Terbaik: Gunakan contoh-contoh ini sebagai titik awal. Kami sangat menyarankan untuk menguji setiap aturan baru di lingkungan non-produksi atau dengan aksi Monitor terlebih dahulu. Ini memungkinkan Anda menganalisis dampaknya pada lalu lintas sah sebelum beralih ke aksi Blokir.
Batasi akses ke backend admin ke IP tertentu
Blokir semua akses ke jalur /wp-admin kecuali akses dari alamat IP administrator 192.1.XX.XX.
Match Condition:
Match Field:
IP, Logical Operator:Bukan, Match Content: Alamat IP administrator yang masuk daftar putih192.1.XX.XX.Match Field:
URI, Logical Operator:Mengandung, Match Content: Jalur web yang dibatasi/wp-admin.
Protection Rule Type: Access Control.
Rule Action: Block.
Blokir crawler dan pemindai jahat
Blokir permintaan HTTP di mana bidang User-Agent (UA) mengandung bot.
Anda dapat menganalisis log WAF untuk mengidentifikasi karakteristik UA dari lalu lintas abnormal. Bidang UA dari beberapa lalu lintas jahat mengandung string khas seperti bot, nmap, atau sqlmap.
Match Condition: Match Field:
User-Agent, Logical Operator:Mengandung, Match Content:bot.Protection Rule Type: Access Control.
Rule Action: Block.
Aktifkan CAPTCHA atau validasi JavaScript untuk halaman web
Terapkan CAPTCHA atau validasi JavaScript ke semua halaman kecuali titik akhir API. Contoh ini mengasumsikan semua URI titik akhir API mengandung string /api.
Untuk halaman statis, atur aturan validasi JavaScript atau verifikasi slider untuk memastikan bahwa permintaan berasal dari browser standar yang mampu mengeksekusi JavaScript. Jenis verifikasi ini hanya berlaku untuk permintaan sinkron, bukan untuk permintaan asinkron seperti yang menggunakan XMLHttpRequest atau Fetch API.
Match Condition: Match Field:
URI, Logical Operator:Tidak Mengandung, Match Content:/api.Protection Rule Type: Access Control.
Rule Action: Slider CAPTCHA atau JavaScript Validation.
Terapkan pembatasan laju ke titik akhir API
Aktifkan pembatasan laju untuk semua titik akhir API kecuali example.com/api/pay. Dalam contoh ini, semua URI antarmuka API mengandung string /api.
Match Condition:
Match Field:
URI, Logical Operator:Bukan, Match Content:/api/pay.Match Field:
URI, Logical Operator:Mengandung, Match Content:/api.
Protection Rule Type: Rate Limiting.
Statistical Object: IP.
Statistical Interval (Seconds): 10.
Threshold (Times): 5.
Apply To: Current Match Condition.
Timeout Period: 1.800.
Rule Action: Block.
Terapkan di lingkungan produksi
Untuk menghindari gangguan layanan, jangan terapkan aturan baru dengan aksi Blokir langsung ke lingkungan produksi. Kami merekomendasikan mengikuti proses penyebaran berikut.
Analisis Karakteristik Permintaan: Gunakan laporan keamanan WAF dan log untuk mengidentifikasi karakteristik permintaan layanan normal dan serangan jahat, seperti alamat IP, User-Agent, header, dan URI. Jika Anda berencana mengonfigurasi aturan pembatasan laju, Anda juga harus menentukan garis dasar laju permintaan untuk layanan normal Anda.
Konfigurasikan Daftar Putih: Sebelum membuat templat aturan kustom, buatlah aturan daftar putih dan tambahkan alamat IP tepercaya ke daftar putih. Ini mencegah permintaan tepercaya diblokir secara salah oleh aturan baru.
Lakukan Pengujian Rilis Canary: Setelah membuat aturan kustom, Anda dapat menggunakan salah satu dari tiga metode berikut untuk menguji dan mengamati perilakunya sebelum menerapkannya ke produksi.
Terapkan aturan ke lingkungan non-produksi untuk pengujian.
Atur Rule Action menjadi Monitor.
Aktifkan Canary Release di menu Advanced Settings.
Analisis Hasil Pengujian: Setelah periode pengujian, tinjau laporan keamanan dan log untuk positif palsu di antara permintaan yang cocok dengan aturan.
Terapkan ke Produksi: Setelah Anda memastikan bahwa tingkat positif palsu berada dalam rentang yang dapat diterima, ubah aksi aturan menjadi aksi yang dimaksudkan dan terapkan ke lingkungan produksi Anda.
Pantau dan Optimalkan Secara Terus-menerus: Pantau laporan keamanan dan log secara terus-menerus, serta sesuaikan dan optimalkan aturan secara dinamis berdasarkan perubahan bisnis dan efektivitas perlindungan.
Operasi lainnya
Kelola templat perlindungan
Templat perlindungan baru diaktifkan secara default. Di daftar templat perlindungan, Anda dapat melakukan operasi berikut:
Lihat jumlah Protected Object/Group yang terkait dengan templat.
Aktifkan atau nonaktifkan templat menggunakan tombol Status.
Create Rule untuk templat.
Edit, Delete, atau Copy templat perlindungan.
Klik ikon
di sebelah kiri nama templat untuk melihat aturan yang terkandung di dalamnya.
Kelola aturan perlindungan
Aturan baru diaktifkan secara default. Di daftar aturan, Anda dapat melakukan operasi berikut:
Lihat informasi seperti Rule ID dan Rule Condition.
Aktifkan atau nonaktifkan aturan menggunakan tombol Status.
Edit atau Delete aturan yang ada.
Keterbatasan
Slider CAPTCHA, Rate Limiting, dan Advanced Settings hanya tersedia untuk instans Enterprise dan Ultimate (berlangganan), serta instans berbayar sesuai penggunaan.
Sebuah aturan perlindungan tunggal dapat memiliki maksimal 5 kondisi pencocokan.
FAQ
Mengapa aturan saya tidak berfungsi?
Jika sebuah aturan tidak berfungsi, periksa item berikut secara berurutan:
Status Templat: Pastikan templat perlindungan dan aturan keduanya memiliki status diatur ke aktif.

Objek yang berlaku: Pastikan status aplikasi untuk objek yang dilindungi adalah Effective.

Konfigurasi Aturan: Periksa konfigurasi aturan, terutama Kondisi Pencocokan, untuk memastikan bahwa aturan tersebut menargetkan permintaan yang dimaksud.
Aturan Lainnya: Periksa apakah ada aturan atau modul yang bertentangan. Sebagai contoh, sebuah aturan daftar putih akan mengizinkan permintaan melewati pemeriksaan lainnya.
Bagaimana cara mengonfigurasi pembatasan laju ketika beberapa domain diarahkan ke instans layanan cloud tunggal?
Aturan pembatasan laju membatasi laju permintaan objek statistik pada tingkat objek yang dilindungi. Jika instans layanan cloud tunggal menangani lalu lintas untuk beberapa domain, WAF menghitung laju permintaan dengan menggabungkan lalu lintas dari semua domain terkait. Jika Anda hanya perlu membatasi laju permintaan untuk domain tertentu, pilih salah satu dari dua metode berikut:
Metode 1: Buat Objek yang Dilindungi Khusus
Tambahkan nama domain sebagai objek yang dilindungi di WAF dan terapkan aturan pembatasan laju pada objek nama domain tersebut. Untuk informasi lebih lanjut, lihat Konfigurasikan Objek yang Dilindungi dan Grup Objek yang Dilindungi.
Metode 2: Gunakan Header Host dalam Kondisi Pencocokan
Di bagian Match Condition aturan pembatasan laju, gunakan bidang Host untuk menentukan domain yang ingin Anda batasi laju permintaannya.
Mengapa aturan tidak berfungsi setelah saya mengonfigurasi bidang pencocokan ke Parameter Body?
Hal ini dapat terjadi jika konten pencocokan terlalu pendek. Saat menggunakan bidang Parameter Body, pastikan konten pencocokan memiliki panjang minimal 5 karakter; jika tidak, WAF tidak dapat memeriksa lalu lintas.