×

🛡 API Guard

Rate limit · Bot detect · Geo

🛡 Protección de API IPTV — Limitación de tasa y detección de bots

Arquitectura

El multiplicador de ráfaga (predeterminado 1,5×) permite picos breves — p. ej. límite de autenticación de contenido 120 → techo de ráfaga 180/min.

Modos — Monitor vs Aplicar

monitor

pero deja pasar la solicitud

aplicar

Señales de detección de bots

User-Agent vacío — bloquea clientes que no se identifican.

Subcadenas de UA de bots conocidos — coincide con curl, wget, python-requests, python-urllib, go-http-client, httpie, java-http-client, okhttp, apache-httpclient, bot, crawler, spider, scraper (sin distinción de mayúsculas).

Accept-Language ausente — los navegadores reales siempre lo envían; la mayoría de scripts no.

Accept-Encoding ausente — igual que el anterior.

Regex de bloqueo personalizado — su propio patrón (sin distinción de mayúsculas), p. ej. scraper|harvester|probe.

Regex de permiso personalizado — si se configura, cualquier UA que no coincida es rechazado (lista blanca estricta).

Si una integración específica no puede enviar un UA normal (p. ej. un trabajo legítimo en segundo plano), añada su IP a la lista blanca en lugar de relajar las señales de bot globalmente.

Listas de IP / Geo / ASN

Lista negra — CIDRs que reciben 403 inmediatamente, sin gastar contador. Útil para infractores persistentes.

Países bloqueados — códigos ISO-2 resueltos mediante GeoIP local. Vacío = sin bloqueo geográfico.

ASNs bloqueados — proveedores de hosting / VPN (p. ej. AS14061 Digital Ocean, AS16509 Amazon). Resueltos mediante GeoIP.

Referencia de claves Redis

Manual operativo

Primera activación: establezca modo = monitor, active la limitación de velocidad. Espere 24–48 h.

Revise la telemetría: el minigráfico muestra cuándo se producirían picos de 429; la tabla Top-10 de infractores muestra los reincidentes. Ajuste los límites si usuarios legítimos los están alcanzando.

Aplicar suave: establezca modo = enforce con límites 2× más altos que el objetivo. Observe el minigráfico y el canal de soporte durante 2–3 días.

Aplicar definitivo: ajuste los límites a valores de producción. Mantenga violations_before_block en 3 (predeterminado) para absorber picos ocasionales.

Respuesta a incidentes: ataques de IP → añada a la lista negra y guarde (se propaga a nginx en ≤5 s vía Redis).

Desbloquear falso positivo: Configuración IPTV → Seguridad → Principales infractores → Desbloquear. Borra rl:blocked:{ip} + rl:violations:{ip}.

Archivos de implementación

Claves de configuración persistentes (iptv_defaults)

Todas almacenadas bajo el prefijo sec.*. Guardadas en cada clic en la UI.

Configuración de seguridad

Descripción general

Stream Manager utiliza UFW (Uncomplicated Firewall) para el control de acceso de red y fail2ban para la prevención de intrusiones. Juntos protegen el servidor contra accesos no autorizados y ataques de fuerza bruta.

Cortafuegos UFW

UFW controla qué tráfico de red se permite que llegue al servidor.|Reglas predeterminadas: HTTP (80), HTTPS (443) y Media Server (8080) están abiertos para todos. SSH (22) está restringido solo a las redes internas y CDN.|El tráfico de multicast (224.0.0.0/4) se restringe a redes de origen de confianza.|Gestionar las reglas desde Config > Seguridad, o a través de la línea de comandos con "sudo ufw".

Prevención de intrusiones fail2ban

fail2ban monitorea los archivos de registro para fallas de autenticación repetidas y bloquea automáticamente las direcciones IP ofensoras.|La prisión sshd protege el acceso SSH bloqueando las IPs después de múltiples intentos de inicio de sesión fallidos.|Utiliza el backend nftables para un filtrado de paquetes eficiente.|Las IPs bloqueadas se pueden desbloquear manualmente desde la pestaña Config > Seguridad.

Restricciones de enrutamiento de multicast

El tráfico de multicast (224.0.0.0/4) se restringe a dos redes de confianza:|10.0.0.0/8 - Red interna para fuentes de transmisión locales y gestión.|147.78.168.0/22 - Red CDN para distribución de servidores edge.|Esto impide que fuentes de multicast no autorizadas inyecten tráfico en la canalización de transmisión.

Arquitectura de red CDN

La red CDN (147.78.168.0/22) se utiliza para distribuir transmisiones a los servidores edge.|Se permite el acceso SSH desde las IPs de la CDN para la gestión remota.|El reenvío de multicast está habilitado entre las redes internas y de CDN.|Todo otro tráfico desde CDN sigue las reglas estándar del cortafuegos.

Mejores prácticas

Mantener UFW habilitado en todo momento|Restringir el acceso SSH solo a redes conocidas|Monitorear las prisiones de fail2ban regularmente para patrones de ataque|Usar contraseñas fuertes y autenticación SSH basada en claves|Revisar las reglas del cortafuegos periódicamente y eliminar entradas no utilizadas|Mantener actualizados los paquetes de fail2ban y UFW