Lewati ke isi

Keamanan/Cyber Security

Aturan WAF Cloudflare Gratis untuk Website Kecil

Paket Free Cloudflare memberi 5 custom rules, 1 rate limiting rule, dan Free Managed Ruleset. Ini contoh aturan untuk wp-login, xmlrpc, negara, dan ASN.

Terbit 6 menit baca

Jawaban singkat

Per 4 November 2026, paket Free Cloudflare memberi 5 custom rules tanpa regex, 1 rate limiting rule per IP dengan periode 10 detik, dan Free Managed Ruleset yang aktif bawaan. Pakai untuk melindungi wp-login, menutup xmlrpc, menantang negara atau ASN, dan memperlambat brute force.

Daftar isi
  1. Apa saja yang didapat di paket Free?
  2. Aturan 1: tutup xmlrpc.php
  3. Aturan 2: lindungi wp-login dan area admin
  4. Aturan 3: tantang negara yang tidak relevan
  5. Aturan 4: tangani ASN yang bermasalah
  6. Aturan 5: sisakan satu slot
  7. Bagaimana memakai satu rate limiting rule?
  8. Setelah aturan aktif, apa yang dipantau?
  9. Pertanyaan yang sering diajukan

Lima custom rules dan satu rate limiting rule di paket Free Cloudflare bisa menahan banyak serangan otomatis yang biasa mengincar website kecil, asalkan dipakai untuk hal yang tepat.

Masalahnya, jatah aturan di paket gratis terbatas, dan banyak pemilik website menghabiskannya untuk aturan yang tumpang tindih, lalu tidak punya slot tersisa ketika benar-benar butuh. Di sisi lain, satu aturan yang terlalu luas bisa memblokir pelanggan sendiri atau aplikasi mitra. Panduan ini menyusun prioritasnya berdasarkan dokumentasi resmi Cloudflare per 4 November 2026.

Semua aturan di sini hanya bekerja bila DNS domain di-proxy lewat Cloudflare (ikon awan oranye). Kalau belum paham posisi WAF di antara lapisan keamanan lain, baca dulu apa itu WAF.

Apa saja yang didapat di paket Free?

FiturBatas di paket FreeCatatan
Custom rules5 aturanSemua aksi kecuali Log, tanpa regex
Rate limiting rules1 aturanHitung per IP, periode 10 detik, mitigasi 10 detik
Managed rulesCloudflare Free Managed RulesetAktif bawaan di paket Free
IP Access rulesTersediaBisa per IP dan ASN; blokir per negara khusus Enterprise
Bot Fight ModeTersediaTidak bisa dikecualikan lewat custom rules

Free Managed Ruleset adalah subset dari Cloudflare Managed Ruleset. Menurut Cloudflare, ruleset ini melindungi dari celah berdampak tinggi yang banyak dieksploitasi, aman dipasang di kebanyakan aplikasi, dan sudah terpasang bawaan di paket Free. Kamu tidak perlu menulis apa-apa untuk ini. Cukup pastikan statusnya aktif di menu Security.

Perhatikan juga dua batasan custom rules di paket Free: tidak ada regex, dan aksi Log tidak tersedia. Jadi tulis ekspresi memakai operator seperti eq, in, dan contains.

Aturan 1: tutup xmlrpc.php

File xmlrpc.php di WordPress sering dipakai untuk brute force karena satu request bisa memuat banyak percobaan login. Kalau kamu tidak memakai aplikasi mobile WordPress, Jetpack, atau layanan yang butuh XML-RPC, blokir saja:

(http.request.uri.path eq "/xmlrpc.php")

Aksi: Block. Bila ternyata ada plugin yang butuh, ganti dengan pengecualian IP layanan tersebut.

Aturan 2: lindungi wp-login dan area admin

Tantang semua akses ke halaman login dan admin, kecuali dari IP kantor:

(http.request.uri.path eq "/wp-login.php" or
 (http.request.uri.path contains "/wp-admin/" and
  not http.request.uri.path contains "/wp-admin/admin-ajax.php"))
 and not ip.src in {203.0.113.10}

Aksi: Managed Challenge. Pengecualian admin-ajax.php penting karena banyak tema dan plugin memanggilnya dari halaman publik. Ganti 203.0.113.10 dengan IP statis kantormu. Kalau tim bekerja dari banyak lokasi tanpa IP tetap, hapus bagian IP dan biarkan semua ditantang.

Langkah ini melengkapi dasar-dasar di keamanan WordPress dasar.

Aturan 3: tantang negara yang tidak relevan

Untuk toko yang hanya melayani Indonesia, trafik dari negara lain bukan berarti jahat, tapi bisa diberi tantangan. Ekspresi berikut diadaptasi dari contoh resmi Cloudflare yang menantang daftar negara sambil mengecualikan bot baik:

(not ip.src.country in {"ID"} and not cf.client.bot)

Aksi: Managed Challenge, bukan Block. Pengunjung asli dari luar negeri, termasuk pelanggan yang sedang bepergian, masih bisa lewat. cf.client.bot (Known Bots di editor aturan) menandai bot baik yang dikenal Cloudflare, seperti Googlebot dan Bingbot, sehingga crawler mesin pencari tidak ikut ditantang.

Kalau websitemu punya pembeli internasional, lewati aturan ini atau batasi hanya ke halaman checkout dan login.

Aturan 4: tangani ASN yang bermasalah

Kadang log menunjukkan serangan datang dari satu jaringan penyedia tertentu. Custom rules bisa mencocokkan nomor ASN:

(ip.src.asnum in {64496 64511})

Nomor di atas adalah ASN contoh untuk dokumentasi; ganti dengan ASN dari log Security Events milikmu. Gunakan Managed Challenge dulu, karena satu ASN bisa berisi pengguna sah, misalnya pelanggan yang memakai layanan VPN atau server mitra.

Aturan 5: sisakan satu slot

Jangan habiskan kelima aturan. Satu slot kosong berguna saat ada serangan baru, misalnya ke endpoint form tertentu, atau untuk memblokir sementara User-Agent yang membanjiri server.

Bagaimana memakai satu rate limiting rule?

Di paket Free, menurut tabel ketersediaan Cloudflare, rate limiting rule hanya menghitung per IP, dengan periode hitung 10 detik dan masa mitigasi 10 detik, dan ekspresinya hanya bisa memakai field Path dan Verified Bot. Batasan ini cocok untuk satu tujuan: halaman login.

Contoh: bila path sama dengan /wp-login.php dan satu IP mengirim lebih dari 5 request dalam 10 detik, terapkan aksi yang tersedia di dasbor selama 10 detik. Karena masa mitigasinya pendek, aturan ini memperlambat brute force, bukan menghentikannya selamanya. Untuk batas yang lebih fleksibel di sisi server, lihat rate limiting di Nginx.

Setelah aturan aktif, apa yang dipantau?

Buka Security Events di dasbor setiap beberapa hari pada minggu pertama. Di sana terlihat aturan mana yang memicu tindakan, dari IP dan negara mana, ke path apa. Pola yang perlu diwaspadai:

  • Banyak tantangan ke path publik yang wajar: aturanmu mungkin terlalu luas.
  • Percobaan login masih ramai: periksa apakah pelaku pindah ke path lain, misalnya URL login kustom dari plugin keamanan. Query string seperti ?action=lostpassword tidak memengaruhi kondisi eq, karena field path tidak memuat query string.
  • Keluhan pelanggan yang tidak bisa checkout: cek apakah aturan negara atau ASN ikut mengenai mereka.

Aturan WAF tidak menggantikan pembaruan plugin dan tema. Ia mengurangi kebisingan dan menahan serangan otomatis, sementara celah di aplikasi tetap harus ditambal.

Pertanyaan yang sering diajukan

Apakah Free Managed Ruleset perlu diaktifkan manual?

Menurut dokumentasi Cloudflare, Free Managed Ruleset sudah terpasang bawaan di paket Free. Cukup cek statusnya di menu Security dan jangan dimatikan.

Kenapa tidak langsung Block untuk negara lain?

Block menolak tanpa kesempatan, termasuk pelanggan asli yang sedang di luar negeri. Managed Challenge masih memberi jalan bagi manusia sambil menahan sebagian besar bot.

Apakah aturan ini membuat website hilang dari Google?

Tidak, selama aturan negara dan ASN memakai pengecualian not cf.client.bot dan tidak memblokir path publik. Tetap pantau laporan perayapan di Google Search Console setelah aturan baru aktif.

Sumber & referensi

Baca juga