Bayangin kamu lagi jaga pintu masuk sebuah acara besar. Semua orang pengen masuk, tapi nggak semua niatnya baik. Ada yang beneran mau nonton konser, ada juga yang mungkin mau bikin onar. Nah, kamu sebagai penjaga pintu tugasnya simpel: cek satu-satu, siapa yang aman boleh masuk, yang mencurigakan disuruh pulang.
Kira-kira, itulah kerjaan WAF di dunia maya. Tapi bedanya, yang dijaga bukan pintu konser, melainkan website atau aplikasi web kesayangan kita dari serangan jahat yang datang dari internet.
Apa itu WAF?
WAF (Web Application Firewall) itu semacam satpam digital buat aplikasi web. Dia berdiri di antara dunia luar (internet) sama server kita, buat ngefilter siapa aja yang boleh lewat dan siapa yang harus ditolak.
Kalau biasanya firewall biasa ngurusin lalu lintas data di jaringan, WAF fokus banget buat ngejaga lapisan aplikasi—spesialisasinya di HTTP/HTTPS gitu deh.
Dengan serangkaian aturan atau policy, WAF bisa mendeteksi serangan-serangan umum kayak:
- SQL Injection (serangan lewat database),
- Cross-site Scripting (XSS) (nyusupin script jahat),
- Cookie Poisoning, dan masih banyak lagi.
Pakai WAF itu kayak pasang tameng ekstra, supaya aplikasi kita tetap aman dari tangan-tangan nakal yang niatnya mau nyolong data atau merusak sistem.
Jadi, kalau kamu punya aplikasi web, WAF ini wajib banget dipertimbangkan. Bukan cuma buat “nambah keren”, tapi emang beneran buat melindungi aset digital kamu.
Cara Kerja WAF
Oke, tadi kita udah ngobrol tentang apa itu WAF. Sekarang, gimana sih sebenernya cara kerja si satpam digital ini?
Jadi gini, setiap ada request yang mau masuk ke aplikasi web kita—entah itu buka halaman login, kirim form, atau sekadar lihat-lihat halaman—semua request itu harus lewat WAF dulu.
Ibaratnya kayak tiap orang yang mau masuk konser tadi, harus antri dulu di pintu pemeriksaan.
Nah, di situ WAF mulai bekerja:
- Menyaring: WAF bakal ngecek isi request itu, apakah kelihatan normal atau ada sesuatu yang mencurigakan, kayak kode aneh, serangan SQL Injection, atau script jahat.
- Memonitor: Nggak cuma ngecek sekali doang, WAF juga terus mantau arus lalu lintas data secara real-time, nyari tanda-tanda serangan yang mungkin lolos dari pemeriksaan awal.
- Memblokir: Kalau ketahuan ada yang aneh, WAF bisa langsung blokir request itu sebelum sempat nyentuh server aplikasi kamu. Aman, deh!
Teknik yang dipakai WAF itu macem-macem, contohnya:
- Rule-based filtering: Ada daftar aturan baku yang nge-list mana request yang dianggap “berbahaya”.
- Signature matching: WAF nyocokin pola-pola serangan yang sudah dikenal, mirip kayak antivirus mendeteksi virus.
- Behavioral analysis: Beberapa WAF canggih bahkan bisa belajar dari trafik normal, jadi kalau tiba-tiba ada trafik aneh, langsung waspada.
Oh iya, WAF ini ada yang berbentuk:
- Perangkat keras (hardware),
- Software yang diinstall di server,
Atau layanan cloud yang gampang banget dipakai tinggal klik-klik aja.
Yang keren, beberapa WAF zaman sekarang udah pake AI dan machine learning, jadi bisa otomatis update buat menghadapi jenis-jenis serangan baru yang terus bermunculan.
Intinya, WAF itu kayak penjaga yang nggak pernah ngantuk, siap sedia 24 jam buat ngejaga aplikasi kamu dari serangan jahat.
Tipe WAF
Setelah tahu cara kerjanya, sekarang kita bahas nih, jenis-jenis WAF yang bisa dipilih, tergantung kebutuhan dan budget kamu.
Secara umum, WAF itu dibagi jadi tiga tipe utama:
WAF Berbasis Jaringan (Network-based WAF)
Ini tipe WAF yang bentuknya hardware alias perangkat fisik.
Biasanya dipasang langsung di infrastruktur jaringan kamu. Karena letaknya “deket” sama server, tipe ini punya keunggulan:
- Cepat (minim delay),
- Kuat buat nangani trafik gede.
Tapi ya, sesuai kualitasnya, harganya juga lumayan mahal. Selain itu, kamu perlu siapin biaya tambahan buat perawatan dan space buat alatnya.
WAF Berbasis Host (Host-based WAF)
Kalau tipe ini, diinstal langsung di server atau aplikasi web kamu.
Dia nyatu sama sistem, makanya:
- Lebih fleksibel dan bisa dikustomisasi,
- Cocok kalau kamu butuh perlindungan yang spesifik banget.
Tapi… ada tapinya, bro/sis:
Dia makan resource server (CPU, RAM),
Plus butuh tenaga ekstra buat instalasi dan maintenance.
WAF Berbasis Cloud (Cloud-based WAF)
Ini nih yang sekarang lagi naik daun.
Cloud WAF itu paling praktis: kamu tinggal setting sedikit, biasanya cukup ubah DNS, terus semua trafik ke website kamu otomatis difilter lewat layanan mereka.
Keunggulannya:
- Mudah dipasang (cocok buat yang nggak mau ribet),
- Biaya lebih murah dibanding hardware,
- Selalu update otomatis buat ngelawan serangan-serangan baru.
Cuma, karena sifatnya “dipihak ketiga”, kamu harus pastikan pilih penyedia layanan yang benar-benar terpercaya ya.
Siapa Saja yang Menyediakan WAF?
Kalau kamu udah mutusin mau pakai WAF, pertanyaan berikutnya pasti:
“Terus, dapetinnya di mana?”
Tenang, pilihan banyak banget! Dari yang gratisan buat belajar atau skala kecil, sampai yang berbayar buat perusahaan gede. Yuk, kita intip bareng-bareng:
Yang Gratisan (atau Open Source)
ModSecurity
Ini open source WAF paling terkenal.
Bisa dipasang di Apache, Nginx, dan IIS.
Cocok buat kamu yang mau ngulik sendiri dan nggak masalah repot dikit buat konfigurasi.
NAXSI
Spesialis buat Nginx.
Ringan dan efektif, tapi perlu tangan dingin buat setup rules-nya.
Cloudflare (Free Plan)
Walaupun gratis, Cloudflare udah kasih proteksi basic WAF buat serangan umum kayak SQL Injection dan XSS.
(Kalau mau proteksi lebih kompleks, mesti upgrade ke plan berbayar.)
Yang Berbayar (dan Profesional)
Cloudflare WAF (Pro/Business/Enterprise Plan)
Di versi berbayar, Cloudflare kasih proteksi yang jauh lebih kuat, update terus otomatis, dan ada rules buat ngelindungin dari serangan-serangan baru.
AWS WAF (Amazon Web Services)
Cocok banget buat yang host website di AWS.
Konfigurasinya fleksibel, bayar sesuai penggunaan (pay as you go).
Azure WAF (Microsoft Azure)
Pilihan keren kalau server kamu di platform Azure.
Bisa dikombinasikan dengan layanan Azure lainnya.
Imperva WAF
Ini pemain lama di dunia keamanan aplikasi.
Mereka punya solusi cloud maupun on-premise. Fitur-fitur proteksinya lengkap banget.
F5 Advanced WAF
Premium banget, biasanya dipakai di perusahaan besar.
Fiturnya termasuk bot protection, behavioral analytics, sampai anti-DDoS.
Akamai Kona Site Defender
Fokus ke performa dan skalabilitas. Cocok buat website dengan trafik super tinggi.
Barracuda WAF
Menyediakan pilihan deployment on-premise, virtual appliance, atau cloud.
Lumayan populer di kalangan perusahaan menengah.
Apa Aja yang Ditangkal atau Dijaga Sama WAF?
Kalau tadi kita udah ngobrol panjang soal apa itu WAF, cara kerjanya, sampai siapa aja penyedianya, sekarang saatnya bahas:
Sebenarnya, ancaman macam apa sih yang bisa ditangkal sama WAF?
Yuk, kita lihat bareng-bareng:
1. SQL Injection
Ini salah satu serangan klasik.
Penyerang coba “nyelipin” perintah SQL ke form input website kamu, tujuannya buat ngerusak database atau nyolong data.
WAF bakal ngefilter request mencurigakan ini sebelum sempat nyentuh server.
2. Cross-Site Scripting (XSS)
Di serangan ini, hacker masang script berbahaya di website kamu buat ngeracunin browser pengunjung lain.
Misalnya buat nyolong cookie atau data pribadi.
WAF pintar banget buat deteksi dan blokir script-script aneh kayak gini.
3. File Inclusion Attacks (LFI/RFI)
Penyerang coba “menyusupkan” file berbahaya ke server kamu, baik dari lokal maupun dari jarak jauh.
WAF bakal jaga pintu supaya file-file nggak jelas itu nggak bisa masuk.
4. Cookie Poisoning
Di sini, hacker berusaha ngerusak data di cookie pengguna buat nge-hack sesi login, curi identitas, atau bahkan ambil alih akun.
WAF bakal bantu jagain dan monitoring interaksi cookie dengan ketat.
5. Broken Authentication & Session Hijacking
Kalau sistem login kamu ada celah, bisa-bisa akun user dicuri.
WAF bantu ngecek pola login yang aneh dan bisa blokir percobaan login jahat.
6. Cross-Site Request Forgery (CSRF)
Serangan ini nyuruh browser korban buat ngelakuin aksi tanpa sepengetahuan mereka.
WAF bisa mendeteksi tanda-tanda CSRF dan menolak request yang mencurigakan.
7. Distributed Denial of Service (DDoS)
Banjirin server dengan request sampai tumbang.
WAF, terutama yang modern, punya fitur buat ngurangin atau bahkan menolak trafik yang kelihatan kayak serangan DDoS.
8. Zero-Day Exploits
Ini serangan baru yang kadang belum sempat ditambal (karena belum ketahuan umum).
WAF modern yang pake AI/machine learning kadang bisa bantu mendeteksi pola-pola mencurigakan yang nggak biasa.
Awesome Tools
WAFW00F – The ultimate WAF fingerprinting tool with the largest fingerprint database from @EnableSecurity. https://github.com/enablesecurity/wafw00f
IdentYwaf – A blind WAF detection tool which utlises a unique method of identifying WAFs based upon previously collected fingerprints by @stamparm.
https://github.com/stamparm/identywaf
W3af – Web Application Attack and Audit Framework https://github.com/andresriancho/w3af
BypassWAF – Bypass firewalls by abusing DNS history. This tool will search for old DNS A records and check if the server replies for that domain.
https://github.com/vincentcox/bypass-firewalls-by-DNS-history
CloudFail – is a tactical reconnaissance tool that tries to find the original IP address behind the Cloudflare WAF. https://github.com/m0rtem/CloudFail
GoTestWAF – A tool to test a WAF’s detection logic and bypasses from @wallarm. https://github.com/wallarm/gotestwaf
Lightbulb Framework – A WAF testing suite written in Python. https://github.com/lightbulb-framework/lightbulb-framework
WAFBench – A WAF performance testing suite by Microsoft. https://github.com/microsoft/wafbench
WAF Testing Framework – A WAF testing tool by Imperva. https://www.imperva.com/products/web-application-firewall-waf/
Framework for Testing WAFs (FTW) – A framework by the OWASP CRS team that helps to provide rigorous tests for WAF rules by using the OWASP Core Ruleset V3 as a baseline.
https://github.com/coreruleset/ftw
WAFNinja – A smart tool which fuzzes and can suggest bypasses for a given WAF by @khalilbijjou. https://github.com/khalilbijjou/wafninja
WAFTester – Another tool which can obfuscate payloads to bypass WAFs by @Raz0r. https://github.com/Raz0r/waftester
libinjection-fuzzer – A fuzzer intended for finding libinjection bypasses but can be probably used universally.
https://github.com/migolovanov/libinjection-fuzzer
bypass-firewalls-by-DNS-history – A tool which searches for old DNS records for finding actual site behind the WAF. https://github.com/vincentcox/bypass-firewalls-by-DNS-history
abuse-ssl-bypass-waf – A tool which finds out supported SSL/TLS ciphers and helps in evading WAFs. https://github.com/LandGrey/abuse-ssl-bypass-waf
SQLMap Tamper Scripts – Tamper scripts in SQLMap obfuscate payloads which might evade some WAFs. https://github.com/sqlmapproject/sqlmap
Bypass WAF BurpSuite Plugin – A plugin for Burp Suite which adds some request headers so that the requests seem from the internal network.
https://portswigger.net/bappstore/ae2611da3bbc4687953a1f4ba6a4e04c
WhatWaf – detecting a firewall on a web application https://github.com/Ekultek/WhatWaf