Rate limit · Bot detect · Geo

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