2 poin oleh GN⁺ 2025-10-19 | 1 komentar | Bagikan ke WhatsApp
  • Di infrastruktur AWS, muncul masalah permintaan web dalam jumlah besar yang tidak terduga
  • Dilaporkan lonjakan trafik yang sangat tajam dari 200 juta menjadi 2 miliar permintaan per bulan
  • Hasil analisis log menunjukkan adanya permintaan berulang dari User-Agent tertentu
  • Sudah menghubungi tim dukungan AWS, tetapi belum mendapat solusi yang jelas
  • Muncul kebutuhan untuk meninjau berbagai metode pemblokiran seperti aturan firewall, pemblokiran User-Agent, dan lain-lain

Pengenalan masalah

  • Seorang pengguna AWS mengajukan pertanyaan tentang fenomena 2B (2 miliar) permintaan yang terjadi di server web selama satu bulan
  • Permintaan ini berasal dari bot yang menggunakan User-Agent tertentu, dan merupakan trafik tidak normal yang tidak sesuai dengan pola penggunaan wajar
  • Kenaikan trafik yang mendadak berisiko menyebabkan kenaikan biaya dan beban sistem

Analisis penyebab

  • Sebagian besar dari permintaan dalam jumlah besar itu masuk dari rentang IP AWS yang mencurigakan
  • Melalui catatan akses, diketahui bahwa penyebabnya adalah bot atau skrip tertentu
  • Terdapat pola yang sama pada User-Agent sehingga memungkinkan untuk dilakukan pemfilteran

Respons yang sudah dilakukan dan keterbatasannya

  • Sudah menghubungi tim dukungan AWS, tetapi belum menerima solusi yang menentukan
  • Permintaan dalam jumlah sebesar ini berpotensi tinggi memicu gangguan layanan dan peningkatan beban biaya

Arah solusi dan hal yang perlu dipertimbangkan

  • Perlu meninjau berbagai kebijakan pemblokiran seperti menambahkan aturan firewall, memblokir trafik berdasarkan User-Agent, serta menerapkan blacklist IP
  • Dalam jangka panjang, muncul kebutuhan untuk memperkuat sistem pemantauan trafik serta merancang mekanisme deteksi akses tidak normal dan pemblokiran otomatis

1 komentar

 
GN⁺ 2025-10-19
Komentar Hacker News
  • Pernah mencoba redirect 30x, misalnya mengarahkan lewat respons 301 ke file-file sangat besar yang di-host perusahaan-perusahaan yang tidak saya sukai; kalau instance AWS perusahaan itu dibuat mengunduh 70 ribu ISO Windows secara bersamaan, mereka pasti akan sadar. Selain itu, meski tidak mudah dilakukan dengan Cloudflare, strategi yang disebut "tar pit" juga bisa dipakai, yaitu setelah menerima permintaan, respons dikirim satu karakter demi satu dengan jeda 30 detik per karakter. Dengan header/respons 10KB per permintaan dan 700 permintaan per detik, server akan terlihat seolah-olah sangat lambat
    • Jika tidak suka menunjuk perusahaan tertentu sebagai target redirect 301, disarankan memakai Amazon saja
    • Strategi menerima permintaan lalu mengirimkannya sangat lambat, satu karakter demi satu, terasa seperti kebalikan dari serangan DDoS Slow Loris. Penjelasan tentang serangan Slow Loris bisa dilihat di Cloudflare; jadi bukan penyerangnya yang memakai koneksi lambat, melainkan pihak bertahan yang membalas dengan koneksi lambat
    • Sebagai alternatif, bisa juga dipikirkan untuk me-redirect 301 ke situs resmi pemerintah .sg agar aparat penegak hukum setempat yang menanganinya
    • Menunjukkan bahwa trafik inbound AWS gratis, jadi meskipun pemilik instance menerima data dalam jumlah besar, AWS tidak mengenakan biaya tambahan untuk itu
  • Salah satu cara adalah membuat bot yang jelas-jelas jahat menjadi mahal dari sisi biaya operasional. Ini bisa efektif terutama bila memakai sesuatu seperti gzip bomb dan bot-nya rentan, tetapi bahkan hanya dengan menunggu sekitar 10 detik sebelum mengirim respons pun Anda bisa menghabiskan sekitar 7.000 port di sisi bot; sebagian besar proses Linux tidak sanggup menahannya lalu mati. Ini mudah diimplementasikan dengan nginx + mod-http-echo
    • Sebenarnya sudah ada orang yang menerapkan strategi seperti ini; itu terlihat dari daftar user agent di kode open source-nya, dan implementasinya sendiri juga sangat sederhana. Sumber terkait bisa dilihat di sini
    • Pelanggan AWS harus membayar trafik outbound, tetapi saya juga penasaran apakah ada cara untuk justru membuat trafik berukuran besar dikirim dari sisi AWS atau Cloudflare ke arah kita
    • Pernah mengalami situasi serupa: scraping jahat berulang kali mencoba mengambil informasi harga di situs kami, dan karena katalog berisi jutaan produk, menghitung harga secara dinamis memakan sumber daya sangat besar. Ledakan permintaan mendadak sempat hampir melumpuhkan layanan karena infrastruktur tidak sanggup menanganinya. Sebagai strategi pertahanan, kami mencoba menandai trafik spam agar bisa di-cache tanpa memengaruhi pelanggan nyata, dan juga sempat membahas menambahkan error acak pada harga supaya datanya sendiri jadi tidak berguna. Pada akhirnya kami menetap bekerja sama dengan Cloudflare untuk memblokir permintaan jahat dengan cepat, tetapi biaya waktu dan uangnya besar. Penyerangnya diduga layanan outsourcing milik kompetitor; padahal API resmi sebenarnya bisa saja disediakan, jadi sangat disayangkan mereka tidak menghubungi langsung. Dulu ada suasana yang menganggap "kalau situs tidak kuat menahan trafik ya salah situsnya", tetapi sekarang rasanya pandangan itu sudah banyak berubah
    • Bertanya apakah dengan cara itu server saya juga akan menghabiskan 7.000 port
    • Menanyakan apakah memakai teknik itu berarti di server saya juga akan muncul jumlah koneksi yang sama banyaknya
  • Saya penulis utama Anubis. Saya pernah mengalami bahwa jika Cloudflare diatur untuk mengembalikan respons HTTP 200, bot akan berhenti menghajar setelah menerima 200
    • Sebagai catatan, sepertinya sekarang situs utamanya sedang bermasalah
    • Saya juga pernah mencoba cara memutus paksa koneksi begitu terdeteksi di application layer, dan tampaknya ini lumayan efektif untuk bot-bot primitif saat pengaturan di sisi Cloudflare sulit dilakukan
  • Dulu saya pernah mengalami situasi mirip di blog pribadi. Mungkin 7–8 tahun lalu trafik tiba-tiba melonjak dan saya kira postingannya viral, tetapi polanya terlalu mekanis sehingga terasa aneh. Setelah dicari penyebabnya, ternyata ada bot/crawler seseorang yang sedang menguji scraping ke situs saya. Setelah beberapa bulan berkali-kali meminta dengan sopan dan tidak digubris, saya akhirnya me-redirect bot tersebut ke situs porno acak, dan crawling-nya pun berhenti
    • Cara ini secara praktis memang yang terbaik: redirect ke tempat yang tidak ingin mereka lihat di log crawler, atau kirim balik ke dirinya sendiri, penyedia layanannya, atau konten yang tidak diinginkan
  • Menyisipkan EICAR test string di body respons 200 untuk mencemari data juga terdengar seperti bentuk balas dendam yang cukup memuaskan, lihat penjelasan tentang file uji EICAR
    • Sebagai kebalikan konsep dari serangan SSRF, terpikir juga akan lucu jika bot di-redirect ke cloud metadata API agar terpancing memanggil endpoint seperti <shutdown>. EICAR test string juga bisa dimasukkan dalam respons redirect supaya sistem deteksi keamanan otomatis ikut terpicu
  • Jika memang sama sekali tidak ada alasan menerima trafik sah dari AWS Singapore, mem-blackhole seluruh rentang alamat itu juga bisa menjadi alternatif
    • Ada cara untuk menjatuhkan paket tersebut langsung lewat WAF; fitur "block" di Cloudflare WAF memang untuk kegunaan seperti ini
    • Saya juga pernah melakukan ini: bot Byte Spider milik Byte Dance mengambil ratusan juta gambar, dan akhirnya saya sampai meminta Cloudinary memblokir user agent itu, bahkan pada awalnya juga memblokir seluruh Singapore. Saya benar-benar kesal karena perusahaan scraping AI mengoperasikan bot mereka dengan sangat jahat. Untungnya saya memakai layanan bagus seperti Cloudinary sehingga biaya bisa lebih hemat, dan sekarang biasanya saya menyelesaikannya dengan memblokir semua bot AI lewat Cloudflare
    • Sebagai referensi, rentang IP per region AWS bisa dilihat di sini
  • Pada 2018 saya pernah menghadapi hal serupa dalam skala jauh lebih kecil. Saya membuat sendiri alat yang membaca daftar json rentang IP resmi AWS lalu memblokir rentang tersebut di Windows Firewall. Tulisan blog terkait bisa dilihat di sini, dan readme alatnya bisa dilihat di sini. Selama bertahun-tahun alat itu berjalan baik sebagai tugas terjadwal di server, meski saya tidak yakin apakah sekarang masih berfungsi. Kalau ada yang tertarik, saya bisa mempertimbangkan untuk membuka kodenya atau menyerahkannya ke orang lain. Kalau mau membuat sendiri pun seharusnya tidak terlalu sulit. Semoga berhasil
  • Regulator telekomunikasi Singapura bahkan melarang kepemilikan pornografi itu sendiri. Jadi ada usulan untuk mengirim softcore sebagai balasan ke bot jahat sambil sekaligus melaporkannya lewat email ke otoritas terkait dan AWS
    • Jika seseorang terus-menerus merugikan Anda di internet, memanfaatkan hukum negara mereka sering kali merupakan cara paling efektif untuk membalas. Dari lembaga lain biasanya sulit berharap ada tindakan apa pun
  • Jika memberi tahu Cloudflare bahwa trafik tersebut bersifat jahat, mereka bisa memblokirnya dari luar akun Anda sehingga tidak membebani perhitungan trafik di sisi Anda
  • Pernah mengalami kasus serupa, hanya saja yang diminta dalam jumlah sangat besar adalah installer software berukuran 80MB. Saya me-redirect permintaan yang bermasalah ke file bernama "please-stop.txt", lalu di dalam file itu saya menjelaskan situasinya dan meminta mereka berhenti, dan ternyata mereka benar-benar berhenti