Cómo te identifican: veredictos de proxy, huellas TLS y puntuaciones de bot
Tres capas de evidencia: la red que te transporta, la forma de tu handshake y la puntuación que se cuelga de tu comportamiento. Ninguna es tan sólida como suena.
"¿Eres un proxy?" nunca fue una pregunta de sí o no: es una cadena de indicios. La capa exterior es la red: quién anuncia la dirección, si es hosting o consumidor, si figura en la lista pública de salidas Tor. Una capa más adentro está el transporte: la forma de tu ClientHello dice si conectó un navegador o una librería de script, y cambiar de IP no lo cambia. En el centro están el comportamiento y la puntuación: bot score, ritmo de peticiones, duración de sesión. Cada capa solo produce una probabilidad, y apilarlas apenas basta — por eso los falsos positivos se ceban con la misma gente.
No todo el tráfico "oculto" se ve igual. Una VPN comercial, un proxy de centro de datos y un nodo de salida de Tor dejan huellas distintas en el borde de la red. Este artículo repasa las señales que realmente usa una pila moderna de inteligencia de IP.
1. El ASN es la primera pista
Cada IP pertenece a un sistema autónomo (ASN). Los ISP domésticos, las operadoras móviles y los proveedores de hosting ocupan ASN muy distintos. Cuando una dirección se anuncia desde un ASN de nube u hosting —AWS, DigitalOcean, Hetzner…— casi nunca es una conexión doméstica. El ASN por sí solo identifica buena parte del tráfico de proxy y VPN.
2. Centro de datos vs residencial
Los proxies residenciales son más difíciles: alquilan IP reales de consumidores, así que el ASN parece local. Los proveedores lo combaten con reputación, bases de datos de tipo de conexión y señales de comportamiento —muchas cuentas desde una IP, puertos inusuales, sesiones cortas.
3. Los nodos de salida de Tor son públicos
Tor publica su lista de nodos de salida. Cualquier IP de esa lista se clasifica al instante. Una petición desde una salida de Tor no es "quizá anonimizada": es un relé conocido y suele bloquearse en endpoints sensibles.
4. La detección de VPN es probabilística
Las VPN comerciales son un blanco móvil: rotan IP, compran rangos residenciales y usan ofuscación. Ninguna señal es concluyente, así que se combinan ASN, reputación, huellas TLS (JA3) y comportamiento en una puntuación.
5. Qué significa para ti
- Si operas un servicio, trata una puntuación alta como motivo para añadir fricción —CAPTCHA, verificación por email— no para bloquear automáticamente.
- Si te importa la privacidad, recuerda que una VPN cambia tu IP, no la huella del navegador.
- Prueba tu propia conexión con una herramienta transparente antes de confiar en ella.
6. El coste de un falso positivo
Llamar proxy a un usuario real cuesta más que una visita: esa persona normalmente no vuelve. Pasarelas corporativas, redes de campus, todos los que comparten un NAT de operador, desarrolladores con extensiones de privacidad: sus señales se solapan mucho con el tráfico de proxy. Un sistema maduro no responde sí o no. Devuelve una puntuación con razones y deja que una persona decida dónde añadir fricción, que es también por lo que la buena detección es casi invisible y la mala deja a todos fuera.
Cambiar tu IP es fácil. Cambiar el aspecto de tu handshake TLS no lo es, y ese handshake se envía en claro antes de que exista ninguna petición HTTP.
7. El ClientHello es una huella
Toda conexión TLS empieza con un ClientHello que enumera, en un orden concreto, los cifrados, extensiones, curvas elípticas y algoritmos de firma soportados. Esa combinación depende del navegador, su versión, el sistema operativo y la librería TLS. Hashear esos campos produce un identificador estable.
8. Qué es JA3
JA3 es el esquema más extendido para ese hash: concatena los campos numéricos del ClientHello y calcula un MD5. JA4 es una evolución más reciente y granular. Dos conexiones con el mismo JA3 provienen casi con seguridad del mismo stack, aunque la IP, el user agent y las cookies difieran.
9. Por qué importa para la privacidad
- Una VPN oculta tu IP pero deja la huella intacta: sigues siendo enlazable entre sesiones.
- Un JA3 inusual es en sí mismo una señal: los frameworks de automatización rara vez coinciden con un navegador real.
- Los sistemas anti-bot combinan huella, ASN, tiempos y comportamiento; no decide una señal, decide la puntuación.
10. Qué puedes ver realmente de ti mismo
En Cloudflare, JA3 y JA4 solo se exponen en planes Enterprise con Bot Management. Sin eso, las señales honestas disponibles para cualquier sitio son metadatos de transporte —versión TLS, cifrado, versión de HTTP— más las client hints que tu navegador envía por voluntad propia, como la plataforma del sistema o el indicador móvil.
11. Qué sospechar cuando la huella no coincide
Si tu huella discrepa de forma consistente con la versión de navegador que declaras, no asumas que te están bloqueando. Las tres causas habituales son un proxy corporativo o un antivirus que termina TLS y reorigina la conexión con su propio stack, una extensión que reescribe cabeceras, o un cliente que realmente está automatizado. Las dos primeras importan por más que por verse raro: la interceptación TLS significa que el intermediario puede ver el texto en claro, lo que preocupa más que la huella.
Un formulario empieza a recibir martilleo, alguien añade un captcha, las altas caen un tercio y el abuso continúa con menos volumen. El captcha hizo lo que se le pidió: añadir fricción a todos, incluidos los que querías. La detección de bots es otro problema: identificar el tráfico automatizado y gastar fricción solo donde hace falta.
12. El borde mira la conexión antes que el comportamiento
Mucho antes de que se ejecute JavaScript, la petición ya lleva bastante: el ASN de origen y su reputación, la versión de TLS y el cifrado, la forma del ClientHello, el frame SETTINGS de HTTP/2, el orden y las mayúsculas de las cabeceras, y si el User-Agent declarado es coherente con el resto del stack. Una petición que dice ser Chrome 130 con el perfil TLS de una librería de Python no es un hallazgo sutil.
Cloudflare condensa esas señales en un bot score de 1 a 99. Bajo significa que parece automatizado, alto que parece humano; la plataforma trata 1-29 como probablemente automatizado y 30-99 como probablemente humano, y las reglas gestionadas actúan en los extremos. El score solo se expone en planes con Bot Management, por eso una página de diagnóstico propia suele tener que decir "no disponible" en lugar de imprimir un número, y decirlo es lo correcto.
13. Un score no es un veredicto
Mucho tráfico legítimo puntúa bajo: sondas de monitorización, previsualizadores de enlaces, lectores RSS, herramientas de accesibilidad, curl en un job de CI y cualquier usuario con una extensión que reescribe cabeceras. Y un navegador headless manejado por alguien competente puede puntuar alto. Trata el score como una entrada y deja una razón legible junto a cualquier acción que tomes.
14. Turnstile no es un captcha
Turnstile solo muestra un puzle interactivo cuando duda. La mayoría de los visitantes pasa sin hacer nada, que es la idea: cambia una prueba visual por señales del navegador y de la conexión. Donde los equipos se equivocan es en el servidor.
- Valida cada token en tu servidor contra siteverify. Un "éxito" en el cliente es una sugerencia, no una prueba.
- Los tokens son de un solo uso y duran unos cinco minutos. Guarda el resultado de la validación, no el token.
- Ata el token a una acción y comprueba el hostname para el que se emitió; si no, una granja de tokens resuelve en un sitio y lo reutiliza en el tuyo.
- Falla cerrado ante un token ausente o inválido en acciones sensibles, y falla abierto con un desafío en el resto: un checkout que falla en seco por un timeout de siteverify pierde dinero.
15. Qué puede y qué no puede probar el navegador
La ejecución de JavaScript, los tiempos de eventos, el movimiento del puntero y la salida de WebGL cuestan más esfuerzo que una petición HTTP simple, y todos se reproducen trivialmente con un navegador real automatizado si el operador tiene paciencia. El orden de cabeceras y las huellas TLS son más difíciles de falsificar porque vienen de la librería TLS y no del código que la llama, pero en Cloudflare exigen un plan Enterprise, así que un sitio pequeño suele trabajar con señales JS, límites de tasa y reputación.
16. Dónde va la fricción
Pon el desafío donde el coste de un falso positivo es más bajo y el valor para un atacante más alto: creación de cuentas, restablecer contraseña, pago y cualquier acción que envíe un mensaje. Deja las lecturas en paz. Después añade reglas de velocidad —una IP creando varias cuentas al día, un dispositivo en decenas de sesiones, un pico desde un solo ASN— porque eso atrapa justo el tráfico que un desafío habría dejado pasar.
ipbox.one expone estas tres capas hasta donde puede verlas: el ASN y la clase de red de la dirección, los detalles TLS que el borde observó en esta petición y el bot score cuando el despliegue lo expone. Los valores que no puede obtener se marcan como no disponibles en lugar de inventarse, y eso también es un resultado.