×

🛡 API Guard

Rate limit · Bot detect · Geo

🛡 IPTV API -suojaus — Nopeusrajoitus ja bottien esto

Arkkitehtuuri

Burst-kerroin (oletus 1,5×) sallii lyhyet piikit — esim. sisällön todennusraja 120 → burst-katto 180/min.

Tilat — Valvonta vs. Valvonta

valvoa

mutta päästää pyynnön läpi

pakottaa

Bottien tunnistussignaalit

Tyhjä User-Agent — estää asiakkaat, jotka eivät tunnista itseään.

Tunnetut botti-UA-alamerkit — tunnistaa: curl, wget, python-requests, python-urllib, go-http-client, httpie, java-http-client, okhttp, apache-httpclient, bot, crawler, spider, scraper (kirjainkoko ei merkitse).

Puuttuva Accept-Language — oikeat selaimet lähettävät sen aina; useimmat skriptit eivät.

Puuttuva Accept-Encoding — sama kuin edellä.

Mukautettu estosäännöllinen lauseke — oma kaava (kirjainkoko ei merkitse), esim. scraper|harvester|probe.

Mukautettu sallintasäännöllinen lauseke — jos asetettu, KAIKKI UA:t, jotka eivät täsmää, hylätään (tiukka sallintalistaus).

Jos tietty integraatio ei pysty lähettämään normaalia UA:ta (esim. oikeutettu taustaprosessi), lisää sen IP-osoite sallintalistaan sen sijaan, että lievennetään bottisuodatussignaaleja globaalisti.

IP / Maa / ASN-listat

Musta lista — CIDR-osoitteet, jotka saavat välittömästi 403-vastauksen ilman laskuria. Hyödyllinen toistuvien rikkojien hallintaan.

Estetyt maat — ISO-2-koodit ratkaistaan paikallisella GeoIP:llä. Tyhjä = ei maaestoa.

Estetyt ASN:t — hosting- / VPN-palveluntarjoajat (esim. AS14061 Digital Ocean, AS16509 Amazon). GeoIP-ratkaistaan.

Redis-avainviite

Operatiivinen ohjekirja

Ensimmäinen käyttöönotto: aseta tila = monitor, ota nopeusrajoitus käyttöön. Odota 24–48 tuntia.

Tarkista telemetria: kipinäkaavio näyttää, milloin tulisi-429-piikit esiintyvät; 10 eniten rikkovaa -taulukko näyttää toistuvat rikkojat. Säädä rajoja, jos lailliset käyttäjät osuvat niihin.

Valvo pehmeästi: aseta tila = enforce rajoilla 2× tavoitearvoa korkeammalla. Seuraa kipinäkaaviota ja tukikanavaa 2–3 päivää.

Lopullinen valvonta: tiukenna rajoja tuotantoarvoihin. Pidä violations_before_block arvossa 3 (oletus) satunnaisten piikkien absorboimiseksi.

Tapauksen hallinta: IP-hyökkäykset → lisää Musta lista -tekstialueelle ja tallenna (välittyy nginxiin ≤5 s:ssa Redisin kautta).

Poista väärän positiivin esto: IPTV-asetukset → Tietoturva → Eniten rikkovaa → Poista esto. Tyhjentää rl:blocked:{ip} + rl:violations:{ip}.

Toteutustiedostot

Tallennetut asetusavaimet (iptv_defaults)

Kaikki tallennettu etuliitteen sec.* alle. Tallennetaan jokaisella käyttöliittymänapsautuksella.

Turvallisuuskonfiguraatio

Yleiskatsaus

Stream Manager käyttää UFW:tä (Uncomplicated Firewall) verkon pääsynhallintaan ja fail2bania tunkeutumisen estämiseen. Yhdessä ne suojaavat palvelinta luvattomalta pääsyltä ja raa'an voiman hyökkäyksiltä.

UFW-palomuuri

UFW hallitsee, mikä verkkoliikenne saa saavuttaa palvelimen.|Oletusoikeudet: HTTP (80), HTTPS (443) ja Media Server (8080) ovat avoinna kaikille. SSH (22) on rajoitettu sisäisiin ja CDN-verkkoihin.|Multicast-liikenne (224.0.0.0/4) on rajoitettu luotettaviin lähdeverkkoihin.|Hallitse sääntöjä Config > Security-välilehdestä tai komentorivillä 'sudo ufw':n kanssa.

fail2ban hyökkäysten ehkäisy

fail2ban valvoo lokitiedostoja toistuvien tunnistautumisvirheiden varalta ja estää automaattisesti rikkovat IP-osoitteet.|sshd-häkki suojaa SSH-pääsyä estämällä IP:t useiden epäonnistuneiden kirjautumisyritysten jälkeen.|Käyttää nftables-taustaohjelmaa tehokkaaseen pakettisuodatukseen.|Estetyt IP:t voidaan poistaa manuaalisesti kohdasta Asetukset > Turvallisuus.

Multicast-reititysrajoitukset

Multicast-liikenne (224.0.0.0/4) on rajoitettu kahteen luotettuun verkkoon:|10.0.0.0/8 - Sisäinen verkko paikallisia streamilähteitä ja hallintaa varten.|147.78.168.0/22 - CDN-verkko reunapalvelimien jakeluun.|Tämä estää luvattomia multicast-lähteitä ruiskuttamasta liikennettä suoratoistoputkistoon.

CDN-verkkoarkkitehtuuri

CDN-verkkoa (147.78.168.0/22) käytetään streamien jakeluun reunapalvelimille.|SSH-pääsy on sallittu CDN-IP:iltä etähallintaa varten.|Multicast-välitys on käytössä sisäisen ja CDN-verkkojen välillä.|Kaikki muu CDN:ltä tuleva liikenne noudattaa standardia palomuurisääntöjä.

Parhaat käytännöt

Pidä UFW käytössä koko ajan|Rajoita SSH-pääsy tunnettuihin verkkoihin|Valvo fail2ban-vankiloita säännöllisesti hyökkäysmalleille|Käytä vahvoja salasanoja ja avainpohjaista SSH-todentamista|Tarkista palomuurisäännöt säännöllisesti ja poista käyttämättömät merkinnät|Pidä fail2ban ja UFW-paketit päivitettyinä