×

🛡 API Guard

Rate limit · Bot detect · Geo

🛡 Protection API IPTV — Limitation du débit & Détection de bots

Architecture

Multiplicateur de rafale (défaut 1,5×) autorise de courtes pointes — ex. limite auth contenu 120 → plafond rafale 180/min.

Modes — Surveiller vs Appliquer

surveiller

mais laisse passer la requête

appliquer

Signaux de détection de bots

User-Agent vide — bloque les clients qui ne s'identifient pas.

Sous-chaînes UA de bots connus — correspond à curl, wget, python-requests, python-urllib, go-http-client, httpie, java-http-client, etc.

Accept-Language absent — les vrais navigateurs l'envoient toujours ; la plupart des scripts ne le font pas.

Accept-Encoding absent — idem.

Regex de blocage personnalisé — votre propre motif (insensible à la casse) ex. scraper|harvester|probe.

Regex d'autorisation personnalisé — si défini, TOUT UA qui ne correspond pas est rejeté (liste blanche stricte).

Si une intégration spécifique ne peut pas envoyer un UA normal (ex. une tâche d'arrière-plan légitime), mettre son IP en liste blanche plutôt que d'assouplir les règles UA.

Listes IP / Geo / ASN

Liste noire — CIDRs qui reçoivent un 403 immédiat, sans compteur dépensé. Utile pour les récidivistes persistants.

Pays bloqués — codes ISO-2 résolus via GeoIP local. Vide = pas de blocage géographique.

ASNs bloqués — fournisseurs d'hébergement / VPN (ex. AS14061 Digital Ocean, AS16509 Amazon). Résolu via GeoIP.

Référence des clés Redis

Manuel opérationnel

Première activation : définir mode = monitor, activer la limitation de débit. Attendre 24–48 h.

Analyser la télémétrie : le graphique en barres montre quand les pics de 429 se produiraient ; le tableau des 10 principaux contrevenants montre les récidivistes. Ajuster les limites.

Application douce : définir mode = enforce avec des limites 2× plus élevées que la cible. Surveiller le graphique + le canal de support pendant 2–3 jours.

Application finale : resserrer les limites aux valeurs de production. Garder violations_before_block à 3 (défaut) pour absorber les pointes occasionnelles.

Réponse aux incidents : attaques IP → ajouter à la zone de texte Liste noire et enregistrer (se propage à nginx en ≤5 s via Redis).

Débloquer un faux positif : Paramètres IPTV → Sécurité → Principaux contrevenants → Débloquer. Efface rl:blocked:{ip} + rl:violations:{ip}.

Fichiers d'implémentation

Clés de configuration persistées (iptv_defaults)

Toutes stockées sous le préfixe sec.*. Enregistrées à chaque clic sur l'UI.

Configuration de la sécurité

Aperçu

Stream Manager utilise UFW (Uncomplicated Firewall) pour le contrôle d'accès réseau et fail2ban pour la prévention des intrusions. Ensemble, ils protègent le serveur contre les accès non autorisés et les attaques par force brute.

Pare-feu UFW

UFW contrôle quel trafic réseau est autorisé à atteindre le serveur.|Règles par défaut : HTTP (80), HTTPS (443) et Media Server (8080) sont ouverts à tous. SSH (22) est restreint aux seuls réseaux internes et CDN.|Le trafic multicast (224.0.0.0/4) est restreint aux réseaux sources de confiance.|Gérez les règles depuis l'onglet Config > Security, ou via la ligne de commande avec 'sudo ufw'.

fail2ban Prévention d'intrusion

fail2ban surveille les fichiers journaux pour détecter les échecs d'authentification répétés et bannit automatiquement les adresses IP fautives.|La prison sshd protège l'accès SSH en bannissant les adresses IP après plusieurs tentatives de connexion échouées.|Utilise le backend nftables pour un filtrage de paquets efficace.|Les adresses IP bannies peuvent être débloquées manuellement depuis l'onglet Config > Security.

Restrictions de routage multicast

Le trafic multicast (224.0.0.0/4) est restreint à deux réseaux de confiance :|10.0.0.0/8 - Réseau interne pour les sources de flux locales et la gestion.|147.78.168.0/22 - Réseau CDN pour la distribution aux serveurs de bordure.|Cela empêche les sources multicast non autorisées d'injecter du trafic dans la chaîne de diffusion.

Architecture du réseau CDN

Le réseau CDN (147.78.168.0/22) est utilisé pour distribuer les flux vers les serveurs de bordure.|L'accès SSH est autorisé depuis les adresses IP du CDN pour la gestion à distance.|La diffusion multicast est activée entre les réseaux internes et le réseau CDN.|Tout autre trafic provenant du CDN suit les règles standard du pare-feu.

Bonnes Pratiques

Gardez UFW activé en permanence|Restreignez l'accès SSH aux seuls réseaux connus|Surveillez régulièrement les prisons fail2ban pour détecter les schémas d'attaque|Utilisez des mots de passe forts et l'authentification SSH par clés|Révisez périodiquement les règles du pare-feu et supprimez les entrées inutilisées|Maintenez les packages fail2ban et UFW à jour