Apa itu WAF?
Web Application Firewall (WAF) adalah lapisan keamanan yang memfilter, memonitor, dan memblokir traffic HTTP/HTTPS yang mencurigakan sebelum mencapai aplikasi. WAF berdiri di antara pengguna dan web server.
Bagaimana WAF Bekerja
- Rule-based — Memblokir request yang cocok dengan pola serangan yang dikenal
- Anomaly-based — Mendeteksi perilaku yang tidak normal berdasarkan baseline
- Machine learning — Mempelajari pola traffic normal dan mendeteksi anomali
Apa yang Bisa Diblokir WAF?
// WAF bisa mendeteksi dan memblokir:
// 1. SQL Injection
GET /products?id=1 OR 1=1 -- → BLOCKED
// 2. XSS
GET /search?q=<script>alert(1)</script> → BLOCKED
// 3. Path Traversal
GET /files?path=../../etc/passwd → BLOCKED
// 4. Command Injection
GET /ping?host=;cat /etc/passwd → BLOCKED
// 5. Bot traffic / DDoS
// Requests per detik terlalu tinggi → RATE LIMITED
WAF Services Populer
Cloudflare WAF
// Cloudflare WAF — setup via DNS
// 1. Arahkan DNS ke Cloudflare
// 2. Aktifkan WAF rules di dashboard
// 3. Cloudflare memfilter traffic sebelum sampai ke server
// Konfigurasi custom rules (Cloudflare Expression)
// Blokir request dari negara tertentu
(ip.geoip.country eq "XX")
// Blokir request dengan user agent mencurigakan
(http.user_agent contains "sqlmap")
// Challenge request ke endpoint sensitif
(http.request.uri.path contains "/admin")
AWS WAF
// AWS WAF — terintegrasi dengan CloudFront, ALB, API Gateway
// Managed Rule Groups:
// - AWSManagedRulesCommonRuleSet (OWASP common attacks)
// - AWSManagedRulesSQLiRuleSet (SQL Injection)
// - AWSManagedRulesKnownBadInputsRuleSet
// - AWSManagedRulesBotControlRuleSet
Self-hosted WAF: ModSecurity
ModSecurity adalah open-source WAF yang bisa di-install di Nginx/Apache. Sering dipakai bersama OWASP Core Rule Set (CRS) sebagai rules bawaan untuk mendeteksi serangan umum.
WAF Bypass
Penyerang yang canggih bisa mencoba WAF bypass dengan encoding payload (URL encoding, Unicode, case variation) atau memecah payload agar tidak cocok dengan rules. Ini alasan kenapa WAF bukan pengganti kode yang aman.
Keterbatasan WAF
- False positives — Request legitimate bisa diblokir
- Bypass — Penyerang yang canggih bisa menemukan cara bypass
- Bukan pengganti — WAF bukan pengganti kode yang aman
- Performance — Menambah sedikit latency pada setiap request
- Encrypted traffic — WAF perlu terminate TLS untuk inspect traffic
Best Practices
- Gunakan WAF sebagai lapisan tambahan, bukan satu-satunya pertahanan
- Mulai dengan mode monitoring sebelum blocking
- Tune rules untuk mengurangi false positives
- Aktifkan managed rules untuk proteksi dasar
- Review logs secara berkala untuk memahami pola serangan
- Kombinasikan dengan rate limiting dan bot detection