Lewati ke isi

Keamanan & CVE

Apa Itu WAF dan Kapan Website Bisnis Membutuhkannya?

WAF menyaring request berbahaya seperti SQL injection dan XSS sebelum sampai ke aplikasi. Pahami cara kerjanya, jenisnya, dan kapan website butuh.

Terbit 6 menit baca

Jawaban singkat

WAF (Web Application Firewall) memeriksa setiap request HTTP ke website dan memblokir pola serangan seperti SQL injection, XSS, dan bot login. Website butuh WAF bila ada login, transaksi, atau data pelanggan, tapi WAF tidak menggantikan update aplikasi.

Daftar isi
  1. Cara kerja WAF dan posisinya di antara lapisan keamanan
  2. Model negatif dan model positif
  3. Serangan yang bisa ditahan
  4. WAF, firewall jaringan, dan anti-DDoS
  5. Jenis WAF dan batasannya
  6. WAF berbasis cloud atau edge
  7. WAF di server (host-based)
  8. WAF di level aplikasi
  9. Hal yang tidak bisa dilakukan WAF
  10. Kapan website butuh WAF, dan jenis mana yang dipilih?
  11. Pertanyaan yang sering diajukan

WAF (Web Application Firewall) adalah penyaring di depan website yang memeriksa isi setiap request HTTP sebelum sampai ke aplikasi. Request yang cocok dengan pola serangan, misalnya upaya SQL injection atau skrip berbahaya di kolom komentar, diblokir. Request wajar diteruskan seperti biasa.

Yang dipertaruhkan bila salah memahami WAF ada dua arah. Mengira firewall biasa sudah cukup membuat halaman login dan formulir terbuka bagi serangan yang lewat port 80 dan 443 dengan mulus. Sebaliknya, mengira WAF adalah tameng ajaib membuat orang berhenti memperbarui CMS dan plugin. Firewall biasa menjaga pintu berdasarkan alamat IP dan port, sedangkan WAF membaca isi surat yang masuk lewat pintu itu.

Cara kerja WAF dan posisinya di antara lapisan keamanan

Setiap kali pengunjung membuka halaman, mengisi formulir, atau login, browser mengirim request berisi alamat, parameter, header, dan kadang isi formulir. WAF membongkar request itu lalu mencocokkannya dengan sekumpulan aturan (rule).

Model negatif dan model positif

Pada model negatif (blocklist), WAF memblokir request yang cocok dengan pola serangan yang dikenal. Contohnya rule open-source OWASP Core Rule Set yang dipakai bersama ModSecurity. Cara ini mudah dipakai untuk banyak jenis website.

Pada model positif (allowlist), WAF hanya mengizinkan request yang sesuai format yang diharapkan, misalnya kolom nomor HP hanya boleh berisi angka. Lebih ketat, tapi perlu disesuaikan dengan aplikasimu.

Banyak WAF juga punya rate limit (membatasi jumlah request per IP dalam waktu tertentu), deteksi bot, dan aturan khusus per alamat, misalnya halaman login diperketat.

Serangan yang bisa ditahan

Acuan risiko keamanan aplikasi web yang paling sering dipakai adalah OWASP Top 101. WAF membantu menahan sebagian besar pola serangan yang masuk lewat request: SQL injection (perintah database disisipkan lewat kolom pencarian atau parameter URL), cross-site scripting atau XSS (skrip disisipkan agar berjalan di browser pengunjung lain), serta path traversal dan inklusi file yang mencoba membaca file sistem seperti konfigurasi server.

WAF juga berguna melawan brute force dan credential stuffing, yaitu ribuan percobaan login dengan daftar password bocor. Bot pemindai yang mencari plugin rentan atau file backup tertinggal ikut tersaring, begitu pula HTTP flood ringan di layer 7, misalnya banjir request ke halaman berat seperti pencarian.

Untuk DDoS berskala besar di level jaringan, yang dibutuhkan adalah penyaringan di jaringan edge. Bedanya dibahas di anti-DDoS untuk VPS.

WAF, firewall jaringan, dan anti-DDoS

Ketiganya sering disebut bersamaan, padahal tugasnya berbeda dan saling melengkapi.

Firewall jaringanAnti-DDoS jaringanWAF
Yang diperiksaIP, port, protokolVolume dan pola trafikIsi request HTTP/HTTPS
LapisanJaringan (layer 3 dan 4)Jaringan (layer 3 dan 4)Aplikasi (layer 7)
Contoh yang ditahanAkses SSH dari IP asingBanjir paket UDP atau SYNSQL injection, XSS, bot login
Paham isi formulirTidakTidakYa
Letak umumServer atau routerJaringan penyediaDi depan aplikasi atau di server web

Jenis WAF dan batasannya

WAF berbasis cloud atau edge

WAF berjalan di jaringan penyedia, dan trafik website diarahkan ke sana lewat DNS atau proxy. Serangan sudah tersaring sebelum menyentuh server. Yang perlu dijaga: server asli (origin) sebaiknya hanya menerima trafik dari WAF, karena kalau IP origin masih bisa diakses langsung, penyerang bisa melewati WAF.

WAF di server (host-based)

WAF dipasang sebagai modul di web server, misalnya ModSecurity di Apache atau Nginx, atau sebagai bagian dari software keamanan server. Kendalinya penuh, tapi ikut memakai CPU dan RAM server, dan kamu yang merawat rule-nya.

WAF di level aplikasi

Beberapa CMS punya plugin keamanan dengan fitur firewall, misalnya untuk WordPress. Praktis untuk satu website, tapi request tetap sampai ke aplikasi sebelum diperiksa. Dasar pengamanan lainnya ada di dasar keamanan WordPress.

Hal yang tidak bisa dilakukan WAF

WAF tidak menggantikan update. Celah di logika aplikasi, misalnya pengguna bisa melihat pesanan orang lain dengan mengganti nomor di URL, sering lolos karena request-nya tampak wajar. Password lemah juga tetap berbahaya: akun admin dengan password bocor bisa dipakai login dengan cara yang terlihat normal.

WAF pun perlu dirawat. Rule harus diperbarui mengikuti serangan baru, dan log perlu dibaca agar kamu tahu apa yang diblokir.

Kapan website butuh WAF, dan jenis mana yang dipilih?

Website profil statis tanpa formulir risikonya kecil. WAF mulai penting bila ada halaman login, area member, atau panel admin yang bisa diakses dari internet, bila website memproses transaksi atau pembayaran, atau bila menyimpan data pribadi pelanggan seperti nama, alamat, dan nomor HP.

Tanda lain: kamu memakai CMS dengan banyak plugin yang celahnya rutin diumumkan, atau log server menunjukkan banyak request aneh, misalnya ke /wp-login.php atau /.env, dari berbagai IP. WAF juga menolong saat kamu butuh waktu menambal celah yang sudah diketahui, karena ia bisa memasang virtual patch sementara sampai aplikasinya diperbarui.

Pilih WAF cloud atau edge bila kamu ingin serangan dibuang sebelum menyentuh server dan beban server berkurang, asalkan akses langsung ke IP origin bisa dikunci. Pilih WAF host-based bila kamu butuh kendali penuh atas rule dan punya orang yang sanggup merawatnya, dengan konsekuensi CPU dan RAM server ikut terpakai. Plugin di level aplikasi cukup untuk satu website kecil yang ingin praktis, dengan catatan request tetap sampai ke aplikasi sebelum diperiksa.

Satu pertimbangan lagi: memasang WAF itu mudah, tapi merawat rule, membaca log, dan menyesuaikan pengecualian setiap minggu yang menyita waktu. Bagi bisnis tanpa tim keamanan, WAF dengan rule yang dikelola pihak lain lebih masuk akal.

Paket Armor Shield dari NivelArmor mencakup WAF dan anti-DDoS dengan rule terkelola, pemantauan SOC 24/7 oleh analis, hardening server, dan penanganan insiden. Paket Armor Scan bisa jadi langkah awal untuk menemukan celah yang perlu ditambal lebih dulu. Rincian paket dan harganya ada di panduan NivelArmor, dan perbedaan scan, pentest, dan SOC dijelaskan di artikel SOC dan pentest.

Pertanyaan yang sering diajukan

Apakah WAF sama dengan firewall biasa?

Tidak. Firewall biasa memeriksa IP dan port, sedangkan WAF memeriksa isi request HTTP seperti parameter URL dan isi formulir untuk mencari pola serangan.

Apakah WAF memperlambat website?

Setiap request memang diperiksa, sehingga ada tambahan waktu proses. Pada WAF yang dikonfigurasi dengan baik, tambahan ini biasanya kecil dibanding manfaatnya. WAF berbasis cloud juga mengurangi beban server karena request jahat sudah dibuang di depan.

Kalau sudah pakai WAF, apakah plugin dan CMS tidak perlu diupdate?

Tetap perlu. WAF menahan pola serangan yang dikenal, tapi celah di aplikasi baru benar-benar tertutup setelah diperbarui.

Apakah website kecil perlu WAF?

Website statis tanpa login atau formulir risikonya rendah. Begitu ada login, transaksi, atau data pelanggan, WAF layak dipertimbangkan.

Sumber & referensi

  1. 1

    OWASP Top 10 adalah dokumen acuan risiko keamanan aplikasi web dari OWASP Foundation (owasp.org).

Baca juga