Cloudflare sering dikenal sebagai layanan untuk mempercepat website dan melindungi server dari serangan. Fungsi itu memang penting, tetapi baru sebagian kecil dari kemampuan Cloudflare.
Cloudflare menyediakan berbagai layanan yang bekerja di antara pengguna dan infrastruktur aplikasi. Layanannya mencakup DNS, CDN, caching, SSL/TLS, perlindungan DDoS, Web Application Firewall, bot management, akses jaringan berbasis Zero Trust, serverless computing, object storage, sampai observability.
Tidak semua fitur diperlukan oleh setiap website. Website company profile sederhana memiliki kebutuhan yang berbeda dari toko online, API publik, aplikasi SaaS, atau server internal. Karena itu, penggunaan Cloudflare sebaiknya dimulai dari masalah yang ingin diselesaikan, bukan dari banyaknya fitur yang tersedia.
Apa itu Cloudflare?
Cloudflare adalah jaringan global yang menyediakan layanan DNS, keamanan, performa, dan infrastruktur untuk aplikasi yang terhubung ke internet.
Ketika domain diarahkan ke nameserver Cloudflare dan record DNS-nya diproxy, request pengguna dapat melewati jaringan Cloudflare sebelum diteruskan ke origin server.
Alur sederhananya:
Pengguna
↓
Cloudflare DNS / Edge Network
↓
CDN, Cache, WAF, Rate Limit, TLS
↓
Origin Server
Cloudflare dapat melayani sebagian request langsung dari edge. Request yang tidak tersedia di cache akan diteruskan ke origin server.
Fungsi utama Cloudflare
1. DNS management
Cloudflare menyediakan authoritative DNS untuk domain. DNS menerjemahkan nama domain seperti example.com menjadi alamat IP atau target layanan.
Record yang umum digunakan:
Auntuk alamat IPv4.AAAAuntuk alamat IPv6.CNAMEuntuk alias ke hostname lain.MXuntuk mail server.TXTuntuk verifikasi domain, SPF, DKIM, DMARC, dan konfigurasi layanan.CAAuntuk membatasi certificate authority yang boleh menerbitkan sertifikat.
Cloudflare memiliki dua status utama pada record tertentu:
- DNS only: request langsung menuju target sesuai DNS.
- Proxied: request web melewati jaringan Cloudflare terlebih dahulu.
Tidak semua record boleh diproxy. Record mail seperti MX dan hostname mail biasanya harus tetap DNS only, kecuali memakai layanan khusus yang memang mendukung proxy email.
2. CDN
Content Delivery Network atau CDN menyimpan dan menyajikan konten dari lokasi edge yang lebih dekat dengan pengguna.
CDN cocok untuk:
- Gambar
- CSS
- JavaScript
- Font
- File statis
- Beberapa response HTML yang aman untuk di-cache
CDN dapat mengurangi jarak jaringan dan beban origin server. Namun, CDN bukan jaminan semua website otomatis cepat. Origin yang lambat, query database berat, gambar terlalu besar, atau JavaScript berlebihan tetap perlu diperbaiki.
3. Reverse proxy
Saat record DNS berstatus proxied, Cloudflare bertindak sebagai reverse proxy. Pengguna berkomunikasi dengan IP Cloudflare, bukan langsung dengan IP origin.
Manfaatnya:
- Menyembunyikan IP origin dari publik untuk trafik web.
- Menyediakan lapisan inspeksi keamanan.
- Mengaktifkan cache dan optimasi di edge.
- Memudahkan penerapan aturan trafik.
Perlu diingat, IP origin dapat tetap bocor melalui subdomain lama, record DNS yang tidak diproxy, email server, histori DNS, atau konfigurasi aplikasi. Reverse proxy bukan pengganti hardening origin.
4. SSL/TLS
Cloudflare dapat menyediakan koneksi HTTPS antara browser dan edge Cloudflare. Hubungan antara Cloudflare dan origin juga perlu dikonfigurasi dengan benar.
Mode SSL/TLS yang umum:
Off
Tidak menggunakan HTTPS. Mode ini tidak disarankan untuk website publik.
Flexible
Browser ke Cloudflare menggunakan HTTPS, tetapi Cloudflare ke origin menggunakan HTTP. Mode ini dapat menyebabkan koneksi ke origin tidak terenkripsi dan masalah redirect loop.
Full
Browser ke Cloudflare dan Cloudflare ke origin menggunakan HTTPS. Sertifikat origin tidak harus diterbitkan oleh CA publik, tetapi koneksi tetap perlu dikonfigurasi dengan benar.
Full (strict)
Cloudflare memvalidasi sertifikat origin. Ini biasanya pilihan yang lebih baik untuk production jika origin memiliki sertifikat yang valid dan hostname sesuai.
Untuk website production, gunakan HTTPS end-to-end dan hindari Flexible jika tidak ada alasan khusus.
5. Perlindungan DDoS
Distributed Denial-of-Service atau DDoS adalah serangan yang membanjiri layanan dengan trafik atau request dalam jumlah besar.
Cloudflare dapat menyerap dan memfilter berbagai jenis trafik serangan di edge sebelum sebagian besar request mencapai origin. Perlindungan yang tersedia bergantung pada jenis layanan, konfigurasi, dan paket yang digunakan.
DDoS protection tidak berarti website bebas dari semua masalah. Origin masih dapat kewalahan jika:
- IP origin diketahui dan diserang langsung.
- Firewall origin mengizinkan akses dari mana saja.
- Query mahal tetap lolos sebagai trafik yang terlihat normal.
- Endpoint login atau pencarian tidak memiliki rate limit.
- Infrastruktur database tidak memiliki kapasitas yang cukup.
Fitur keamanan Cloudflare
1. Web Application Firewall
Web Application Firewall atau WAF memeriksa request HTTP dan HTTPS untuk mencari pola yang berpotensi berbahaya.
WAF dapat membantu mendeteksi atau memblokir pola seperti:
- SQL injection
- Cross-site scripting
- Path traversal
- Request yang tidak wajar
- Eksploitasi umum pada framework
- Trafik dengan karakteristik serangan tertentu
WAF bukan pengganti secure coding. Validasi input, parameterized query, manajemen session, pembaruan dependency, dan pengujian aplikasi tetap diperlukan.
Gunakan mode logging atau aturan yang lebih ringan saat pertama kali mengaktifkan rule. Rule yang terlalu agresif dapat memblokir pengguna normal, webhook, API client, atau crawler yang dibutuhkan.
2. Custom WAF rules
Custom rule dapat dibuat berdasarkan atribut request seperti:
- Hostname
- Path
- Method
- Negara atau wilayah
- IP atau ASN
- User agent
- Header
- Cookie
- Skor bot
Contoh kebutuhan:
- Memblokir request ke path admin dari negara tertentu.
- Memberi challenge pada trafik yang mencurigakan.
- Mengizinkan webhook dari sumber tertentu.
- Memblokir method HTTP yang tidak dipakai.
Aturan perlu diuji menggunakan log dan traffic nyata. Jangan memblokir berdasarkan satu sinyal yang mudah berubah.
3. Rate limiting
Rate limiting membatasi jumlah request dalam periode tertentu.
Contoh penggunaan:
- Endpoint login
- Form kontak
- Reset password
- API publik
- Endpoint pencarian
- Pengiriman OTP
- Endpoint checkout
Rate limit yang baik harus mempertimbangkan pengguna normal, NAT, mobile network, crawler, dan client API. Membatasi hanya berdasarkan IP dapat menghukum banyak pengguna yang berbagi satu alamat publik.
4. Bot protection
Tidak semua bot berbahaya. Search engine crawler, monitoring service, integrasi partner, dan bot scraping memiliki karakteristik yang berbeda.
Cloudflare dapat membantu mengidentifikasi dan mengelola bot, tetapi keputusan pemblokiran perlu disesuaikan dengan kebutuhan website. Pastikan crawler SEO atau webhook penting tidak ikut terblokir.
5. Turnstile
Cloudflare Turnstile adalah alternatif CAPTCHA untuk membantu membedakan pengguna manusia dari trafik otomatis pada form.
Turnstile dapat digunakan pada:
- Login
- Registrasi
- Form kontak
- Komentar
- Reset password
- Form promosi
Validasi token tetap harus dilakukan di server. Menampilkan widget tanpa memverifikasi token di backend tidak memberikan perlindungan yang cukup.
6. Access dan Zero Trust
Cloudflare Access dapat digunakan untuk mengamankan aplikasi internal dengan identitas dan kebijakan akses.
Contoh aplikasi yang dapat dilindungi:
- Dashboard admin
- Grafana
- Jenkins
- Panel monitoring
- Staging environment
- Internal wiki
- SSH atau RDP melalui arsitektur yang sesuai
Kebijakan akses dapat dikaitkan dengan identitas, email, grup, perangkat, lokasi, atau faktor autentikasi. Prinsipnya adalah pengguna hanya mendapat akses ke aplikasi yang memang diperlukan.
Fitur performa dan optimasi
1. Caching
Caching menyimpan response agar request berikutnya tidak selalu diteruskan ke origin.
Konten yang biasanya aman untuk cache:
- Gambar
- CSS
- JavaScript
- Font
- File statis dengan nama berversi
Konten yang perlu diperhatikan:
- Halaman akun
- Keranjang belanja
- Dashboard admin
- Response yang berisi data personal
- Halaman yang berbeda untuk setiap pengguna
Kesalahan cache dapat menyebabkan data pengguna tampil kepada pengguna lain. Jangan membuat aturan cache secara luas tanpa memahami header, cookie, dan perilaku aplikasi.
2. Cache Rules
Cache Rules dapat digunakan untuk menentukan kapan URL di-cache, berapa lama TTL-nya, dan kapan cache dilewati.
Contoh pendekatan:
- Cache file statis lebih lama.
- Bypass cache untuk
/admin/*. - Bypass cache jika ada cookie session.
- Cache halaman publik dengan TTL terbatas.
- Purge cache setelah deployment atau perubahan konten.
3. Compression dan minification
Cloudflare dapat membantu mengompresi response dan mengoptimalkan aset tertentu. Namun, ukuran bundle sebaiknya tetap diperbaiki dari sisi aplikasi.
Perbaikan yang sering lebih berdampak:
- Menghapus dependency yang tidak digunakan.
- Membagi JavaScript menjadi chunk yang sesuai.
- Mengoptimalkan gambar.
- Menggunakan format gambar modern.
- Menunda script yang tidak penting.
- Mengatur cache header dengan benar.
4. Redirect Rules
Redirect Rules dapat digunakan untuk:
- Mengarahkan HTTP ke HTTPS.
- Mengubah domain lama ke domain baru.
- Mengarahkan path lama ke path baru.
- Menyatukan variasi hostname.
- Membuat redirect berdasarkan kondisi tertentu.
Untuk redirect permanen, gunakan status yang sesuai dan pastikan tidak membuat loop.
5. Transform Rules
Transform Rules dapat mengubah URL atau header berdasarkan kondisi tertentu. Fitur ini berguna saat aplikasi membutuhkan penyesuaian di edge tanpa mengubah kode origin.
Contoh penggunaan:
- Menambahkan header tertentu.
- Mengubah nama host yang diteruskan.
- Menulis ulang URL.
- Menyembunyikan parameter tertentu dari request.
Aturan transform perlu didokumentasikan karena perilaku request tidak lagi hanya ditentukan oleh aplikasi.
Fitur jaringan dan akses server
1. Cloudflare Tunnel
Cloudflare Tunnel membuat koneksi outbound dari server ke Cloudflare. Dengan pendekatan ini, aplikasi lokal dapat dipublikasikan tanpa membuka port inbound secara langsung.
Tunnel dapat digunakan untuk:
- Development server
- Dashboard internal
- Home lab
- Aplikasi di balik NAT
- Server yang tidak memiliki IP publik langsung
Keuntungannya adalah origin tidak perlu menerima koneksi inbound umum. Tetap gunakan autentikasi aplikasi dan kebijakan akses yang benar.
2. Load Balancing
Cloudflare Load Balancing dapat mendistribusikan request ke beberapa origin dan melakukan health check.
Manfaatnya:
- Failover ketika satu origin tidak sehat.
- Pembagian trafik.
- Pemilihan origin berdasarkan lokasi atau performa.
- Peningkatan ketersediaan aplikasi.
Load balancing tidak menyelesaikan masalah data consistency, session state, atau database tunggal. Aplikasi tetap perlu dirancang untuk berjalan pada lebih dari satu instance.
3. Argo dan routing jaringan
Cloudflare menyediakan fitur routing dan optimasi jaringan tertentu untuk membantu memilih jalur yang lebih baik. Kesesuaian dan biaya perlu diuji berdasarkan lokasi pengguna dan pola trafik.
Fitur developer dan serverless
1. Cloudflare Workers
Workers memungkinkan kode JavaScript, TypeScript, atau bahasa yang didukung berjalan di edge Cloudflare tanpa mengelola server tradisional.
Contoh penggunaan:
- API ringan
- URL shortener
- Authentication gateway
- Transformasi request dan response
- Webhook handler
- Edge rendering
- Proxy terkontrol
- Integrasi ke layanan eksternal
Contoh Worker sederhana:
export default {
async fetch(request) {
const url = new URL(request.url);
if (url.pathname === "/health") {
return new Response(JSON.stringify({ status: "ok" }), {
headers: { "content-type": "application/json" },
});
}
return new Response("Not Found", { status: 404 });
},
};
Workers bukan tempat yang tepat untuk semua beban kerja. Aplikasi yang membutuhkan proses panjang, dependency native besar, koneksi database tradisional, atau state kompleks perlu dirancang dengan batas runtime Workers.
2. D1
D1 adalah database SQL yang ditujukan untuk aplikasi Workers. D1 dapat digunakan untuk aplikasi ringan, metadata, katalog, konfigurasi, dan data yang cocok dengan pola aksesnya.
Sebelum memindahkan aplikasi production, periksa:
- Pola transaksi.
- Batas ukuran dan performa.
- Kebutuhan koneksi.
- Strategi backup.
- Konsistensi data.
- Cara migrasi schema.
3. KV
Workers KV adalah penyimpanan key-value yang cocok untuk data yang sering dibaca dan tidak membutuhkan transaksi kompleks.
Contoh:
- Feature flag
- Konfigurasi publik
- Cache metadata
- Session tertentu dengan desain yang tepat
- Hasil komputasi yang dapat dibuat ulang
KV bukan pengganti database relasional untuk data transaksi.
4. Durable Objects
Durable Objects menyediakan state yang terkoordinasi pada objek tertentu. Fitur ini berguna untuk kebutuhan seperti room, counter, koordinasi realtime, lock, dan state per entitas.
Desainnya berbeda dari database SQL biasa. Pahami model concurrency dan lifecycle sebelum memakainya.
5. R2
R2 adalah object storage yang kompatibel dengan pola API S3. R2 dapat dipakai untuk:
- Upload gambar
- Dokumen
- Backup tertentu
- File statis
- Asset aplikasi
- Data yang tidak cocok disimpan di database
Gunakan bucket private untuk file sensitif. Akses publik atau presigned URL harus dirancang dengan hati-hati.
6. Pages
Cloudflare Pages dapat digunakan untuk deployment website statis dan aplikasi tertentu yang terintegrasi dengan Workers.
Cocok untuk:
- Dokumentasi
- Landing page
- Blog statis
- Frontend hasil build
- Website berbasis framework dengan adapter yang sesuai
Pastikan kebutuhan server-side rendering, image optimization, environment variable, dan fungsi backend sesuai dengan model deployment yang dipilih.
Observability dan analitik
Cloudflare menyediakan log dan analitik untuk membantu melihat:
- Jumlah request
- Status HTTP
- Cache hit dan miss
- Bandwidth
- Negara asal trafik
- Jenis perangkat
- Threat event
- Rate limit event
- Error pada edge
Analitik edge tidak selalu sama dengan analitik aplikasi. Untuk diagnosis lengkap, gabungkan data Cloudflare dengan log web server, application log, database metrics, dan monitoring uptime.
Jika membutuhkan log detail, perhatikan retensi, biaya, privasi, dan cara mengirimnya ke sistem seperti SIEM atau log platform.
Email dan domain
Email Routing
Cloudflare Email Routing dapat membantu meneruskan email pada domain ke alamat tujuan tertentu, sesuai dukungan dan konfigurasi layanan.
Email forwarding bukan pengganti mail server lengkap. Untuk pengiriman email, tetap perhatikan SPF, DKIM, DMARC, reputasi domain, dan provider SMTP.
DNSSEC
DNSSEC membantu memvalidasi bahwa jawaban DNS berasal dari sumber yang benar dan tidak diubah di tengah perjalanan.
Aktivasi DNSSEC harus dilakukan dengan urutan yang benar antara registrar dan authoritative DNS. Kesalahan konfigurasi dapat membuat domain gagal di-resolve.
CAA record
CAA membatasi certificate authority yang boleh menerbitkan sertifikat untuk domain. Record ini dapat menjadi lapisan kontrol tambahan untuk penerbitan sertifikat.
Cara memilih fitur Cloudflare
Untuk website company profile
Fitur awal yang biasanya cukup:
- DNS
- Proxy
- SSL/TLS Full (strict)
- Cache untuk aset statis
- Basic WAF
- HTTPS redirect
- Monitoring uptime
Untuk toko online
Tambahkan perhatian pada:
- Bypass cache untuk akun, cart, checkout, dan admin.
- WAF dan rate limit untuk login.
- Proteksi form dan checkout.
- Origin capacity.
- Purge cache setelah perubahan katalog.
- Monitoring transaksi dan error.
Untuk API
Fokus pada:
- Rate limiting.
- WAF yang tidak merusak payload valid.
- Autentikasi di origin.
- Cache hanya untuk endpoint yang aman.
- Validasi method dan content type.
- Log request dan response secara terukur.
Untuk aplikasi internal
Pertimbangkan:
- Cloudflare Access.
- Cloudflare Tunnel.
- Identity provider.
- Kebijakan per grup atau aplikasi.
- Audit log.
- Segmentasi jaringan origin.
Untuk developer dan startup
Workers, R2, KV, D1, dan Pages dapat membantu mengurangi kebutuhan mengelola server untuk komponen tertentu. Pilih layanan berdasarkan pola beban kerja, bukan sekadar karena terlihat praktis.
Langkah dasar memasang Cloudflare pada website
1. Inventarisasi domain
Catat subdomain yang dipakai untuk website, API, email, staging, monitoring, dan layanan lain.
2. Salin record DNS
Sebelum mengganti nameserver, pastikan record penting sudah tersedia. Periksa A, AAAA, CNAME, MX, TXT, dan record verifikasi lainnya.
3. Ganti nameserver
Nameserver Cloudflare perlu dipasang pada registrar domain. Propagasi bergantung pada resolver dan TTL, sehingga perubahan tidak selalu terlihat serentak.
4. Atur SSL/TLS
Pasang sertifikat valid di origin, lalu gunakan mode Full (strict) jika sudah siap.
5. Batasi akses origin
Idealnya, firewall origin mengizinkan trafik web dari IP Cloudflare yang relevan dan menutup akses publik langsung. Sediakan jalur administratif terpisah melalui VPN atau akses yang diamankan.
6. Aktifkan fitur bertahap
Mulai dari HTTPS, cache aset statis, WAF dasar, dan monitoring. Setelah memahami trafik, tambahkan rate limit, custom rule, atau Access.
7. Uji semua jalur penting
Uji:
- Halaman publik.
- Login.
- Form.
- Upload.
- Checkout.
- API.
- Webhook.
- Email.
- Admin.
- Akses langsung ke origin.
8. Dokumentasikan perubahan
Simpan daftar DNS, rule, pengecualian WAF, mode SSL, tunnel, token, dan prosedur rollback. Jangan menyimpan token atau password di repository publik.
Kesalahan yang perlu dihindari
Mengaktifkan proxy tanpa memeriksa DNS
Subdomain email, layanan non-HTTP, dan endpoint khusus dapat terganggu jika diproxy secara keliru.
Menggunakan Flexible tanpa memahami dampaknya
Origin tetap menerima HTTP. Selain risiko keamanan, konfigurasi ini dapat menimbulkan redirect loop.
Men-cache semua halaman
Cache yang salah dapat menampilkan data personal atau data lama. Bedakan konten publik dan konten per pengguna.
Mengandalkan WAF untuk memperbaiki aplikasi
WAF membantu menahan pola serangan, tetapi bug aplikasi tetap perlu diperbaiki di kode.
Membuka IP origin
Jika IP origin dapat diakses langsung, penyerang dapat melewati sebagian perlindungan edge. Gunakan firewall dan rotasi IP jika terjadi kebocoran.
Membuat rule tanpa mode observasi
Rule yang tidak diuji dapat memblokir pelanggan, admin, partner, atau crawler penting.
Menganggap layanan gratis atau murah tidak memiliki batas
Setiap layanan memiliki batas, kebijakan penggunaan, kuota, dan perilaku yang perlu dipahami. Periksa dokumentasi dan paket yang digunakan sebelum mendesain sistem production.
Penutup
Cloudflare dapat berfungsi sebagai DNS provider, CDN, reverse proxy, lapisan keamanan, gateway akses, platform developer, dan object storage. Tidak semua website membutuhkan seluruh fitur tersebut.
Untuk mulai, gunakan pendekatan sederhana:
- Pastikan DNS benar.
- Gunakan HTTPS end-to-end.
- Cache aset statis.
- Aktifkan perlindungan dasar.
- Lindungi endpoint sensitif dengan rate limit.
- Amankan origin server.
- Pantau log dan uji perubahan.
Cloudflare akan paling berguna ketika ditempatkan sebagai bagian dari arsitektur yang dipahami. Ia bukan pengganti server hardening, secure coding, backup, monitoring aplikasi, atau rencana pemulihan. Gunakan fitur yang sesuai dengan risiko dan kebutuhan website kamu.



