Rate limit · Bot detect · Geo

Arsitektur
Pengganda ledakan (default 1,5×) memungkinkan lonjakan pendek — mis.
Mode — Pantau vs Terapkan
memantau
tetapi meneruskan permintaan itu
melaksanakan
Sinyal Deteksi Bot
Agen-Pengguna Kosong — memblokir klien yang tidak mengidentifikasi dirinya.
Substring bot UA yang dikenal — cocok dengan curl, wget, python-requests, python-urllib, go-http-client, httpie, java-http-client, okhttp, apache-httpclient, bot, crawler, spider, scraper (tidak peka huruf besar-kecil).
Bahasa Terima Tidak Ada — browser asli selalu mengirimkannya;
Pengkodean Terima Tidak Ada — sama seperti di atas.
Regex blok khusus — pola Anda sendiri (tidak peka huruf besar-kecil) mis.
Regex izin khusus — jika disetel, UA APAPUN yang tidak cocok akan ditolak (daftar izin ketat).
Jika integrasi tertentu tidak dapat mengirim UA normal (misalnya pekerjaan latar belakang yang sah), masukkan IP-nya ke daftar putih alih-alih melonggarkan sinyal bot secara global.
Daftar IP / Geografis / ASN
Daftar Hitam — CIDR yang langsung mendapatkan 403, tanpa pembelanjaan counter.
Negara yang diblokir — Kode ISO-2 diselesaikan melalui GeoIP lokal.
ASN yang diblokir — penyedia hosting/VPN (misalnya AS14061 Digital Ocean, AS16509 Amazon).
Referensi Kunci Redis
Buku Panduan Operasional
Pengaktifan pertama kali: setel mode = monitor, aktifkan pembatasan kecepatan.
Tinjau telemetri: grafik mini menunjukkan kapan kemungkinan terjadinya lonjakan 429;
Terapkan lunak: setel mode = terapkan dengan batas 2× lebih tinggi dari target.
Penegakan final: memperketat batas nilai produksi.
Respons insiden: serangan IP → tambahkan ke textarea Daftar Hitam dan simpan (disebarkan ke nginx dalam ≤5 detik melalui Redis).
Buka blokir positif palsu: Pengaturan IPTV → Keamanan → Pelanggar utama → Buka blokir.
File Implementasi
Kunci Konfigurasi yang Bertahan (iptv_defaults)
Semua disimpan di bawah awalan detik.*.
Ringkasan
Stream Manager menggunakan UFW (Uncomplication Firewall) untuk kontrol akses jaringan dan fail2ban untuk pencegahan intrusi.
UFW mengontrol lalu lintas jaringan mana yang diizinkan mencapai server.|Aturan default: HTTP (80), HTTPS (443), dan Media Server (8080) terbuka untuk semua.
fail2ban memonitor file log untuk kegagalan otentikasi berulang dan secara otomatis melarang alamat IP yang melanggar.|Jail sshd melindungi akses SSH dengan melarang IP setelah beberapa kali upaya login gagal.|Menggunakan backend nftables untuk pemfilteran paket yang efisien.|IP yang dilarang dapat dibatalkan pemblokirannya secara manual dari tab Config > Keamanan.
Lalu lintas multicast (224.0.0.0/4) dibatasi pada dua jaringan tepercaya:|10.0.0.0/8 - Jaringan internal untuk sumber dan manajemen aliran lokal.|147.78.168.0/22 - Jaringan CDN untuk distribusi server edge.|Ini mencegah sumber multicast yang tidak sah memasukkan lalu lintas ke dalam pipa streaming.
Jaringan CDN (147.78.168.0/22) digunakan untuk mendistribusikan aliran ke server edge.|Akses SSH diperbolehkan dari IP CDN untuk manajemen jarak jauh.|Penerusan multicast diaktifkan antara jaringan internal dan CDN.|Semua lalu lintas lain dari CDN mengikuti aturan firewall standar.
Praktik Terbaik
Tetap aktifkan UFW setiap saat|Batasi akses SSH hanya pada jaringan yang dikenal|Pantau jail fail2ban secara teratur untuk mengetahui pola serangan|Gunakan kata sandi yang kuat dan autentikasi SSH berbasis kunci|Tinjau aturan firewall secara berkala dan hapus entri yang tidak digunakan|Terus perbarui paket fail2ban dan UFW