×

🛡 API Guard

Rate limit · Bot detect · Geo

🛡 Perlindungan API IPTV — Pembatasan Kecepatan & Deteksi Bot

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.*.

Konfigurasi Keamanan

Ringkasan

Stream Manager menggunakan UFW (Uncomplication Firewall) untuk kontrol akses jaringan dan fail2ban untuk pencegahan intrusi.

Firewall UFW

UFW mengontrol lalu lintas jaringan mana yang diizinkan mencapai server.|Aturan default: HTTP (80), HTTPS (443), dan Media Server (8080) terbuka untuk semua.

pencegahan intrusi fail2ban

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.

Pembatasan Perutean Multicast

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.

Arsitektur Jaringan CDN

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