Plugin waf adalah mesin perlindungan berbasis aturan yang didasarkan pada ModSecurity. Plugin ini dapat digunakan untuk memblokir permintaan mencurigakan sesuai dengan aturan yang telah dikonfigurasi. Plugin waf mendukung OWASP ModSecurity Core Rule Set (CRS) untuk menyediakan fitur perlindungan dasar bagi situs web. Topik ini menjelaskan cara mengonfigurasi plugin waf.
Plugin waf didasarkan pada aturan ModSecurity open source. Aturan default merupakan aturan statis. Anda tidak dapat menggunakan aturan default untuk mengidentifikasi risiko keamanan terbaru atau memperbarui set aturan secara real-time. Untuk mendapatkan kemampuan perlindungan keamanan yang lebih kuat, aktifkan Web Application Firewall (WAF) untuk instance Cloud-native API Gateway. Untuk informasi lebih lanjut, lihat Aktifkan WAF.
Tipe Plugin
Plugin perlindungan keamanan.
Bidang
Bidang | Tipe data | Diperlukan | Nilai default | Deskripsi |
useCRS | bool | Tidak | false | Menentukan apakah akan mengaktifkan OWASP CRS. Untuk informasi lebih lanjut, lihat coreruleset. |
secRules | array of string | Tidak | - | Aturan perlindungan kustom yang dikonfigurasi untuk plugin waf. Untuk informasi lebih lanjut tentang sintaks, lihat Dokumentasi ModSecurity. |
Contoh konfigurasi
Gunakan aturan default
Aktifkan aturan default untuk memblokir permintaan mencurigakan.
useCRS: trueAktifkan aturan default untuk mendeteksi permintaan mencurigakan tanpa memblokirnya.
useCRS: true
secRules:
- "SecRuleEngine DetectionOnly"Gunakan aturan perlindungan kustom
useCRS: true
secRules:
- "SecRule REQUEST_URI \"@streq /admin\" \"id:101,phase:1,t:lowercase,deny\""
- "SecRule REQUEST_BODY \"@rx maliciouspayload\" \"id:102,phase:2,t:lowercase,deny\""Permintaan berikut diblokir berdasarkan konfigurasi aturan di atas.
curl http://example.com/admin
curl http://example.com -d "maliciouspayload"Aktifkan aturan perlindungan untuk rute atau nama domain tertentu
useCRS: true
secRules:
- "SecRule REQUEST_URI \"@streq /admin\" \"id:101,phase:1,t:lowercase,deny\""
- "SecRule REQUEST_BODY \"@rx maliciouspayload\" \"id:102,phase:2,t:lowercase,deny\""Terapkan konfigurasi plugin berikut ke rute route-1:
secRules:
- "SecAction \"id:102,phase:1,deny\""Terapkan konfigurasi plugin berikut ke nama domain *.example.com dan test.com:
secRules:
- "SecAction \"id:102,phase:1,pass\""Rute
route-1adalah rute yang ditentukan saat pembuatan rute Cloud-native API Gateway. Jika permintaan klien cocok dengan rute tersebut, aturan yang dikonfigurasikan untuk rute tersebut akan diterapkan.Nama domain
*.example.comdantest.comdigunakan untuk mencocokkan nama domain dalam permintaan. Jika permintaan klien cocok dengan salah satu nama domain, aturan yang dikonfigurasikan untuk nama domain yang cocok akan diterapkan.Aturan yang Anda konfigurasikan diterapkan secara berurutan. Jika aturan pertama cocok, aturan berikutnya akan diabaikan.