Volver al blog

CGNAT explicado: por qué una dirección IP no equivale a un usuario

redesrate limitingfalsos positivos

El NAT de grado operador coloca a miles de abonados detrás de una única dirección. Así afecta a los bloqueos por IP, al rate limiting y a la analítica, y esto es lo que conviene hacer en su lugar.

Muchas reglas antifraude y antiabuso siguen apoyándose en una premisa que dejó de ser cierta hace años: que una dirección IP identifica a un usuario. El principal motivo es el NAT de grado operador, más conocido como CGNAT.

Qué es CGNAT

Las direcciones IPv4 se agotaron. En lugar de comprar bloques cada vez más escasos para asignar una dirección a cada abonado, los operadores móviles y muchos proveedores de fibra sitúan a sus clientes detrás de un conjunto compartido de direcciones públicas y traducen los puertos en la salida a Internet. Una sola dirección pública puede representar a cientos o miles de hogares o móviles al mismo tiempo.

Para tu servidor, todo ese tráfico parece venir de un único cliente.

Qué rompe

Bloqueos. Si bloqueas una dirección tras un intento de fuerza bruta, puede que estés dejando fuera a toda una zona de una red móvil. El atacante se reconecta, recibe en segundos otra dirección del pool y sigue como si nada.

Rate limiting. Un límite de 10 peticiones por minuto por IP puede ser generoso para una persona y ridículamente estricto para 2.000 abonados que comparten una misma salida. Acabarás frenando a usuarios legítimos en horas punta y, probablemente, ni siquiera lo verás: simplemente se marcharán.

Atribución. "Dos cuentas desde la misma IP" es una señal débil de multiaccounting en una red de operador. En una línea residencial de fibra puede significar algo. En CGNAT, casi nada.

Analítica. Los recuentos de visitantes únicos basados en la dirección IP quedan comprimidos en móvil y se inflan en redes que rotan direcciones con frecuencia. En ambos casos, el error queda oculto en el panel.

Cómo saber si estás viendo CGNAT

Señales que deberían encender la alerta:

  • Tipo de conexión identificado como móvil, o un ASN perteneciente a un operador móvil.
  • Mucha diversidad de peticiones desde una misma dirección: muchos user agents, muchas cuentas, muchas ubicaciones.
  • Direcciones de espacio compartido de transición (100.64.0.0/10) que aparecen en cabeceras reenviadas.

Una consulta de inteligencia IP te da directamente las dos primeras señales, suficiente para adaptar la política en tiempo real durante la petición.

Qué hacer en su lugar

  • Ajusta los límites según la clase de red. Las conexiones residenciales pueden tener un límite por IP más estricto. Los rangos móviles y empresariales necesitan límites mucho más amplios, compensados con controles más finos por cuenta y por dispositivo.
  • Baja la identidad a otra capa. Siempre que puedas, aplica el rate limiting sobre el ID de cuenta, la sesión o alguna señal de dispositivo. Usa la IP como clave secundaria, no como identificador principal.
  • Prioriza los desafíos frente a los bloqueos. Un desafío molesta a una red compartida; un bloqueo la castiga de forma colectiva.
  • Caduca rápido. Si no te queda más remedio que bloquear una dirección compartida, hazlo durante minutos, no durante días. El atacante se habrá movido mucho antes de que termine tu veto.
  • Alerta por impacto colateral. Si un único bloqueo afectaría a más de un puñado de cuentas activas, es una señal clara de que la dirección es compartida y de que el bloqueo no es la herramienta adecuada.

El principio de fondo

La dirección IP es una propiedad del camino, no de la persona. Es una señal de riesgo valiosa, pero un identificador pésimo. Los sistemas que respetan esa diferencia bloquean mucho más abuso por cada falso positivo que los que no lo hacen. Y la adopción de IPv6, aunque recupera en parte el direccionamiento por abonado, no eliminará el problema mientras el tráfico móvil siga creciendo.

Su conexión