Saat Anda memerlukan perlindungan yang tepat terhadap serangan tertentu—seperti panggilan API berbahaya, permintaan mencurigakan, atau pemindaian frekuensi tinggi—gunakan aturan kustom untuk membangun strategi perlindungan yang disesuaikan dengan kondisi pencocokan dan aksi aturan yang fleksibel.
Konsep utama
aturan kustom: Modul perlindungan dalam Core Web Protection. Untuk mengaktifkan modul ini, Anda harus membuat Template perlindungan. Anda dapat membuat beberapa Template perlindungan.
Template perlindungan: Sekumpulan aturan perlindungan yang menentukan konten dan cakupannya. Template perlindungan terdiri dari jenis templat, aturan perlindungan, dan objek penerapan.
Jenis templat: Anda harus menentukan jenis saat membuat Template perlindungan, dan tidak dapat mengubah jenisnya setelah dibuat. Tersedia dua jenis templat:
Jenis templat
Deskripsi
Kasus penggunaan
Template perlindungan default
Secara default, templat ini berlaku untuk semua objek yang dilindungi dan kelompok objek yang dilindungi yang sudah ada maupun baru.
Anda dapat mengecualikan objek tertentu secara manual dengan mengatur statusnya menjadi "Tidak Diterapkan".
Anda hanya dapat membuat satu Template perlindungan default dalam modul aturan kustom.
Terapkan aturan perlindungan global dan umum.
Template perlindungan kustom
Anda harus menentukan secara manual objek yang dilindungi atau kelompok objek yang dilindungi mana yang akan diterapkan oleh templat ini.
Terapkan aturan perlindungan detail halus untuk layanan tertentu, seperti API login atau pembayaran.
aturan perlindungan: Menentukan logika deteksi dan aksi respons spesifik. Satu Template perlindungan dapat berisi beberapa aturan perlindungan. Setiap aturan terdiri dari komponen berikut:
kondisi pencocokan: Menentukan karakteristik permintaan yang akan diperiksa, seperti path permintaan atau alamat IP klien.
Jenis Perlindungan: Mendukung tiga dimensi deteksi: Access Control, Rate Limiting, dan Extension Execution.
aksi aturan: Menentukan aksi yang diambil ketika permintaan sesuai dengan aturan. Aksi diurutkan berdasarkan prioritas dari tertinggi ke terendah: Block, Strict CAPTCHA, CAPTCHA, JavaScript Validation, dan Log.
CatatanJika suatu permintaan sesuai dengan beberapa aturan yang memiliki aksi aturan yang sama dalam modul perlindungan yang sama, WAF akan menerapkan salah satu aturan yang sesuai secara acak.
objek penerapan: Menentukan target Template perlindungan. Anda dapat menggunakan pengaturan ini untuk menerapkan aturan perlindungan pada objek yang dilindungi atau kelompok objek yang dilindungi tertentu. Objek yang dilindungi atau kelompok objek yang dilindungi dapat dikaitkan dengan beberapa Template perlindungan.
objek yang dilindungi: Sistem secara otomatis membuat objek yang dilindungi untuk setiap domain atau instans layanan cloud yang Anda tambahkan ke WAF.
kelompok objek yang dilindungi: Anda dapat menambahkan beberapa objek yang dilindungi ke dalam satu kelompok untuk manajemen terpusat.
Prosedur
Sebelum memulai, pastikan Anda telah menambahkan layanan web Anda ke Web Application Firewall (WAF) dan objek yang dilindungi sudah tersedia. Jika belum menambahkan layanan Anda, lihat Tambahkan domain ke WAF.
Masuk ke Konsol Web Application Firewall (WAF). Di bilah navigasi atas, pilih kelompok sumber daya dan wilayah (Chinese Mainland atau Outside Chinese Mainland) dari instans WAF Anda. Di panel navigasi kiri, pilih .
Langkah 1: Konfigurasikan jenis templat
Pada halaman Core Web Protection, temukan bagian Custom Rule dan klik Create Template. Di panel Create Template, konfigurasikan parameter berikut.
Template Name: Masukkan nama untuk templat.
Save as Default Template: Anda hanya dapat mengatur satu templat default dalam modul aturan kustom, dan hanya dapat mengaturnya saat membuat templat baru.
Yes: Anda tidak perlu mengonfigurasi Apply To. Saat templat dibuat, templat tersebut berlaku untuk semua objek yang dilindungi dan kelompok objek secara default. Templat juga secara otomatis berlaku untuk objek baru yang ditambahkan nanti. Anda dapat mengecualikan objek tertentu secara manual dengan mengatur statusnya menjadi 'Inactive'.
No: Anda harus mengatur Apply To untuk menentukan secara manual objek yang dilindungi atau kelompok objek.
Langkah 2: Tambahkan aturan perlindungan
Di area Rule Configuration, klik Create Rule dan konfigurasikan parameter berikut.
Rule Name: Masukkan nama untuk aturan.
Match Condition: Menentukan karakteristik permintaan yang diperiksa oleh aturan. Klik Add Condition untuk menambahkan kondisi. Setiap kondisi terdiri dari Match Field, Logical Operator, dan Match Content. Tabel berikut menyediakan contoh konfigurasi.
CatatanJika suatu aturan berisi beberapa kondisi, permintaan harus memenuhi semua kondisi (hubungan logika AND) agar memicu aturan tersebut. Anda tidak dapat mengonfigurasi hubungan logika OR antar kondisi. Untuk memblokir permintaan yang memenuhi salah satu dari beberapa kata kunci atau karakteristik (misalnya, kata kunci A atau kata kunci B), buat aturan perlindungan terpisah untuk setiap kondisi. Untuk informasi lebih lanjut tentang bidang pencocokan dan operator logika, lihat Match conditions.
Match Field
Logical Operator
Match Content
Deskripsi
URI Path
Contains
/login.phpAturan ini sesuai jika path permintaan berisi
/login.php.IP
Belongs To
192.1.XX.XXAturan ini sesuai jika alamat IP klien adalah
192.1.XX.XX.CatatanAturan pencocokan kompleks
1. Logika dan batasan pencocokan multi-nilai
Untuk menerapkan aturan yang sama ke beberapa endpoint API, Anda dapat menggunakan operator logika yang mendukung beberapa nilai, seperti Contains One of Multiple Values, Equals One of Multiple Values, Does Not Contain Any Value, atau Does Not Equal Any Value. Persyaratan konfigurasinya sebagai berikut:Delimiter: Anda harus menggunakan koma (,) untuk memisahkan beberapa nilai pencocokan. Sistem membagi nilai berdasarkan koma dan memprosesnya secara independen.
Jumlah dan deduplikasi: Anda dapat memasukkan hingga 50 nilai. Nilai duplikat tidak diperbolehkan.
2. Penanganan karakter khusus
Jika konten pencocokan berisi koma (misalnya, dalam beberapa string User-Agent), sistem mungkin salah mengartikannya sebagai delimiter multi-nilai, sehingga pencocokan gagal. Dalam kasus ini, jangan gunakan operator logika multi-nilai. Kami merekomendasikan alternatif berikut:Pencocokan ekspresi reguler: Mencocokkan konten menggunakan ekspresi reguler dan memperlakukan koma sebagai karakter literal.
Aturan tunggal: Buat aturan terpisah untuk string spesifik tersebut dan gunakan operator logika nilai tunggal.
3. Contoh penerapan regex
Mencocokkan rentang nomor versi tertentu: Untuk mencocokkan versi browser Chrome antara 100 dan 200, atur bidang pencocokan ke
User-Agent, operator logika ke Regex Match, dan konten pencocokan keChrome/(1[0-9]{2}|200)\..Blokir beberapa enkode URL: Untuk memblokir permintaan yang di-enkode URL beberapa kali, misalnya, di mana
%di-enkode sebagai\x25, atur operator logika ke "Regex Match" dan konten pencocokan ke\x25.*\x25.
4. Rekomendasi untuk lingkungan produksi
Saat mengonfigurasi kondisi pencocokan kompleks seperti ekspresi reguler di lingkungan produksi, kami merekomendasikan agar Anda terlebih dahulu menggunakan aksi Monitor atau uji canary untuk memverifikasi perilaku aturan tersebut. Setelah memastikan tidak ada masalah, Anda dapat menerapkan aturan tersebut ke seluruh trafik.Protection Rule Type: Didukung tiga jenis: Access Control, Rate Limiting, dan Extension Execution.
Access Control: Ideal untuk skenario yang memerlukan kontrol tepat atas jenis permintaan tertentu.
Rate Limiting: Ideal untuk skenario yang memerlukan perlindungan berdasarkan frekuensi akses, seperti mencegah credential stuffing dan serangan brute-force. Fitur ini hanya tersedia pada instans WAF dengan langganan (Edisi Perusahaan atau Edisi Ultimate) dan bayar sesuai penggunaan.
Extension Execution: Ideal untuk skenario keamanan personal yang memerlukan skrip Lua kustom untuk menerapkan logika bisnis kompleks. Kami merekomendasikan agar Anda terlebih dahulu mengonfigurasi extensions.
Access control
Konfigurasikan aturan access control untuk melakukan aksi tertentu pada permintaan individual yang memenuhi kondisi spesifik.
Rate limiting
Konfigurasikan aturan rate limiting untuk membatasi akses berlebihan dari klien.
Kondisi deteksi laju: Jika jumlah kali suatu Statistical Object sesuai dengan aturan dalam Statistical Interval (Seconds) yang ditentukan melebihi Threshold (Times) yang dikonfigurasi, WAF memicu aksi blacklist.
Parameter
Deskripsi
Statistical Object
Pilih objek untuk mengukur frekuensi permintaan. Opsi meliputi:
IP: Mengukur frekuensi permintaan dari satu alamat IP. Jika Anda menerapkan proxy lapisan 7, seperti CDN atau Anti-DDoS, di depan WAF, pastikan Anda mengatur parameter Is a Layer 7 proxy (such as Anti-DDoS/CDN) deployed before WAF? ke Yes saat menambahkan aset ke WAF. Konfigurasi yang salah mencegah WAF mendapatkan alamat IP klien yang sebenarnya, dan aturan berbasis IP akan gagal.
Custom Header: Mengelompokkan permintaan berdasarkan nilai header permintaan kustom, seperti
Referer, dan mengukur frekuensi permintaan untuk setiap kelompok dengan nilai header yang sama dalam periode waktu yang ditentukan.Custom Parameter: Mengukur frekuensi permintaan untuk permintaan yang berisi parameter tertentu di URL. Misalnya, jika parameternya adalah
user_id, WAF mengukur frekuensi permintaan dengan nilaiuser_idyang sama.Custom Cookie: Mengukur frekuensi permintaan HTTP yang berisi cookie tertentu dalam periode waktu yang ditentukan. Misalnya, jika nama cookie kustom adalah User, WAF menghitung kemunculan setiap nilai User dalam periode waktu tersebut.
Session: WAF membuat ID sesi dengan menyetel cookie bernama
acw_tcdalam respons dan mengukur frekuensi permintaan klien berdasarkan nilai cookie ini.Account: Mengukur frekuensi permintaan dari akun yang sama. Anda harus mengonfigurasi User Identification di halaman Protected Objects sebelum dapat menggunakan opsi ini. Untuk informasi lebih lanjut, lihat Configure protected objects and protected object groups.
Statistical Interval (Seconds)
Atur periode statistik dalam detik.
Threshold (Times)
Atur jumlah maksimum kali Statistical Object diperbolehkan untuk sesuai dengan Match Condition dalam Statistical Interval (Seconds).
Kondisi deteksi kode status: Jika Quantity atau Percentage (%) respons dengan Status Code tertentu melebihi ambang batas yang dikonfigurasi, WAF memicu aksi blacklist. Jika Anda mengaktifkan deteksi kode status, objek statistik harus memenuhi kedua kondisi deteksi laju dan kode status untuk memicu aksi tersebut.
Parameter
Deskripsi
Status Code
Atur kode status yang akan dihitung.
Quantity
Atur jumlah maksimum kali Status Code tertentu muncul dalam respons dalam periode statistik.
Percentage (%)
Atur persentase maksimum respons dengan Status Code tertentu dalam periode statistik.
Kondisi aksi blacklist: Menambahkan objek statistik yang memenuhi kondisi deteksi sebelumnya ke daftar hitam. Selama Timeout Period, WAF menerapkan Rule Action yang dikonfigurasi ke permintaan dari objek yang masuk daftar hitam yang berada dalam cakupan Apply To.
Parameter
Deskripsi
Apply To
Atur cakupan untuk aksi daftar hitam. Opsi meliputi:
Current Match Condition: Aksi hanya berlaku untuk permintaan yang memenuhi Match Condition aturan saat ini.
Protected Object: Aksi berlaku untuk semua permintaan dari objek statistik, seperti alamat IP, ke objek yang dilindungi saat ini.
Timeout Period
Atur durasi aksi daftar hitam. Satuan: detik. Rentang nilai: 60 hingga 86400.
Extension execution
Pilih dari aturan ekstensi yang telah Anda konfigurasi untuk menerapkan kontrol keamanan personal.
CatatanAturan Extension Execution hanya mendukung dua aksi aturan: Block dan Log.
Rule Action: Pilih aksi yang akan dilakukan ketika permintaan sesuai dengan aturan.
Parameter
Deskripsi
JavaScript Validation
WAF mengembalikan cuplikan JavaScript ke klien untuk validasi. Browser standar secara otomatis mengeksekusi kode ini. Jika browser klien berhasil mengeksekusi kode tersebut, WAF mengizinkan semua permintaan dari klien tersebut untuk periode tertentu (30 menit secara default). Jika tidak, WAF memblokir permintaan tersebut.
Block
Memblokir permintaan yang sesuai dengan aturan dan mengembalikan halaman respons blokir ke klien.
CatatanWAF menggunakan halaman blokir default. Anda juga dapat menggunakan fitur Custom Response untuk menyesuaikan halaman blokir.
Log
Mengizinkan permintaan yang sesuai dengan aturan tetapi mencatat kecocokan tersebut dalam log. Saat menguji aturan baru, Anda dapat terlebih dahulu menggunakan mode Log untuk menganalisis log WAF dan memastikan aturan tersebut tidak memblokir permintaan sah, lalu beralih ke aksi aturan lainnya.
CAPTCHA
WAF mengembalikan halaman CAPTCHA ke klien. Jika klien berhasil menyelesaikan CAPTCHA, WAF mengizinkan semua permintaan dari klien tersebut untuk periode tertentu (30 menit secara default). Jika tidak, WAF memblokir permintaan tersebut.
CatatanUntuk instans WAF yang menggunakan metode penagihan bayar sesuai pemakaian, aksi aturan ini menimbulkan biaya tambahan. Untuk informasi lebih lanjut, lihat Pay-as-you-go billing details.
Strict CAPTCHA
WAF mengembalikan halaman CAPTCHA ke klien. Jika klien berhasil menyelesaikan CAPTCHA, WAF mengizinkan permintaan tersebut. Jika tidak, WAF memblokirnya. Dalam mode ini, setiap permintaan dari klien yang sesuai dengan aturan ini memerlukan verifikasi CAPTCHA.
CatatanUntuk instans WAF yang menggunakan metode penagihan bayar sesuai pemakaian, aksi aturan ini menimbulkan biaya tambahan. Untuk informasi lebih lanjut, lihat Pay-as-you-go billing details.
CatatanAksi CAPTCHA hanya tersedia pada instans WAF dengan langganan (Edisi Perusahaan atau Edisi Ultimate) dan bayar sesuai penggunaan.
Aksi JavaScript Validation dan CAPTCHA hanya berlaku untuk permintaan sinkron. Untuk permintaan asinkron, seperti yang dibuat dengan XMLHttpRequest atau Fetch API, Anda harus menyuntikkan Web SDK. Jika tidak, fitur-fitur ini tidak akan berfungsi dengan benar. Untuk informasi lebih lanjut, lihat bagian validasi JavaScript dan CAPTCHA dalam Bot management.
Setelah Anda mengaktifkan JavaScript Validation atau CAPTCHA dan klien berhasil melewati verifikasi, WAF menggunakan Set-Cookie untuk menyetel cookie bernama
acw_sc__v2(untuk JavaScript Validation) atauacw_sc__v3(untuk CAPTCHA) di header respons. Klien kemudian menyertakan pengenal ini di header Cookie permintaan berikutnya.
Advanced Settings (Opsional): Fitur lanjutan berikut hanya tersedia untuk instans WAF Edisi Perusahaan atau Edisi Ultimate yang menggunakan metode penagihan langganan, serta instans WAF bayar sesuai penggunaan.
Parameter
Deskripsi
Canary Rule
Konfigurasikan persentase trafik yang akan diterapkan aturan tersebut, berdasarkan dimensi tertentu.
Setelah mengaktifkan aturan canary, Anda juga harus mengatur Dimension dan Canary Release Proportion. Nilai valid untuk Dimension adalah IP, Custom Header, Custom Parameter, Custom Cookie, dan Session.
CatatanAturan canary berlaku berdasarkan Dimension yang dikonfigurasi, bukan diterapkan secara acak ke persentase permintaan. Misalnya, jika Anda mengatur Dimension ke IP dan Canary Release Proportion ke 10%, WAF memilih sekitar 10% dari semua alamat IP. WAF kemudian menerapkan aturan tersebut ke semua permintaan dari alamat IP yang dipilih, bukan ke 10% permintaan secara acak.
Effective Mode
Permanently Effective (Default): Aturan selalu berlaku saat Template perlindungan diaktifkan.
Fixed Schedule: Aturan hanya berlaku selama periode waktu tertentu.
Recurring Schedule: Aturan hanya berlaku selama siklus waktu berulang tertentu.
Langkah 3: Atur objek penerapan
Di area Apply To, pilih objek yang dilindungi dan kelompok objek yang dilindungi yang ingin Anda terapkan templatnya.
Cara penerapan templat tergantung pada konfigurasi yang Anda buat di Langkah 1:
Jika Anda mengatur templat sebagai Template perlindungan default: Anda tidak perlu mengonfigurasi objek penerapan. Templat diterapkan ke semua objek yang dilindungi dan kelompok objek yang dilindungi yang sudah ada maupun baru secara default. Anda dapat mengecualikan objek tertentu secara manual dengan mengatur statusnya menjadi "Tidak Diterapkan".
Jika Anda tidak mengatur templat sebagai Template perlindungan default: Anda harus menentukan secara manual objek yang dilindungi dan kelompok objek yang dilindungi yang akan diterapkan templat tersebut.
Anda dapat menyesuaikan status penerapan untuk objek yang dilindungi atau kelompok objek yang dilindungi baik selama maupun setelah pembuatan templat.
Contoh konfigurasi aturan perlindungan
Contoh konfigurasi berikut hanya untuk referensi. Sebelum menerapkan aturan di lingkungan produksi, Anda harus menyesuaikannya berdasarkan trafik bisnis dan pola serangan aktual Anda. Menyalin dan menerapkan contoh ini secara langsung dapat menyebabkan gangguan bisnis atau perlindungan yang tidak efektif.
Batasi akses panel admin ke alamat IP tertentu
Blokir semua permintaan akses ke path /wp-admin, dan izinkan hanya permintaan dari alamat IP administrator, 192.1.XX.XX.
Match Condition:
Atur Match Field ke
IP, Logical Operator keNot Belong To, dan Match Content ke alamat IP administrator yang masuk daftar putih192.1.XX.XX.Atur Match Field ke
URI Path, Logical Operator keContains, dan Match Content ke path yang ingin Anda batasi aksesnya:/wp-admin.
Protection Rule Type: Access Control.
Rule Action: Block.
Daftar putih alamat IP untuk menguji domain
Izinkan hanya alamat IP yang masuk daftar putih tertentu untuk mengakses domain pengujian yang ditambahkan ke WAF, dan blokir semua trafik publik lainnya.
Match Condition:
Atur Match Field ke
IP, Logical Operator keNot Belong To, dan Match Content ke rentang alamat IP yang masuk daftar putih, seperti203.xx.xx.200/32.Atur Match Field ke
Host, Logical Operator keEquals, dan Match Content ke domain pengujian, sepertitest.example.com.
Protection Rule Type: Access Control.
Rule Action: Block.
Blokir permintaan dengan header host yang tidak cocok
Jika header Host permintaan tidak cocok dengan domain bisnis sah Anda, Anda dapat menggunakan aturan berikut untuk memblokirnya. Hal ini membantu mengurangi risiko serangan CC atau probing berbahaya.
Match Condition:
Match Field:
Host.Logical Operator:
Not Equal To.Match Content: Masukkan nama domain sah yang digunakan oleh bisnis Anda.
Protection Rule Type: Access Control.
Rule Action: Block.
Blokir crawler dan pemindai berbahaya
Saat mengonfigurasi aturan kustom, Anda dapat menggunakan pola User-Agent (UA) umum berikut untuk mengidentifikasi berbagai jenis trafik:
Alat pemindaian keamanan: Seperti
sqlmap,nmap, dannikto, yang umum digunakan untuk Pemindaian kerentanan.Skrip dan pustaka otomatis: Seperti
python-requests,Python-urllib,curl/, danWget/, yang sering digunakan untuk panggilan terjadwal atau akses non-browser.Crawler pengikisan data: Seperti
MJ12bot,AhrefsBot, danSemrushBot, yang digunakan untuk analisis SEO atau pengikisan konten.Mesin pencari utama: Seperti
Googlebot,Baiduspider, danbingbot.Pengenal perangkat seluler: Seperti
Mobile,Android,iPhone, daniPad.
Hanya mengandalkan bidang UA bukan cara yang andal untuk mengidentifikasi trafik berbahaya karena penyerang sering memalsukan UA mereka untuk meniru browser normal. Saat mengonfigurasi aturan kustom, kami merekomendasikan agar Anda juga mempertimbangkan reputasi IP, frekuensi akses, dan log WAF untuk penilaian komprehensif guna menghindari pemblokiran permintaan bisnis sah.
Contoh berikut memblokir permintaan HTTP di mana bidang UA berisi string bot.
Match Condition: Atur Match Field ke
User-Agent, Logical Operator keContains, dan Match Content ke pola UAbot.Protection Rule Type: Access Control.
Rule Action: Block.
Gunakan verifikasi manusia untuk memblokir bot
Aktifkan validasi JavaScript untuk path permintaan yang sedang diserang, seperti /index.php, untuk memblokir alat serangan otomatis tanpa memengaruhi akses browser normal.
Untuk halaman statis, Anda dapat mengonfigurasi aturan validasi JavaScript atau CAPTCHA untuk memastikan permintaan berasal dari browser standar yang dapat mengeksekusi JavaScript. Metode verifikasi ini hanya berlaku untuk permintaan sinkron dan tidak cocok untuk permintaan asinkron, seperti yang dibuat dengan XMLHttpRequest atau Fetch API.
Untuk endpoint API backend-only yang digunakan untuk komunikasi antar layanan, kami tidak merekomendasikan mengonfigurasi Run JavaScript Validation. Run JavaScript Validation bergantung pada lingkungan browser untuk dieksekusi. Klien API biasanya merupakan program sisi server atau skrip otomatis yang tidak dapat mengurai dan mengeksekusi JavaScript, yang akan terus-menerus memblokir permintaan sah. Saat mengonfigurasi kondisi pencocokan, kami merekomendasikan agar Anda mengecualikan endpoint API dari cakupan Run JavaScript Validation.
Match Condition: Atur Match Field ke
URI Path, Logical Operator keContains, dan Match Content ke/index.php.Protection Rule Type: Access Control.
Rule Action: Run JavaScript Validation atau Run Slider CAPTCHA.
Untuk mengaktifkan validasi JavaScript untuk semua path permintaan, Anda dapat mengatur konten pencocokan ke /. Karena konfigurasi ini berlaku untuk semua permintaan, kami merekomendasikan mengikuti prinsip hak istimewa minimal dengan menentukan cakupan aturan secara tepat dan menggunakan pencocokan global dengan hati-hati.
Batasi laju endpoint API
Aktifkan pembatasan laju untuk semua endpoint API kecuali example.com/api/pay. Contoh ini mengasumsikan bahwa semua URI endpoint API berisi string /api.
Match Condition:
Atur Match Field ke
URI Path, Logical Operator keNot Equal To, dan Match Content ke/api/pay.Atur Match Field ke
URI Path, Logical Operator keContains, dan Match Content ke/api.
Protection Rule Type: Rate Limiting.
Statistical Object: IP.
Statistical Interval (Seconds): 10.
Threshold (Times): 5.
Apply To: Current Match Condition.
Timeout Period: 1800.
Rule Action: Block.
Penerapan produksi
Untuk menghindari gangguan bisnis, jangan membuat dan mengaktifkan aturan perlindungan yang menggunakan aksi Block secara langsung di lingkungan produksi. Kami merekomendasikan agar Anda mengikuti proses penerapan ini.
Analisis karakteristik permintaan: Gunakan laporan keamanan dan log WAF untuk mengidentifikasi karakteristik permintaan bisnis sah dan serangan berbahaya, seperti alamat IP, User-Agent, Header, dan URI. Jika Anda berencana mengonfigurasi aturan pembatasan laju, Anda juga harus menentukan frekuensi permintaan dasar untuk trafik bisnis normal Anda.
Konfigurasikan daftar putih: Sebelum membuat templat aturan kustom, kami merekomendasikan agar Anda membuat aturan daftar putih untuk menambahkan alamat IP tepercaya ke daftar putih. Hal ini mencegah aturan baru memblokir permintaan tepercaya.
Lakukan pengujian canary: Setelah membuat aturan kustom, gunakan salah satu metode berikut untuk mengujinya sebelum menerapkannya ke lingkungan produksi.
Terapkan aturan tersebut ke lingkungan non-produksi untuk pengujian.
Atur Rule Action ke Log.
Aktifkan Canary Rule di Advanced Settings.
Analisis hasil pengujian: Setelah aturan berjalan selama periode tertentu, periksa laporan keamanan dan log untuk kesalahan positif di antara permintaan yang sesuai.
Terapkan ke produksi: Setelah memastikan tingkat positif palsu dapat diterima, ubah aksi aturan ke aksi yang dimaksudkan dan terapkan aturan tersebut ke lingkungan produksi Anda.
Terus pantau dan optimalkan: Pantau laporan keamanan dan log. Sesuaikan dan optimalkan aturan Anda secara dinamis berdasarkan perubahan trafik bisnis dan efektivitasnya.
Operasi harian
Kelola Template perlindungan
Template perlindungan baru diaktifkan secara default. Anda dapat melakukan operasi berikut dalam daftar templat perlindungan:
Lihat jumlah entri Protected Object/Group yang terkait dengan templat.
Aktifkan atau nonaktifkan templat dengan menggunakan sakelar Status.
Klik Create Rule untuk templat tersebut.
Edit, Delete, atau Copy Template perlindungan.
Klik ikon
di sebelah kiri nama Template perlindungan untuk melihat aturan dalam templat tersebut.
Kelola aturan perlindungan
Aturan baru diaktifkan secara default. Anda dapat melakukan operasi berikut dalam daftar aturan:
Lihat informasi seperti Rule ID dan Rule Condition.
Aktifkan atau nonaktifkan aturan dengan menggunakan sakelar Status.
Edit atau Delete aturan.
Kuota dan batasan
Hanya instans WAF Edisi Perusahaan atau Edisi Ultimate yang menggunakan metode penagihan langganan, serta instans WAF bayar sesuai penggunaan, yang mendukung fitur CAPTCHA, Rate Limiting, dan Advanced Settings.
Satu aturan perlindungan dapat memiliki maksimal lima Match Condition.
Saat menggunakan operator logika seperti Equals One of Multiple Values atau Contains One of Multiple Values, Anda dapat memasukkan maksimal 50 nilai konten pencocokan. Untuk mencocokkan lebih dari 50 nilai, kami merekomendasikan agar Anda membaginya menjadi beberapa aturan atau menggunakan operator seperti Contains atau Regex Match.
Suatu aturan dikualifikasikan sebagai "aturan lanjutan" jika memenuhi salah satu kondisi berikut. Untuk instans WAF langganan, aturan lanjutan hanya didukung oleh Edisi Perusahaan ke atas. Untuk instans WAF bayar sesuai penggunaan, WAF menagih aturan lanjutan secara berbeda dari aturan dasar. Untuk detail harga, lihat Pay-as-you-go billing details.
Jenis aturan adalah pembatasan laju.
Menggunakan bidang pencocokan: Cookie, Content-Type, Content-Length, X-Forwarded-For, Body, Http-Method, File Extension, Filename, Server-Port, Header, Cookie Name, atau Body Parameter.
Menggunakan operator logika: Regex Match atau Regex Not Match.
Menggunakan pengaturan lanjutan: grayscale aturan atau pola waktu efektif.
FAQ
Mengapa aturan saya tidak berfungsi?
Jika aturan kustom WAF yang dikonfigurasi tidak berfungsi seperti yang diharapkan, atau jumlah permintaan yang dicegat jauh lebih rendah dari yang diharapkan, kami merekomendasikan agar Anda secara sistematis memecahkan masalah tersebut di area berikut.
Periksa konfigurasi dasar dan status
Verifikasi asosiasi objek yang dilindungi: Verifikasi bahwa Anda telah membuat dan mengaitkan templat aturan kustom dengan Protected Object/Group target (seperti instans ALB atau nama domain) dengan benar. Pastikan statusnya Effective; jika tidak, WAF tidak dapat mengirimkan dan mengeksekusi aturan tersebut.
Periksa status templat dan aturan: Periksa bahwa sakelar Status Template perlindungan dan sakelar Status aturan spesifik keduanya aktif. Jika salah satu sakelar dimatikan, aturan yang sesuai akan tidak aktif.
Verifikasi aksi aturan: Pastikan Rule Action aturan diatur ke selain Log. Aksi Log hanya mencatat peristiwa dan tidak memblokir permintaan.
Validasi kondisi pencocokan dan logika
Akurasi kondisi pencocokan: Periksa secara menyeluruh apakah Match Field, Logical Operator, dan Match Content aturan tersebut benar-benar sesuai dengan permintaan target. Jika Anda menggunakan ekspresi reguler, verifikasi secara ketat bahwa Anda menulis karakter escape dengan benar.
Strategi untuk path dinamis: Jika path target berisi segmen acak yang dihasilkan secara dinamis (seperti parameter atau ID acak), kami merekomendasikan mengatur bidang pencocokan ke
URI Pathdan menggunakan operator logika Contains untuk mencocokkan hanya string tetap yang tidak berubah di path tersebut. Hindari mencocokkan path lengkap, karena perubahan dinamis dapat menyebabkan aturan gagal.Penanganan header yang hilang: Untuk bidang header permintaan yang mungkin hilang, seperti
RefereratauUser-Agent, perhatikan bahwa "nilai bidang kosong" dan "bidang tidak ada di header permintaan" adalah dua keadaan logika yang berbeda. Kami merekomendasikan mengonfigurasi kondisi untuk kedua keadaan logika tersebut untuk mencegah aturan gagal karena keadaan yang tidak ditangani.
Periksa prioritas aturan dan kondisi pemicu
Aturan lain mungkin memiliki prioritas lebih tinggi: Periksa aturan perlindungan atau modul lain yang dikonfigurasi. Misalnya, jika aturan daftar putih dikonfigurasi, permintaan mungkin lolos sebelum aturan blokir Anda dapat mengevaluasinya.
Pembatasan laju dengan kondisi kode status: Jika Anda mengonfigurasi aturan Rate Limiting dan mengaktifkan deteksi kode status, WAF hanya memicu aturan tersebut jika objek statistik memenuhi kedua kondisi "ambang batas frekuensi akses" dan "karakteristik kode status" dalam periode statistik. Anda perlu memastikan bahwa server origin benar-benar mengembalikan kode status yang ditentukan (seperti 404) untuk permintaan yang relevan. Jika tidak, WAF tidak akan memicu aturan tersebut meskipun frekuensi akses mencapai ambang batas.
Batasi laju domain pada instans bersama
Aturan pembatasan laju membatasi frekuensi permintaan objek statistik tunggal berdasarkan objek yang dilindungi. Jika satu instans layanan cloud menangani trafik untuk beberapa domain, WAF menggabungkan frekuensi akses di semua domain untuk tujuan statistik. Jika Anda perlu membatasi frekuensi akses hanya untuk domain tertentu, Anda dapat menggunakan salah satu metode berikut:
Tambahkan domain tersebut sebagai objek yang dilindungi WAF dan terapkan aturan pembatasan laju ke objek tersebut. Untuk informasi lebih lanjut, lihat Configure protected objects and protected object groups.
Dalam Match Condition aturan pembatasan laju, gunakan bidang Host untuk menentukan domain yang ingin Anda batasi frekuensi aksesnya.
Pemecahan masalah bidang parameter body
Alasan yang paling mungkin adalah konten pencocokan terlalu pendek. Saat menggunakan bidang Body Parameter, pastikan konten pencocokan minimal terdiri dari lima karakter. Jika tidak, WAF tidak dapat mendeteksi trafik tersebut.
Cara melindungi dari serangan malam hari
Untuk layanan dengan trafik sah minimal di malam hari, Anda dapat mengonfigurasi aturan perlindungan yang lebih ketat untuk mempertahankan diri dari serangan. Untuk melakukan ini, atur Effective Mode aturan ke Recurring Schedule dan pilih Time Zone yang benar untuk menerapkan perlindungan tepat selama jam malam.
Jika layanan Anda tidak melayani pengguna di wilayah tertentu (misalnya, hanya melayani pengguna domestik), Anda juga dapat mengonfigurasi aturan pemblokiran regional untuk langsung memblokir permintaan akses dari wilayah tersebut, sehingga memblokir trafik anomali.
Izinkan permintaan tertentu dan blokir yang lain
Logika konfigurasi untuk mengizinkan permintaan tertentu dan memblokir semua yang lain
Aturan kustom WAF menggunakan logika "cocok dan picu", yang tidak secara langsung mendukung model daftar putih positif "izinkan hanya permintaan tertentu, blokir semua yang lain". Untuk menerapkan kebijakan keamanan ini, Anda harus menggunakan logika terbalik: "blokir semua permintaan yang tidak sesuai dengan kriteria izin". Untuk metode konfigurasi spesifik, lihat Restrict admin panel access to specific IP addresses.
Perbedaan antara ACL WAF dan Cloud Firewall
WAF berbeda secara mendasar dari ACL Cloud Firewall dan Grup keamanan ECS dalam model pertahanannya:
ACL Cloud Firewall: Dikonfigurasi berdasarkan "niat bisnis" yang tetap dan dapat dihitung. Misalnya, Anda dapat membatasi database internal untuk hanya mengizinkan akses dari alamat IP server aplikasi tertentu. ACL menggunakan strategi "tolak semua secara default, izinkan berdasarkan pengecualian" untuk secara tepat mengurangi permukaan serangan jaringan.
WAF: Memberikan pertahanan berdasarkan tanda tangan dan perilaku, terutama untuk permintaan HTTP/HTTPS. Trafik aplikasi web sangat kompleks, melibatkan banyak permintaan dinamis dan interaksi pengguna. Jika Anda menerapkan strategi "tolak semua, izinkan berdasarkan pengecualian" di WAF, Anda perlu menghitung semua karakteristik permintaan sah, seperti URL, parameter, dan header. Strategi ini tidak hanya sulit diterapkan tetapi juga sangat mahal untuk dipelihara.
Strategi WAF detail halus yang direkomendasikan
Mengingat perbedaan ini, kami tidak merekomendasikan mengonfigurasi aturan global "blokir semua, izinkan yang spesifik" di WAF. Sebagai gantinya, adopsi strategi konfigurasi detail halus berikut:
Kontrol akses tepat: Untuk path sensitif seperti panel admin atau endpoint API inti, konfigurasikan aturan kontrol akses tepat berdasarkan alamat IP, User-Agent, atau header tertentu untuk memberlakukan kontrol akses yang ketat.
Perlindungan dasar: Untuk trafik reguler dari publik, andalkan aturan Core Web Protection dan modul perlindungan CC WAF untuk mengidentifikasi dan memblokir pola serangan yang dikenal dan perilaku anomali, daripada menggunakan blokir menyeluruh.
Penyetelan berkelanjutan: Secara rutin analisis log event WAF. Terus-menerus iterasi dan sempurnakan aturan kontrol akses Anda berdasarkan perubahan trafik bisnis dan lanskap ancaman untuk memastikan keseimbangan antara keamanan dan ketersediaan bisnis.
Menggunakan operator contains untuk menghindari aturan duplikat
Saat Anda mengatur bidang pencocokan ke URI Path dan operator logika ke Contains, permintaan akan sesuai jika string yang ditentukan muncul di mana saja di path permintaan.
Contoh: Jika Anda memasukkan /resources/author/ sebagai konten pencocokan, ini dapat mencocokkan path multibahasa seperti /cn/resources/author/ dan /en/resources/author/.
Kasus penggunaan: Untuk direktori multi-level atau situs multibahasa yang berbagi segmen path tetap yang sama, metode ini dapat secara efektif mengurangi kebutuhan akan aturan duplikat.