×

🛡 API Guard

Rate limit · Bot detect · Geo

IPTV API zaščita — omejevanje hitrosti in zaznavanje botov

Arhitektura

Množilnik sunkov (privzeto 1,5×) dovoljuje kratke sunke — npr. omejitev avtentifikacije vsebine 120 > strop sunka 180/min.

Načini — Monitor vs Enforce

monitor

zahtevo prevede naprej

uveljaviti

Signali za zaznavanje botov

Prazen User-Agent — blokira odjemalce, ki se ne identificirajo.

Znani nizi UA botov — ujema curl, wget, python-requests, python-urllib, go-http-client, httpie, java-http-client, okhttp, apache-httpclient, bot, crawler, spider, scraper (neobčutljivo na velikost).

Manjkajoči Accept-Language — pravi brskalniki ga vedno pošljejo; večina skriptov ne.

Manjkajoči Accept-Encoding — enako kot zgoraj.

Regex za blokiranje po meri — vaš vzorec (neobčutljiv na velikost) npr. scraper|harvester|probe.

Regex za dovoljenje po meri — če je nastavljen, je VSAK UA, ki se ne ujema, zavrnjen (strogi seznam dovoljenih).

Če določena integracija ne more poslati normalnega UA (npr. zakonita naloga v ozadju), dodajte njen IP na seznam dovoljenjih namesto globalnega sproščanja signala bota.

Seznami IP / Geo / ASN

Blacklist — CIDR, ki takoj dobijo 403, brez porabe števca. Koristno za ponavljajoče se kršitelje.

Blokirane države — kode ISO-2, razrešene prek lokalnega GeoIP. Prazno = ni geografske blokade.

Blokirani ASN — gostovanje / ponudniki VPN (npr. AS14061 Digital Ocean, AS16509 Amazon). Razrešeno prek GeoIP.

Referenca ključev Redis

Operativni priročnik

Prva omogočitev: nastavi način = monitor, omogoči omejevanje hitrosti. Počakaj 24–48 h.

Pregledaj telemetrijo: iskrica prikazuje, kdaj bi se pojavili sunki 429; tabela Top-10 kršiteljev prikazuje ponavljajoče se kršitelje. Prilagodi omejitve, če zakoniti uporabniki dosegajo meje.

Mehko uveljavljanje: nastavi način = enforce z omejitvami 2× višjimi od cilja. Opazuj iskrico + kanal za podporo 2–3 dni.

Končno uveljavljanje: zaostrij omejitve na produkcijske vrednosti. Ohrani violations_before_block na 3 (privzeto) za absorpcijo občasnih sunkov.

Odziv na incident: napadi IP > dodaj na seznam blokad in shrani (širi se v nginx v ≤5 s prek Redis).

Odblokiraj lažno pozitivni: IPTV Settings > Security > Top offenders > Unblock. Počisti rl:blocked:{ip} + rl:violations:{ip}.

Implementacijske datoteke

Shranjeni konfiguracijski ključi (iptv_defaults)

Vse shranjeno pod predpono sec.*. Shranjeno ob vsakem kliku UI.

Varnostna konfiguracija

Pregled

Stream Manager uporablja UFW (nekomplicirani požarni zid) za nadzor dostopa do omrežja in fail2ban za preprečevanje vdorov. Skupaj ščitijo strežnik pred nepooblaščenim dostopom in napadi s surovo silo.

Požarni zid UFW

UFW nadzira, kateri omrežni promet je dovoljen do strežnika.|Privzeta pravila: HTTP (80), HTTPS (443) in Media Server (8080) so odprta za vse. SSH (22) je omejena na notranja in CDN omrežja.|Multicast promet (224.0.0.0/4) je omejena na zaupana omrežja virov.|Upravljaj pravila iz Config > Security zavihka ali prek ukaza line z 'sudo ufw'.

fail2ban zaščita pred vdori

fail2ban nadzira datoteke dnevnika glede ponavljajočih se napak pri preverjanju pristnosti in samodejno prepoveduje napačne naslove IP.|Zapor sshd ščiti dostop SSH tako, da prepoveduje IP-je po večkratnih neuspešnih poskusih prijave.|Uporablja zaledje nftables za učinkovito filtriranje paketov.|Prepovedane IP-je je mogoče ročno preklicati iz zavihka Konfiguracija > Varnost.

Omejitve multicast usmerjanja

Multicast promet (224.0.0.0/4) je omejen na dve zaupanja vredni omrežji:|10.0.0.0/8 – Notranje omrežje za lokalne vire tokov in upravljanje.|147.78.168.0/22 ​​– CDN omrežje za distribucijo robnega strežnika.|To preprečuje nepooblaščenim multicast virom vbrizgavanje prometa v pretočni cevovod.

Arhitektura omrežja CDN

Omrežje CDN (147.78.168.0/22) se uporablja za distribucijo tokov do robnih strežnikov.|Dostop SSH je dovoljen z naslovov IP CDN za oddaljeno upravljanje.|Posredovanje več oddaj je omogočeno med notranjimi omrežji in omrežji CDN.|Ves drugi promet iz CDN sledi standardnim pravilom požarnega zidu.

Najboljše prakse

Vzdržuj UFW vedno omogočen|Omeji SSH dostop samo na znana omrežja|Redna spremljanja fail2ban ječnov za vzorce napadov|Uporabi močna gesla in SSH avtentifikacijo s ključem|Periodično presledi pravila požara in odstrani neuporabljene zapise|Vzdržuj fail2ban in UFW pakete na novo