×

🛡 API Guard

Rate limit · Bot detect · Geo

🛡 IPTV API zaštita — Ograničenje brzine i otkrivanje botova

Arhitektura

Množitelj praska (zadano 1,5×) dopušta kratke skokove — npr. limit autentifikacije sadržaja 120 → strop praska 180/min.

Načini rada — Monitor vs Enforce

monitor

ali propušta zahtjev

provoditi

Signali otkrivanja botova

Prazan User-Agent — blokira klijente koji se ne identificiraju.

Poznati UA podnizovi botova — prepoznaje curl, wget, python-requests, python-urllib, go-http-client, httpie, java-http-client, okhttp, apache-httpclient, bot, crawler, spider, scraper (bez razlike velikih i malih slova).

Nedostaje Accept-Language — pravi preglednici ga uvijek šalju; većina skripti ne šalje.

Nedostaje Accept-Encoding — isto kao gore.

Prilagođeni regex za blokiranje — vlastiti uzorak (bez razlike velikih i malih slova) npr. scraper|harvester|probe.

Prilagođeni regex za dopuštanje — ako je postavljen, SVAKI UA koji ne odgovara se odbija (strogi popis dopuštenih).

Ako određena integracija ne može slati normalni UA (npr. legitimni pozadinski posao), stavite na bijelu listu IP umjesto globalnog opuštanja signala botova.

Popisi IP / Geo / ASN

Crna lista — CIDR-ovi koji odmah dobivaju 403, bez trošenja brojača. Korisno za trajne prekršitelje.

Blokirane zemlje — ISO-2 kodovi razrješeni putem lokalnog GeoIP. Prazno = bez geo blokade.

Blokirani ASN-ovi — pružatelji usluga hostinga / VPN-a (npr. AS14061 Digital Ocean, AS16509 Amazon). Razrješeni putem GeoIP.

Referenca Redis ključeva

Operativni priručnik

Prvo omogućavanje: postavite mod = monitor, omogućite ograničenje brzine. Pričekajte 24–48 h.

Pregledajte telemetriju: iskrica pokazuje kada bi se pojavili potencijalni 429 skokovi; Tablica top-10 prekršitelja prikazuje višestruke prekršitelje. Podesite limite ako legitimni korisnici nailaze na njih.

Blago nametanje: postavite mod = enforce s limitima 2× višim od ciljnih. Pratite iskricu i support kanal 2–3 dana.

Konačno nametanje: smanjite limite na produkcijske vrijednosti. Zadržite violations_before_block na 3 (zadano) za apsorpciju povremenih skokova.

Odgovor na incident: IP napadi → dodajte u textarea Crne liste i spremite (propagira se na nginx za ≤5 s putem Redis-a).

Deblokiranje lažnog pozitivnog rezultata: IPTV Postavke → Sigurnost → Najčešći prekršitelji → Deblokiraj. Briše rl:blocked:{ip} + rl:violations:{ip}.

Datoteke implementacije

Pohranjeni ključevi konfiguracije (iptv_defaults)

Svi pohranjeni pod prefiksom sec.*. Sprema se pri svakom kliku sučelja.

Sigurnosna konfiguracija

Pregled

Stream Manager koristi UFW (nekomplicirani vatrozid) za kontrolu pristupa mreži i fail2ban za sprječavanje upada. Zajedno štite poslužitelj od neovlaštenog pristupa i brutalnih napada.

Vatrozid UFW

UFW kontrolira što mrežnog prometa je dozvoljeno dospjeti do poslužitelja.|Zadana pravila: HTTP (80), HTTPS (443) i Media Server (8080) su otvoreni za sve. SSH (22) je ograničen na unutarnje i CDN mreže samo.|Multicast promet (224.0.0.0/4) je ograničen na pouzdane mrežne izvore.|Upravljaj pravilima iz Config > Security tab-a, ili via command line s 'sudo ufw'.

fail2ban Sprječavanje Upada

fail2ban nadzire datoteke dnevnika radi ponovljenih neuspjeha provjere autentičnosti i automatski zabranjuje nedozvoljene IP adrese.|Sshd zatvor štiti SSH pristup zabranom IP-ova nakon višestrukih neuspjelih pokušaja prijave.|Koristi pozadinu nftables za učinkovito filtriranje paketa.|Zabranjene IP adrese mogu se ručno poništiti iz zabrane na kartici Konfiguracija > Sigurnost.

Ograničenja multicast usmjeravanja

Multicast promet (224.0.0.0/4) ograničen je na dvije pouzdane mreže:|10.0.0.0/8 - Interna mreža za lokalne izvore toka i upravljanje.|147.78.168.0/22 ​​- CDN mreža za distribuciju rubnog poslužitelja.|Ovo sprječava neovlaštene multicast izvore da ubacuju promet u cjevovod strujanja.

Arhitektura CDN mreže

CDN mreža (147.78.168.0/22) koristi se za distribuciju tokova do rubnih poslužitelja.|SSH pristup je dopušten s CDN IP adresa za daljinsko upravljanje.|Multicast prosljeđivanje je omogućeno između internih i CDN mreža.|Sav ostali promet iz CDN-a slijedi standardna pravila vatrozida.

Najbolji primjeri iz prakse

Drži UFW omogućenim u svakom trenutku|Ograniči SSH pristup poznatim mrežama samo|Promatraj fail2ban tamnice redovito za obrasce napada|Koristi jake lozinke i key-based SSH autentifikaciju|Pregledaj firewall pravila periodički i ukloni korištene stavke|Drži fail2ban i UFW pakete ažurirane