Skip to main content

Cara Menguji Proteksi WAF

Mantap 👍 kalau integrasi NGINX + WAF (ModSecurity/OWASP CRS) sudah berhasil, langkah berikutnya adalah uji coba proteksi WAF supaya yakin rule-nya jalan.

Berikut cara praktisnya:


1. Cek log ModSecurity

Biasanya log ada di:

  • /var/log/nginx/error.log (jika di-merge dengan error log)

  • /var/log/modsec_audit.log (jika pakai SecAuditLog)

Kalau rule aktif, setiap request yang diblok/diinspeksi akan muncul di log tersebut.


2. Uji dengan payload umum WAF

Gunakan curl atau browser untuk mengetes. Misalnya:

SQL Injection test

curl "http://yourdomain.com/?id=1' OR '1'='1"

👉 Jika WAF aktif, harusnya request ini di-block (403 Forbidden).

XSS test

curl "http://yourdomain.com/?q=<script>alert(1)</script>"

👉 WAF akan mendeteksi pola <script> dan blok request.

LFI test (Local File Inclusion)

curl "http://yourdomain.com/?file=../../etc/passwd"

3. Gunakan SecRuleEngine DetectionOnly (opsional)

Kalau kamu masih mau mode monitoring, aktifkan DetectionOnly:

SecRuleEngine DetectionOnly

Nanti request tidak diblok, tapi akan tetap tercatat di log. Cocok untuk uji awal.


4. Cek response HTTP

Kalau proteksi aktif, biasanya:

  • Akan dapat 403 Forbidden dari NGINX.

  • Bisa juga keluar halaman error custom tergantung konfigurasi.


5. Tes bypass rule

Untuk memastikan WAF tidak terlalu ketat:

  • Akses normal (misalnya curl http://yourdomain.com/) harus sukses (200 OK).

  • Payload berbahaya harus ditolak (403/blocked).


👉 Jadi langkah termudah:

  1. Coba akses normal → pastikan tetap bisa.

  2. Coba akses ?id=1' OR '1'='1 → pastikan kena blok.

  3. Cek modsec_audit.log untuk bukti rule bekerja.


Mau saya buatkan script otomatis (bash) untuk menguji beberapa payload sekaligus supaya lebih cepat?