Seorang pengembang SaaS menemukan bahwa mengaktifkan Cloudflare Bot Fight Mode untuk setiap domain di akunnya melumpuhkan lalu lintas API selama sebulan penuh, membuat pelanggan berbayar tidak dapat menggunakan fitur utama produknya.

Masalah ini muncul ketika pengembang tersebut menyadari adanya pendataran mendadak pada metrik penggunaan. Pendaftaran baru terus berdatangan, tetapi sesi aktif berhenti tumbuh. Setelah berminggu-minggu menulis ulang kode dan melakukan debugging, ternyata satu tombol keamanan menjadi penyebabnya: Cloudflare Bot Fight Mode melabeli endpoint AWS Lambda milik SaaS tersebut sebagai bot berbahaya dan memblokirnya.

Bagaimana satu pengaturan merusak seluruh layanan

Stack pengembang tersebut mengandalkan panggilan server-ke-server. Sebuah fungsi Lambda internal secara rutin mengirimkan data kembali ke domain publik SaaS tersebut, sebuah pola yang umum dalam arsitektur micro-service modern. Bot Fight Mode menantang atau memblokir permintaan yang terlihat seperti scraper otomatis, guna melindungi situs berbasis konten dari pengambilan data (data harvesting).

Ketika mode tersebut diaktifkan di semua zona, Cloudflare memperlakukan permintaan keluar (outbound request) Lambda sebagai klien otomatis lainnya. Permintaan tersebut tidak pernah mencapai aplikasi, dan karena pemblokiran terjadi di edge, alat pemantauan SaaS tidak melihat adanya kesalahan – lalu lintas tersebut hilang begitu saja. Penggunaan CPU pengembang pada Cloudflare Workers melonjak, membuatnya curiga terhadap scraper eksternal alih-alih backend miliknya sendiri.

Baru setelah memeriksa log Cloudflare, ia melihat entri pemblokiran "Bot Fight Mode" yang cocok dengan rentang IP Lambda tersebut. Ia menonaktifkan fitur tersebut untuk zona yang terdampak, dan lalu lintas API kembali berjalan, mengembalikan metrik penggunaan ke kondisi normal.

Mengapa kesalahan ini penting bagi operator SaaS

  • Produk yang berpusat pada API membutuhkan saluran server-ke-server yang terbuka. Bot Fight Mode berasumsi bahwa lalu lintas utama adalah permintaan browser manusia untuk HTML, gambar, atau aset statis. Platform SaaS yang mengekspos API, webhook, atau callback internal dapat mengalami pembatasan (throttling) atau pemblokiran tanpa kode kesalahan yang terlihat mencapai lapisan aplikasi.
  • Pengaturan keamanan global jarang cocok untuk setiap beban kerja. Menerapkan satu konfigurasi Cloudflare ke semua domain memperlakukan setiap situs seolah-olah memiliki model ancaman yang sama. Situs konten, forum, dan backend SaaS memiliki persyaratan keamanan yang sangat berbeda.
  • Kegagalan senyap menggerus pendapatan. Sistem peringatan pengembang tidak berbunyi karena permintaan yang diblokir tidak pernah mencapai aplikasi. Hanya penurunan metrik keterlibatan pengguna yang mengisyaratkan adanya masalah. Tanpa peninjauan log tingkat edge yang proaktif, masalah serupa dapat berlangsung tanpa disadari.

Apa yang dapat dilakukan pengembang untuk menghindari nasib yang sama

  1. Audit profil lalu lintas setiap zona. Sebelum mengaktifkan Bot Fight Mode, buat daftar jenis permintaan yang diharapkan domain Anda: browser manusia, panggilan API, callback webhook, atau panggilan layanan internal. Jika ada yang penting untuk fungsionalitas inti, perlakukan zona tersebut sebagai "API-first" dan jaga agar pengaturan mitigasi bot tetap minimal.
  2. Uji perubahan di lingkungan staging. Cloudflare memungkinkan Anda menerapkan pengaturan ke satu subdomain atau zona staging. Verifikasi bahwa otomatisasi yang sah masih berfungsi sebelum menerapkan perubahan tersebut secara global.
  3. Pantau log tingkat edge sebagai bagian dari stack observabilitas Anda. Alirkan log firewall dan mitigasi bot Cloudflare ke SIEM, Loki, atau layanan agregasi apa pun. Korelasikan lonjakan permintaan yang diblokir dengan penurunan metrik aplikasi untuk mendeteksi kegagalan senyap lebih dini.
  4. Buat pengaturan keamanan dapat dibatalkan (reversible). Miliki rencana rollback yang terdokumentasi. Jika aturan baru menyebabkan perilaku yang tidak terduga, nonaktifkan terlebih dahulu dan konfirmasikan perubahan tersebut sebelum menginvestasikan waktu dalam solusi kode (code workaround).
  5. Ajukan pertanyaan yang tepat. Alih-alih bertanya "bagaimana cara menghentikan scraper?", tanyalah "apakah alat ini menyelesaikan masalah spesifik yang saya hadapi?". Fitur keamanan yang memblokir scraper mungkin bukan jawaban yang tepat untuk SaaS yang membutuhkan akses API terbuka.

Perspektif yang lebih luas

Bot Fight Mode tetap berharga bagi situs yang perlu melindungi konten statis dari crawler yang agresif. Kekurangannya adalah ketidakmampuan untuk membedakan antara scraper yang berbahaya dan klien otomatis sah yang mengikuti pola HTTP yang sama.

Kesimpulan

Saat Anda mengelola banyak domain di bawah satu akun Cloudflare, perlakukan masing-masing sebagai zona keamanan yang berbeda. Aktifkan Bot Fight Mode hanya jika lalu lintas murni digerakkan oleh manusia; untuk beban kerja SaaS yang berat API, biarkan pengaturan tetap mati atau sesuaikan dengan aturan firewall khusus. Satu klik dapat membungkam lalu lintas yang sah seefektif ia menghentikan scraper.