Rate limit · Bot detect · Geo

Arkitektur
Burstmultiplikator (standard 1,5×) tillader korte spidsbelastninger — f.eks. indholds-auth-grænse 120 → burst-loft 180/min.
Tilstande — Overvågning vs Håndhævelse
overvågning
men lader anmodningen passere igennem
håndhævelse
Bot-detektionssignaler
Tom User-Agent — blokerer klienter der ikke identificerer sig selv.
Kendte bot-UA-understrenge — matcher curl, wget, python-requests, python-urllib, go-http-client, httpie, java-http-client, okhttp, apache-httpclient, bot, crawler, spider, scraper (case-insensitiv).
Manglende Accept-Language — rigtige browsere sender det altid; de fleste scripts gør ikke.
Manglende Accept-Encoding — samme som ovenstående.
Brugerdefineret blokerings-regex — dit eget mønster (case-insensitiv) f.eks. scraper|harvester|probe.
Brugerdefineret tilladelses-regex — hvis sat, afvises ENHVER UA der ikke matcher (streng tilladelsesliste).
Hvis en specifik integration ikke kan sende en normal UA (f.eks. et legitimt baggrundsjob), hvidliste dens IP i stedet for at slække på bot-signaler globalt.
IP / Geo / ASN-lister
Sortliste — CIDR-blokke der straks får 403, ingen tæller brugt. Nyttigt for vedvarende overtrædere.
Blokerede lande — ISO-2 koder opløst via lokal GeoIP. Tom = ingen geo-blokering.
Blokerede ASN'er — hosting / VPN-udbydere (f.eks. AS14061 Digital Ocean, AS16509 Amazon). GeoIP-opløst.
Redis nøglereference
Operationel håndbog
Første aktivering: sæt tilstand = overvågning, aktiver hastighedsbegrænsning. Vent 24–48 timer.
Gennemgå telemetri: gnistlinje viser hvornår der ville opstå 429-spidsbelastninger; Top-10 overtrædere-tabel viser gentagne overtrædere. Juster grænser hvis legitime brugere rammer dem.
Blød håndhævelse: sæt tilstand = håndhævelse med grænser 2× højere end målet. Overvåg gnistlinjen og supportkanalen i 2–3 dage.
Endelig håndhævelse: stram grænser til produktionsværdier. Hold violations_before_block på 3 (standard) for at absorbere lejlighedsvise spidsbelastninger.
Hændelsesrespons: IP-angreb → tilføj til Sortliste-tekstfeltet og gem (propagerer til nginx på ≤5 s via Redis).
Afblokér falsk positiv: IPTV-indstillinger → Sikkerhed → Topovertrædere → Afblokér. Rydder rl:blocked:{ip} + rl:violations:{ip}.
Implementeringsfiler
Gemte konfigurationsnøgler (iptv_defaults)
Alle gemt under præfiks sec.*. Gemt ved hvert UI-klik.
Oversigt
Stream Manager bruger UFW (Uncomplicated Firewall) til netværksadgangskontrol og fail2ban til trusselsforebyggelse. Sammen beskytter de serveren mod uautoriseret adgang og brute-force-angreb.
UFW kontrollerer, hvilken netværkstrafik der har tilladelse til at nå serveren.|Standardregler: HTTP (80), HTTPS (443) og Media Server (8080) er åbne for alle. SSH (22) er begrænset til interne og CDN-netværk kun.|Multicast-trafik (224.0.0.0/4) er begrænset til tillidelige netværk.|Administrer regler fra Konfiguration > Sikkerhedsfanen, eller via kommandolinjen med 'sudo ufw'.
fail2ban overvåger logfiler for gentagne autentificeringsfejl og blokerer automatisk angribende IP-adresser.|sshd-jail beskytter SSH-adgang ved at blokere IP'er efter flere mislykkede loginforsøg.|Bruger nftables-backend til effektiv pakkefiltrering.|Blokerede IP'er kan manuelt opslås fra Konfiguration > Sikkerhedsfanen.
Multicast-trafik (224.0.0.0/4) er begrænset til to tillidelige netværk:|10.0.0.0/8 — Internt netværk til lokale streamkilder og håndtering.|147.78.168.0/22 — CDN-netværk til edge-serverdistribution.|Dette forhindrer uautoriserede multicast-kilder i at injicere trafik i stream-pipeline.
CDN-netværket (147.78.168.0/22) bruges til at distribuere streams til edge-servere.|SSH-adgang er tilladt fra CDN-IP'er til fjernhåndtering.|Multicast-forwarding er aktiveret mellem interne og CDN-netværk.|Al anden trafik fra CDN følger standard-firewallregler.
Bedste praksis
Hold UFW slået til til alle tider|Begræns SSH-adgang til kendte netværk kun|Overvåg fail2ban-jails regelmæssigt for angrebsmønstre|Brug stærke adgangskoder og nøglebaseret SSH-autentificering|Gennemgå firewallregler regelmæssigt og fjern ikke-anvendte poster|Hold fail2ban og UFW-pakker opdateret