×

🛡 API Guard

Rate limit · Bot detect · Geo

🛡 IPTV-API-Schutz — Rate-Limiting & Bot-Erkennung

Architektur

Burst-Multiplikator (Standard 1,5×) erlaubt kurze Spitzen — z.B. Inhalts-Auth-Limit 120 → Burst-Obergrenze 180/min.

Modi — Überwachung vs. Durchsetzung

Monitor

lässt die Anfrage jedoch durch

erzwingen

Bot-Erkennungssignale

Leerer User-Agent — blockiert Clients, die sich nicht identifizieren.

Bekannte Bot-UA-Teilstrings — erkennt curl, wget, python-requests, python-urllib, go-http-client, httpie, java-http-client, okhttp, apache-httpclient, bot, crawler, spider, scraper (Groß-/Kleinschreibung unbeachtlich).

Fehlender Accept-Language — echte Browser senden ihn immer; die meisten Skripte nicht.

Fehlender Accept-Encoding — wie oben.

Benutzerdefiniertes Block-Regex — eigenes Muster (Groß-/Kleinschreibung unbeachtlich), z.B. scraper|harvester|probe.

Benutzerdefiniertes Allow-Regex — wenn gesetzt, wird JEDER UA, der nicht passt, abgelehnt (strenge Allowlist).

Wenn eine bestimmte Integration keinen normalen UA senden kann (z.B. ein legitimer Hintergrunddienst), dessen IP auf die Whitelist setzen, anstatt Bot-Signale global zu lockern.

IP / Geo / ASN-Listen

Blacklist — CIDRs, die sofort 403 erhalten, ohne Zähler zu verbrauchen. Nützlich für hartnäckige Angreifer.

Gesperrte Länder — ISO-2-Codes per lokalem GeoIP aufgelöst. Leer = keine Geo-Sperre.

Gesperrte ASNs — Hosting-/VPN-Anbieter (z.B. AS14061 Digital Ocean, AS16509 Amazon). GeoIP-aufgelöst.

Redis-Schlüsselreferenz

Betriebshandbuch

Erstaktivierung: Modus auf monitor setzen, Rate-Limiting aktivieren. 24–48 Stunden warten.

Telemetrie prüfen: Sparkline zeigt, wann potenzielle 429-Spitzen auftreten; Top-10-Täter-Tabelle zeigt Wiederholungstäter. Limits anpassen, wenn legitime Benutzer sie erreichen.

Sanfte Durchsetzung: Modus auf enforce setzen mit Limits 2× höher als das Ziel. Sparkline + Supportkanal 2–3 Tage beobachten.

Endgültige Durchsetzung: Limits auf Produktionswerte anpassen. violations_before_block bei 3 (Standard) lassen, um gelegentliche Spitzen zu absorbieren.

Incident-Reaktion: IP-Angriffe → zur Blacklist-Textarea hinzufügen und speichern (wird in ≤5 s über Redis an nginx weitergegeben).

Falsch-Positiv entsperren: IPTV-Einstellungen → Sicherheit → Top-Täter → Entsperren. Löscht rl:blocked:{ip} + rl:violations:{ip}.

Implementierungsdateien

Gespeicherte Konfigurationsschlüssel (iptv_defaults)

Alle unter Präfix sec.* gespeichert. Bei jedem UI-Klick gespeichert.

Sicherheitskonfiguration

Übersicht

Stream Manager verwendet UFW (Uncomplicated Firewall) zur Netzwerkzugriffskontrolle und fail2ban zur Intrusion Prevention. Zusammen schützen sie den Server vor unbefugtem Zugriff und Brute-Force-Angriffen.

UFW-Firewall

UFW steuert, welche Netzwerk-Verkehr den Server erreicht.|Standard-Regeln: HTTP (80), HTTPS (443) und Media Server (8080) sind offen für alle. SSH (22) ist auf interne und CDN-Netzwerke beschränkt.|Multicast-Verkehr (224.0.0.0/4) ist auf vertrauenswürdige Quellnetzwerke beschränkt.|Verwalten Sie Regeln von Config > Security Tab oder über Kommandozeile mit 'sudo ufw'.

Fail2ban-Konfiguration

fail2ban überwacht Log-Dateien auf wiederholte Authentifizierungsfehler und sperrt automatisch die betreffenden IP-Adressen.|Das sshd-Jail schützt den SSH-Zugriff, indem IPs nach mehreren fehlgeschlagenen Login-Versuchen gesperrt werden.|Verwendet das nftables-Backend für effizientes Paketfiltering.|Gesperrte IPs können manuell über Konfiguration > Sicherheit-Tab entsperrt werden.

Multicast-Routing-Einschränkungen

Multicast-Verkehr (224.0.0.0/4) ist auf zwei vertrauenswürdige Netzwerke beschränkt:|10.0.0.0/8 - Internes Netzwerk für lokale Stream-Quellen und Management.|147.78.168.0/22 - CDN-Netzwerk für die Verteilung an Edge-Server.|Dies verhindert, dass unbefugte Multicast-Quellen Verkehr in die Streaming-Pipeline einspeisen.

CDN-Netzwerkarchitektur

Das CDN-Netzwerk (147.78.168.0/22) wird zur Verteilung von Streams an Edge-Server verwendet.|SSH-Zugriff ist von CDN-IPs für das Remote-Management erlaubt.|Multicast-Forwarding ist zwischen internem und CDN-Netzwerk aktiviert.|Aller andere Verkehr vom CDN folgt den Standard-Firewall-Regeln.

Beste Praktiken für die Stream-Sicherheit

UFW jederzeit aktiviert halten|SSH-Zugriff auf bekannte Netzwerke beschränken|Fail2ban Jails regelmäßig auf Angriffsmuster überwachen|Starke Passwörter und schlüsselbasierte SSH-Authentifizierung verwenden|Firewall-Regeln regelmäßig überprüfen und ungenutzte Einträge entfernen|Fail2ban und UFW Pakete aktualisiert halten