Objek yang dilindungi dan kelompok objek yang dilindungi merupakan unit tempat aturan perlindungan diterapkan. Anda dapat mengaitkan objek yang dilindungi atau kelompok objek yang dilindungi dengan template perlindungan untuk mengaktifkan perlindungan Web Application Firewall (WAF). Topik ini menjelaskan cara menambahkan dan mengelola objek yang dilindungi serta kelompok objek yang dilindungi.
Informasi latar belakang
Objek yang dilindungi
Objek yang dilindungi adalah nama domain atau instans layanan cloud yang ditambahkan ke WAF untuk perlindungan. Ini merupakan unit terkecil tempat aturan mitigasi diterapkan.
Objek yang dilindungi dapat dibuat melalui dua cara berikut:
Penambahan otomatis: Instans yang ditambahkan dalam mode cloud native atau nama domain yang ditambahkan menggunakan jenis koneksi CNAME secara otomatis ditambahkan sebagai objek yang dilindungi.
Penambahan manual: Untuk mengonfigurasi aturan perlindungan terpisah bagi satu atau beberapa nama domain dari instans ALB, CLB, ECS, dan NLB Anda dalam mode cloud native, Anda dapat menambahkan nama domain tersebut secara manual sebagai objek yang dilindungi. Untuk informasi selengkapnya, lihat Menambahkan objek yang dilindungi secara manual.
Tabel berikut menjelaskan objek yang dilindungi yang ditambahkan secara otomatis dan manual untuk berbagai jenis koneksi beserta batas spesifikasinya.
Jenis koneksi | Objek yang dilindungi yang ditambahkan secara otomatis | Dukungan penambahan manual objek yang dilindungi | Batas spesifikasi |
Mode cloud native (Aktifkan perlindungan WAF untuk instans ALB) | Instans ALB | Tambahkan secara manual nama domain dari instans sebagai objek yang dilindungi. |
|
Mode cloud native (Aktifkan perlindungan WAF untuk instans gateway cloud-native MSE) | Instans MSE (termasuk entri rutenya) | Tidak didukung | |
Mode cloud native (Aktifkan perlindungan WAF untuk fungsi Function Compute) | Nama Domain | Tidak didukung | |
Mode cloud native (Aktifkan perlindungan WAF untuk instans CLB, Aktifkan perlindungan WAF untuk instans ECS, dan Aktifkan perlindungan WAF untuk instans NLB) | Instans CLB, instans ECS, dan instans NLB | Tambahkan secara manual nama domain dari instans sebagai objek yang dilindungi. | |
Nama Domain | Tidak didukung | ||
Tidak didukung | Tambahkan secara manual nama domain yang terhubung sebagai objek yang dilindungi. |
Kelompok objek yang dilindungi
Kelompok objek yang dilindungi adalah kumpulan objek yang dilindungi. Ini juga merupakan unit tempat aturan mitigasi diterapkan. Anda dapat menambahkan beberapa objek yang dilindungi ke dalam satu kelompok dan mengonfigurasi aturan mitigasi untuk kelompok tersebut. Hal ini memungkinkan Anda menerapkan aturan tersebut ke semua objek yang dilindungi dalam kelompok tersebut sekaligus.
Satu objek yang dilindungi hanya dapat menjadi anggota satu kelompok objek yang dilindungi.
Edisi Dasar (Langganan) | Pro (Langganan) | Edisi Perusahaan (Langganan) | Ultimate (Langganan) | Bayar sesuai pemakaian |
Mendukung hingga 10 kelompok objek yang dilindungi. | Mendukung hingga 10 kelompok objek yang dilindungi. | Mendukung hingga 10 kelompok objek yang dilindungi. | Mendukung hingga 10 kelompok objek yang dilindungi. | Mendukung hingga 100 kelompok objek yang dilindungi. |
Setiap kelompok objek yang dilindungi mendukung hingga 50 objek yang dilindungi. | Setiap kelompok objek yang dilindungi mendukung hingga 50 objek yang dilindungi. | Setiap kelompok objek yang dilindungi mendukung hingga 50 objek yang dilindungi. | Setiap kelompok objek yang dilindungi mendukung hingga 50 objek yang dilindungi. | Setiap kelompok objek yang dilindungi mendukung hingga 100 objek yang dilindungi. |
Prasyarat
Anda memiliki layanan aktif WAF 3.0 bayar sesuai pemakaian.
Anda telah menyelesaikan provisioning layanan web di halaman Onboarding.
Jika Anda ingin menambahkan secara manual nama domain untuk instans CLB, ECS, atau NLB yang dihosting di server di Chinese Mainland, Anda harus mendapatkan pendaftaran ICP dari Alibaba Cloud.
CatatanSaat Anda mengajukan pendaftaran ICP di sistem Pendaftaran ICP Alibaba Cloud, sistem akan menampilkan operasi yang diperlukan berdasarkan informasi situs web yang Anda berikan.
Menambahkan objek yang dilindungi secara manual
Untuk mengonfigurasi aturan mitigasi terpisah bagi nama domain berikut, Anda harus menambahkannya secara manual sebagai objek yang dilindungi:
Nama domain dalam instans ALB, CLB, ECS, atau NLB yang ditambahkan ke WAF dalam mode cloud native.
Nama domain yang ditambahkan ke WAF dalam mode integrasi cloud hibrida dengan SDK.
Masuk ke Konsol Web Application Firewall 3.0. Dari bilah menu atas, pilih kelompok sumber daya dan wilayah (Chinese Mainland atau Outside Chinese Mainland) untuk instans WAF.
Di panel navigasi sebelah kiri, pilih .
Di tab Protected Objects, klik Add Protected Object.
Di kotak dialog Tambah Objek yang Dilindungi, konfigurasikan parameter berdasarkan Protected Object Type dan klik OK.
Layanan cloud
Untuk menambahkan nama domain instans ALB, CLB, ECS, dan NLB sebagai objek yang dilindungi, atur Protected Object Type ke Cloud Service dan konfigurasikan parameter berikut.
Item konfigurasi
Catatan
Domain Name
Masukkan nama domain yang akan dilindungi. Anda dapat memasukkan nama domain yang cocok persis, seperti
www.aliyundoc.com, atau nama domain wildcard, seperti*.aliyundoc.com.CatatanNama domain wildcard tidak dapat mencocokkan nama domain utama yang bersesuaian. Misalnya,
*.aliyundoc.comtidak dapat mencocokkanaliyundoc.com.Nama domain wildcard tidak dapat mencocokkan subdomain pada level yang berbeda. Misalnya,
*.aliyundoc.comtidak dapat mencocokkanwww.example.aliyundoc.com.Nama domain wildcard dapat mencocokkan semua subdomain pada level yang sama. Misalnya,
*.aliyundoc.comdapat mencocokkan subdomain sepertiwww.aliyundoc.comdanexample.aliyundoc.com.Jika suatu objek yang dilindungi memiliki nama domain yang cocok persis dan nama domain wildcard yang cocok, aturan perlindungan untuk nama domain yang cocok persis akan diprioritaskan.
Cloud Service
Pilih jenis produk cloud untuk server DNS. Opsi yang tersedia adalah:
ALB: Layanan Application Load Balancer.
CLB4: Layanan Classic Load Balancer Lapisan 4.
CLB7: Layanan Classic Load Balancer Lapisan 7.
ECS: Layanan Komputasi Elastis.
NLB: Layanan Network Load Balancer.
Instance
Pilih ID instans untuk server DNS. Konfigurasi ini hanya diperlukan ketika jenis Cloud Service adalah ALB.
CatatanJika instans ALB tidak ada dalam daftar, pertama-tama selesaikan integrasi mode cloud native. Untuk informasi selengkapnya, lihat Aktifkan perlindungan WAF untuk instans ALB.
Add To Protected Object Group
Jika diperlukan, tambahkan objek yang dilindungi ke kelompok objek yang dilindungi tertentu untuk menerapkan aturan perlindungan ke beberapa objek yang dilindungi sekaligus.
Setelah objek yang dilindungi ditambahkan ke kelompok, Anda hanya dapat mengonfigurasi aturan perlindungannya melalui kelompok tersebut, bukan secara individual. Jika Anda lebih memilih mengonfigurasi aturan untuk objek tersebut secara individual, lewati pengaturan ini.
CatatanJika kelompok objek yang dilindungi tujuan belum ada, lewati pengaturan ini. Buat kelompok tersebut, lalu tambahkan objek yang dilindungi ke dalamnya. Untuk informasi selengkapnya, lihat Buat kelompok objek yang dilindungi.
Integrasi cloud hibrida dengan SDK
Untuk menambahkan nama domain yang terhubung ke WAF 3.0 dalam mode Traffic Mirroring berbasis SDK sebagai objek yang dilindungi, atur Protected Object Type ke SDK-based Traffic Mirroring dan konfigurasikan parameter berikut.
Item konfigurasi
Catatan
Protected Object Name
Masukkan nama untuk objek yang dilindungi.
Domain Name/IP
Masukkan nama domain yang akan dilindungi. Anda dapat memasukkan nama domain yang cocok persis, seperti
www.aliyundoc.com, atau nama domain wildcard, seperti*.aliyundoc.com.CatatanNama domain wildcard tidak mencocokkan nama domain utama yang bersesuaian. Misalnya,
*.aliyundoc.comtidak mencocokkanaliyundoc.com.Nama domain wildcard tidak mencocokkan subdomain pada level yang berbeda. Misalnya,
*.aliyundoc.comtidak mencocokkanwww.example.aliyundoc.com.Nama domain wildcard dapat mencocokkan semua subdomain pada level yang sama. Misalnya,
*.aliyundoc.comdapat mencocokkanwww.aliyundoc.comdanexample.aliyundoc.com.Jika suatu objek yang dilindungi memiliki nama domain yang cocok persis dan nama domain wildcard yang cocok, aturan untuk nama domain yang cocok persis akan diprioritaskan.
URL
Masukkan path URL yang akan dilindungi.
Add To Protected Object Group
Jika diperlukan, tambahkan objek yang dilindungi ke kelompok objek yang dilindungi tertentu agar mudah mengonfigurasi aturan perlindungan untuk beberapa objek yang dilindungi sekaligus.
Setelah objek yang dilindungi ditambahkan ke kelompok, aturan perlindungannya hanya dapat dikonfigurasi melalui kelompok tersebut, bukan secara individual. Jika Anda ingin mengonfigurasi aturan untuk objek tersebut secara individual, lewati pengaturan ini.
CatatanJika kelompok objek yang dilindungi tujuan belum ada, Anda dapat melewati pengaturan ini. Anda dapat menambahkan objek yang dilindungi ke kelompok setelah membuatnya. Untuk informasi selengkapnya, lihat Buat kelompok objek yang dilindungi.
Setelah menambahkan objek yang dilindungi, Anda dapat melihat dan mengelolanya di daftar objek yang dilindungi. Untuk informasi selengkapnya, lihat Kelola objek yang dilindungi.
Buat kelompok objek yang dilindungi
Anda dapat membuat kelompok objek yang dilindungi dan mengaitkan objek yang dilindungi dengannya untuk menerapkan aturan mitigasi ke objek-objek tersebut sekaligus.
Masuk ke Konsol Web Application Firewall 3.0. Dari bilah menu atas, pilih kelompok sumber daya dan wilayah (Chinese Mainland atau Outside Chinese Mainland) untuk instans WAF.
Di panel navigasi sebelah kiri, pilih .
Di tab Protected Object Group, klik Create Object Group.
Di kotak dialog Create Protected Object Group, masukkan Protected Object Group Name, pilih Associated Protected Objects, tambahkan Remarks, lalu klik OK.
CatatanDaftar Available Objects di bagian Associate Protected Objects hanya menampilkan objek yang dilindungi yang belum termasuk dalam kelompok mana pun dan memiliki kemampuan mitigasi default atau tidak memiliki kemampuan mitigasi yang diterapkan.
Jika suatu objek yang dilindungi sudah termasuk dalam kelompok objek yang dilindungi lain, Anda harus terlebih dahulu menghapus objek tersebut dari kelompok aslinya sebelum dapat menambahkannya ke kelompok saat ini. Untuk informasi selengkapnya, lihat Edit kelompok objek yang dilindungi.
Setelah kelompok objek yang dilindungi dibuat, Anda dapat mengelolanya di tab Protected Object Groups. Untuk informasi selengkapnya, lihat Kelola kelompok objek yang dilindungi.
Kelola objek yang dilindungi
Anda dapat melihat dan mengelola objek yang dilindungi di tab Protected Objects.
Untuk mengonfigurasi objek yang dilindungi, klik Settings di kolom Actions untuk objek tersebut.
Fitur
Catatan
WAF Link Settings
Configure Client IP Address
Jika perangkat reverse proxy, seperti Anti-DDoS atau CDN, ditempatkan di depan WAF, Anda dapat mengonfigurasi metode identifikasi IP klien. Metode ini menentukan field yang digunakan WAF untuk mendeteksi IP klien sebenarnya. WAF menggunakan IP ini untuk pencocokan aturan perlindungan, seperti daftar hitam IP, dan untuk menampilkan IP sumber serangan dalam laporan.
Klik Settings di kolom Actions untuk objek yang dilindungi target guna mengonfigurasi Layer 7 Proxy Before WAF (such As Anti-DDoS Or CDN) dan Client IP Detection Method. Untuk informasi selengkapnya, lihat Tambahkan situs web ke WAF menggunakan rekaman CNAME.
CatatanNama domain yang ditambahkan menggunakan rekaman CNAME, instans CLB, dan instans ECS: Jika Anda telah menyelesaikan konfigurasi ini selama penyiapan, jangan konfigurasi ulang.
Instans ALB, instans MSE, nama domain kustom FC, dan nama domain yang ditambahkan dalam mode integrasi SDK cloud hibrida: Konfigurasikan sesuai kebutuhan.
Cookie Settings
Tracking Cookie
Saat Anda menggunakan fitur seperti Serangan flood HTTP dan perlindungan pemindaian, jika cookie permintaan tidak berisi
acw_tc, WAF secara default menyisipkanacw_tcke dalam tanggapan untuk mengidentifikasi dan mengumpulkan statistik akses klien yang berbeda. WAF menentukan apakah lalu lintas layanan mengandung perilaku serangan CC dengan menganalisis informasi cookie dari klien dikombinasikan dengan aturan Serangan flood HTTP, aturan perlindungan pemindaian yang menggunakan sesi untuk statistik, aturan frekuensi kustom yang menggunakan sesi untuk statistik, dan hasil statistik yang Anda konfigurasi.Gunakan sakelar Status untuk mengaktifkan atau menonaktifkan Tracking Cookie. Untuk mengirimkan cookie ini hanya dalam permintaan HTTPS, aktifkan Secure Attribute cookie tersebut.
PentingAktifkan sakelar Status untuk cookie pelacakan. Jika tidak, fitur seperti Serangan flood HTTP dan perlindungan pemindaian akan terpengaruh.
Untuk objek yang dilindungi dalam kelompok objek yang dilindungi, Tracking Cookie diaktifkan secara default. Anda tidak dapat menonaktifkan Tracking Cookie atau mengaktifkan Secure Attribute untuk objek-objek ini.
Instans MSE dan nama domain kustom FC tidak mendukung pengaturan Secure Attribute.
Aturan efektif: Jika suatu permintaan mengenai beberapa objek yang dilindungi dan Tracking Cookie atau Secure Attribute diaktifkan untuk salah satunya, pengaturan tersebut disinkronkan ke semua objek yang terkena.
Slider CAPTCHA Cookie
Setelah pengguna lulus tantangan slider, WAF secara default mengirimkan cookie slider
acw_sc__v3untuk menandai tindakan autentikasi. Untuk mengirimkan cookie ini hanya ke situs HTTPS, aktifkan Secure Attribute cookie tersebut.PentingMengaktifkan Secure Attribute memengaruhi cara kerja fitur slider di situs HTTP.
Untuk objek yang dilindungi dalam kelompok objek yang dilindungi, Secure Attribute dinonaktifkan secara default dan tidak dapat diaktifkan.
Instans MSE dan nama domain kustom FC tidak mendukung pengaturan Secure Attribute.
Custom Response Header
WAF dapat menyisipkan hingga lima header kustom ke dalam tanggapan. Jika Header Name header kustom sama dengan nama header sumber, nilai header sumber akan diganti dengan Header Value yang dikonfigurasi.
Decode Settings
WAF mengurai dan mendekode format data seperti JSON, XML, dan Form, serta metode pengkodean seperti Base64 dan entitas HTML. Hal ini memungkinkan WAF mendeteksi lalu lintas berbahaya yang disembunyikan dalam pengkodean atau kompresi multilayer. Pilih opsi ini sesuai kebutuhan. Untuk informasi selengkapnya tentang pengaturan decoding, lihat Lampiran.
User Identification
Setelah Anda mengonfigurasi aturan pengambilan akun, Anda dapat mereferensikannya dalam Perlindungan Pemindaian, Manajemen Bot, dan aturan kustom. Setiap objek yang dilindungi mendukung hingga lima aturan, diurutkan berdasarkan prioritas.
Pilih lokasi untuk mengambil akun dari:
Query String
Body
Cookie
Header
Format akun:
Plaintext Authentication: Misalnya, email***@qq.com.
JWT Authentication: Biasanya ditemukan di header untuk membawa informasi pengguna. Format umumnya adalah Authorization: Bearer {Token}. Untuk format JWT, tentukan juga field akun yang akan digunakan setelah token didekode.
Basic Authentication: Biasanya ditemukan di header. Format umumnya adalah Authorization: Basic {Token}.
Klik View Protection Rule di kolom Actions untuk objek tersebut. Di halaman Core Web Protection, Anda dapat melihat aturan perlindungan yang dikonfigurasi untuk objek yang dilindungi.
CatatanAnda juga dapat mengonfigurasi lebih banyak aturan perlindungan untuk objek yang dilindungi di halaman Protection Rules. Untuk informasi selengkapnya, lihat Perlindungan Inti Web.
Klik
di kolom Actions untuk objek tersebut.Fitur
Catatan
Add to Protected Object Group
Untuk menambahkan beberapa objek yang dilindungi ke kelompok objek yang sama, pilih objek yang dilindungi tersebut dan klik Add To Protection Group di bawah daftar.
View Logs
Aktifkan pengumpulan log dan kueri log untuk objek yang dilindungi. Untuk informasi selengkapnya, lihat Aktifkan atau nonaktifkan Simple Log Service.
Klik Delete di kolom Actions untuk objek tersebut guna menghapus objek yang dilindungi.
CatatanHanya objek yang dilindungi berupa nama domain yang ditambahkan secara manual yang dapat dihapus.
Untuk menghapus instans CLB atau ECS, buka halaman Provisioning, temukan instans atau port pengalihan lalu lintas target, lalu klik Remove di kolom Actions. Setelah pengalihan lalu lintas untuk port tersebut dibatalkan, Anda dapat menghapus objek yang dilindungi.
Untuk menyambungkan atau melepas tag untuk objek yang dilindungi, arahkan kursor ke ikon
di kolom Tag untuk objek yang dilindungi tersebut dan klik Attach. Di kotak dialog Edit Tag, pilih atau masukkan Tag Key dan masukkan Tag Value.CatatanAnda dapat menyambungkan hingga 20 Tag Keys sekaligus, dan Tag Value dapat dikosongkan.
Tag Key dan Tag Value dapat memiliki panjang hingga 128 karakter. Keduanya tidak boleh diawali dengan
aliyunatauacs:, atau mengandunghttp://atauhttps://.Anda dapat menambahkan atau memodifikasi tag untuk objek yang dilindungi baik di daftar objek yang dilindungi maupun di daftar provisioning. Perubahan yang dilakukan di satu tempat akan disinkronkan ke tempat lainnya.
Anda juga dapat memilih beberapa objek yang dilindungi untuk menambahkan atau menghapus tag secara batch.
Kelola kelompok objek yang dilindungi
Di tab Protected Object Groups, Anda dapat melihat dan mengelola kelompok objek yang dilindungi.
Fitur | Catatan | |
Edit kelompok objek yang dilindungi | Pada kolom Operation untuk kelompok objek yang dilindungi target, klik Edit. Pindahkan objek yang dilindungi dari Objects to Select ke Selected Protected Object Groups, atau hapus objek yang dilindungi dari Selected Protected Object Groups. Catatan
| |
Lihat dan konfigurasi aturan perlindungan | Klik Configure Rule di kolom Operation untuk objek yang dilindungi target. Di halaman Protection Rules, konfigurasikan aturan perlindungan untuk kelompok objek yang dilindungi. Aturan ini berlaku untuk semua objek yang dilindungi dalam kelompok tersebut. | |
Hapus kelompok objek yang dilindungi | Temukan kelompok objek yang dilindungi target, lalu di kolom Operation, klik Delete. | |
Lampiran
Pengaturan decoding
Saat Anda menambahkan instans ALB dalam mode cloud native, Base64 Decoding dinonaktifkan secara default. Anda dapat mengaktifkannya sesuai kebutuhan.
Instans FC, MSE dalam mode cloud native tidak mendukung pengaturan decoding.
Untuk jenis koneksi cloud hibrida, Anda harus meningkatkan xagent ke versi 4.1.0 atau lebih baru agar pengaturan decoding berlaku.
Penguraian pasangan kunci-nilai
JSON Data Parsing
Deskripsi: Modul penguraian JSON diimplementasikan berdasarkan standar RFC 7159 untuk mengurai dan merekonstruksi format JavaScript Object Notation (JSON). Modul ini mendukung penguraian spesifikasi sintaks JSON, termasuk identifikasi dan pemrosesan objek pasangan kunci-nilai, array, string, dan angka. Proses penguraian mencakup validasi sintaks, konversi tipe data, penanganan struktur bersarang, dan decoding urutan escape Unicode. Dengan menstandarisasi penguraian format JSON, kemampuan aturan WAF dalam mendeteksi konten berbahaya dalam muatan JSON ditingkatkan.
Contoh: Untuk input
{"Hello":"World"}, penguraian JSON mengekstrakkunciHellodannilaiWorld.
XML Data Parsing
Deskripsi: Modul penguraian XML diimplementasikan berdasarkan spesifikasi XML (Rekomendasi W3C) untuk mengurai dan merekonstruksi data Extensible Markup Language (XML). Modul ini mendukung penguraian lengkap struktur dokumen XML, termasuk identifikasi dan pemrosesan elemen, atribut, konten teks, bagian CDATA, dan instruksi pemrosesan. Proses penguraian mencakup validasi sintaks, penguraian referensi entitas, penanganan namespace, dan standardisasi struktur dokumen. Dengan menstandarisasi penguraian format XML, kemampuan aturan WAF dalam mendeteksi konten berbahaya dalam muatan XML ditingkatkan.
Contoh: Untuk input
<Hello attr="desc"><![CDATA[World]]></Hello>, penguraian XML mengekstrakkuncisebagaiHello,nilaisebagaiWorld,kunci2sebagaiHello.attr, dannilai2sebagaidesc.
Form Data Parsing
Deskripsi: Modul penguraian Formulir diimplementasikan berdasarkan standar RFC 1866 untuk mengurai dan merekonstruksi format application/x-www-form-urlencoded. Modul ini mendukung penguraian lengkap data formulir HTML, termasuk identifikasi dan pemrosesan parameter pasangan kunci-nilai, parameter array, field unggah file, dan struktur bersarang. Proses penguraian mencakup decoding URL, penanganan set karakter, identifikasi pemisah parameter, dan konversi tipe data. Dengan menstandarisasi penguraian format data formulir, kemampuan aturan WAF dalam mendeteksi konten berbahaya dalam muatan formulir ditingkatkan.
Contoh: Untuk input
Hello=World, penguraian formulir mengekstrakkuncisebagaiHellodannilaisebagaiWorld.
Multipart Data Parsing
Catatan: Modul penguraian Formulir mengurai dan merekonstruksi format application/x-www-form-urlencoded berdasarkan standar RFC 1866. Modul ini melakukan penguraian lengkap data formulir HTML, yang mencakup deteksi dan pemrosesan parameter pasangan kunci-nilai, parameter array, field unggah file, dan struktur bersarang. Proses penguraian mencakup decoding URL, pemrosesan set karakter, deteksi pemisah parameter, dan konversi tipe data. Menstandarisasi penguraian data formulir meningkatkan kemampuan aturan WAF dalam mendeteksi konten berbahaya dalam muatan formulir.
Contoh: Untuk input
Hello=World, penguraian Formulir mengekstrakkuncisebagaiHellodannilaisebagaiWorld.
GraphQL Parsing
Catatan: Modul penguraian Multipart mengurai dan merekonstruksi format multipart/form-data berdasarkan standar RFC 2046. Modul ini mendukung penguraian lengkap unggahan file HTTP dan data formulir kompleks, termasuk deteksi dan pemrosesan field file, field teks, pemisah batas, dan struktur bersarang. Proses penguraian mencakup deteksi batas, penguraian field, ekstraksi konten file, dan konversi pengkodean. Penguraian standar format multipart ini memungkinkan aturan WAF lebih baik dalam mendeteksi konten berbahaya dalam unggahan file dan muatan formulir kompleks.
Contoh: Setelah penguraian multipart, input diselesaikan menjadi
kunciHellodannilaiWorld.------WebKitFormBoundary7MA4YWxkTrZu0gW Content-Disposition: form-data; name="Hello" World ------WebKitFormBoundary7MA4YWxkTrZu0gW--
Decoding
Base64 Decoding
Deskripsi: Mesin decoding Base64 mengimplementasikan algoritma konversi balik untuk pengkodean Base64 yang didefinisikan dalam RFC 4648. Modul ini menggunakan set karakter Base64 standar (A-Z, a-z, 0-9, +, /) dan karakter padding (=) untuk pemrosesan standar. Proses decoding mencakup validasi karakter, penanganan padding, penyelarasan byte, dan pemeriksaan integritas data untuk memastikan akurasi dan keandalan transmisi data biner.
Contoh: Jika Anda memasukkan
SGVsbG8gV29scmQh, output setelah decoding Base64 adalahHello World!.
HTML Entity Decoding
Deskripsi: Mesin decoding entitas HTML diimplementasikan berdasarkan spesifikasi HTML 5.2 (Rekomendasi W3C) untuk mengurai referensi entitas karakter. Modul ini mendukung pemrosesan standar referensi karakter numerik (&#x;) dan entitas karakter bernama (&).
Sebagai contoh, jika Anda memasukkan
Hello World!, outputnya adalahHello World!.
PHP Deserialization
Deskripsi: Mesin decoding serialisasi PHP mengimplementasikan operasi balik dari fungsi serialize() PHP. Modul ini, berdasarkan protokol serialisasi PHP, mengurai struktur sintaks format serialisasi, termasuk pengenal tipe (i, s, a, O, dll.), metadata panjang, dan struktur data rekursif. Proses decoding mencakup validasi tipe, pemeriksaan keamanan memori, dan rekonstruksi graf objek, mendukung penguraian lengkap tipe skalar, tipe majemuk, dan serialisasi objek.
Sebagai contoh, jika inputnya adalah
payload=O:5:"Hello":1:{s:4:"desc";s:6:"World!";}, deserialisasi PHP mengekstrakkuncipayload.Hello.descdannilaiyang sesuaiWorld!.
Java Deserialization
Deskripsi: Decoding Deserialisasi Java didasarkan pada protokol serialisasi Java dan mengimplementasikan operasi balik ObjectInputStream. Modul ini mengurai format biner aliran serialisasi Java, termasuk deskriptor kelas, metadata field, dan informasi status objek. Proses decoding mengikuti spesifikasi serialisasi JVM dan mendukung penguraian rekursif graf objek kompleks.
Contoh: Untuk input
rO0ABXNyABFqYXZhLnV0aWwuSGFzaE1hcAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVzaG9sZHhwP0AAAAAAAAx3CAAAABAAAAABdAAFSGVsbG90AAZXb3JsZCF4, decoding deserialisasi Java mengekstrak kelas Javajava.util.HashMap.
UTF-7 Decode
Deskripsi: Mesin decoding UTF-7 diimplementasikan berdasarkan standar RFC 2152 untuk konversi pengkodean karakter variabel-panjang. Modul ini memproses penanda pengkodean UTF-7 (+/-) dan urutan karakter Unicode yang dikodekan Base64. Algoritma decoding mendukung transmisi Unicode di lingkungan ASCII 7-bit, termasuk mesin keadaan pengkodean, pengalihan set karakter, dan kompatibilitas dengan protokol tradisional, sehingga cocok untuk sistem email dan skenario transmisi pesan MIME.
Contoh: Input
+/v8 +AEgAZQBsAGwAbwAgAFcAbwByAGwAZAAh-, OutputHello World!.
Unicode Decode
Deskripsi: Decode Unicode adalah mekanisme konversi pengkodean karakter berdasarkan standar Unicode (ISO/IEC 10646). Modul ini mengimplementasikan penguraian urutan escape UTF-16, mendukung notasi heksadesimal empat-byte \uXXXX dan format diperluas \u{XXXXXX}. Proses decoding mengikuti spesifikasi Unicode 15.0 untuk memastikan pengkodean karakter yang distandardisasi.
Contoh: Jika Anda memasukkan
\u0048\u0065\u006c\u006c\u006f\u0020\u0057\u006f\u0072\u006c\u0064\u0021, output setelah decoding Unicode adalahHello World!.
URL Decoding
Deskripsi: Decoding URL didasarkan pada standar RFC 3986 dan mengimplementasikan konversi balik Percent-Encoding. Mekanisme ini menangani pengkodean karakter tercadang, karakter non-ASCII, dan karakter khusus dalam sintaks URI generik. Algoritma decoding mengikuti spesifikasi tipe MIME application/x-www-form-urlencoded dan mendukung penguraian standar parameter permintaan HTTP.
Sebagai contoh, untuk input
Hello%20World%21, output setelah decoding URL adalahHello World!.
Hex Decoding
Deskripsi: Decoding Heksadesimal mengimplementasikan konversi dari string heksadesimal ke data biner berdasarkan standar RFC 4648. Modul ini menggunakan urutan byte Big-Endian dan mendukung set karakter heksadesimal standar (0-9, A-F, a-f). Proses decoding mencakup validasi input, normalisasi karakter, dan penyelarasan byte.
Contoh: Untuk input
\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64\x21, output setelah decoding Hex adalahHello World!.
Oct Decode
Deskripsi: Mesin decoding oktal OCT memproses pengkodean karakter yang diwakili oleh garis miring terbalik diikuti digit oktal, seperti
\123. Modul ini mengonversi angka oktal ke karakter yang sesuai berdasarkan tabel lookup ASCII, mendukung rentang oktal standar 0–377 (setara dengan 0–255 desimal), dan dapat mengurai secara batch urutan escape oktal dalam teks campuran.Contoh: Untuk input
\110\145\154\154\157\040\127\157\162\154\144\041, output setelah decoding Oct adalahHello World!.
Dekompresi
Gzip Decompression
Deskripsi: Mesin decoding Gzip diimplementasikan berdasarkan standar RFC 1952 dan menggunakan mekanisme dekompresi algoritma kompresi DEFLATE. Modul ini menangani penguraian header format file Gzip (magic number 0x1f8b, metode kompresi, flag), checksum CRC32, dan dekompresi blok data terkompresi. Algoritma decoding mendukung pemrosesan aliran dan dekompresi batch, termasuk manajemen mesin keadaan, penanganan file multi-anggota, dan mekanisme pemulihan kesalahan. Cocok untuk transmisi web, pengarsipan file, dan skenario kompresi data.
Contoh: Diberikan data file biner input
1f 8b 08 00 11 39 00 69 00 ff 01 0c 00 f3 ff 48 65 6c 6c 6f 20 57 6f 72 6c 64 21 a3 1c 29 1c 0c 00 00 00(disajikan dalam format HEX untuk keterbacaan), output setelah dekompresi GZIP adalahHello World!.
Pra-pemrosesan
Remove Comments
Deskripsi: Modul penghapusan komentar diimplementasikan berdasarkan standar SQL dan sintaks ekstensi MySQL untuk mengidentifikasi dan menghapus sintaks komentar. Modul ini mendukung dua format komentar yang didefinisikan oleh standar ANSI SQL: komentar satu baris (-- diikuti karakter apa pun hingga akhir baris) dan komentar multi-baris (urutan karakter apa pun yang diapit oleh /* */). Modul ini juga kompatibel dengan sintaks komentar kondisional khusus MySQL (/! ... /). Proses ini mencakup identifikasi penanda komentar, penanganan komentar bersarang, penguraian kondisi versi, dan validasi batas sintaks. Dengan menghapus konten komentar, akurasi mesin aturan WAF dalam mendeteksi pernyataan SQL berbahaya ditingkatkan dan risiko penyerang melewati aturan menggunakan komentar berkurang secara efektif.
Contoh: Untuk input
/*!40101 SET */@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT ;, output setelah penghapusan komentar adalah SET@OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT ;.
Whitespace Normalization
Deskripsi: Modul penghapusan spasi mengimplementasikan proses standar untuk menangani beberapa karakter spasi. Modul ini mendeteksi urutan spasi berturut-turut dalam string input dan memampatkan beberapa karakter spasi berturut-turut menjadi satu karakter spasi. Proses ini mencakup penanganan terpadu spasi awal, akhir, dan tengah berturut-turut untuk memastikan standardisasi dan konsistensi format teks.
Contoh: Input
Hello World!menjadiHello World!setelah kompresi spasi.