Cómo Turnstile y Cloudflare Bot Challenge protegen el tráfico web

Specialist in Anti-Bot Strategies
Con el crecimiento continuo de la tecnología en Internet, la seguridad de los recursos web se convierte en una preocupación para los propietarios y desarrolladores de sitios web. Es cada vez más importante utilizar medidas de protección que funcionen contra ataques automatizados y bots.
Turnstile y Bot Challenge, dos de las tecnologías innovadoras de Cloudflare, combinan la usabilidad con la seguridad fiable. Echemos un vistazo más profundo a sus procesos operativos.
El objetivo principal del desarrollo de estas tecnologías, según los desarrolladores, es disminuir los ataques de bots dañinos sin afectar a los usuarios reales.
Cómo Cloudflare encuentra bots
El servicio utiliza técnicas de detección de bots tanto activas (del lado del cliente) como pasivas (del lado del servidor).
Métodos pasivos
Identificación de botnets
Cloudflare cataloga dispositivos, direcciones IP y comportamientos relacionados con botnets peligrosas. Cualquier dispositivo que se considere conectado a una de estas redes se bloquea inmediatamente o tiene más problemas del lado del cliente que deben resolverse.
Reputación de IP
La reputación de la dirección IP de un usuario está determinada por una serie de variables, incluida su ubicación, ISP e historial de reputación. Una dirección IP de un centro de datos o un servicio VPN de confianza, por ejemplo, tendrá menos reputación que una de una residencia. Dado que el tráfico del cliente real nunca debe originarse fuera de su área de servicio, el sitio web también puede imponer restricciones al acceso desde esas áreas.
Encabezados para solicitudes HTTP
Cloudflare utiliza los encabezados de solicitud HTTP para la verificación. Es posible que su analizador se confunda con un bot si tiene un agente de usuario que no sea de navegador. El servicio puede bloquear un bot potencialmente si envía una solicitud sin encabezados. o si, según su agente de usuario, hay encabezados que no coinciden.
Huella digital TLS
Cuando te conectas al servidor, se genera una huella digital TLS. Para determinar el hash de la huella digital, el sistema examina las curvas elípticas, las extensiones y las suites de cifrado.
Si el encabezado del agente de usuario de la solicitud del cliente coincide con el agente de usuario asociado con el hash de huella digital registrado, el sistema de seguridad concluye que la solicitud se originó en un navegador normal. Si estos datos no coinciden, la solicitud será denegada.
Huella digital HTTP/2
Cada solicitud del cliente tendrá una huella digital HTTP/2 estática, al igual que con la huella digital TLS. Cloudflare siempre verifica la autenticidad de una solicitud comparando el par de huella digital y agente de usuario de la solicitud con el par de la lista blanca almacenada en la base de datos.
La huella digital TLS y HTTP/2 son casi iguales. Estos dos son los técnicamente más difíciles de controlar en función de las solicitudes de todas las técnicas de detección de bots pasivas que emplea Cloudflare. Sin embargo, son los más importantes.
Métodos activos
Escuchar eventos
Las páginas web pueden tener una función addEventListener añadida por Cloudflare usando JavaScript, que permite al sitio web monitorizar la entrada del usuario como clics del ratón, pulsaciones de teclas y movimientos. Hay una buena posibilidad de que el usuario sea un bot si no se están utilizando.
Solicitud de API
APIs exclusivas de un determinado navegador. En ciertos navegadores, estos requisitos están presentes, pero pueden no estarlo en otros.
Como ilustración, la propiedad window.chrome es exclusiva del navegador web Chrome. Será evidente que algo anda mal si los datos que está transmitiendo dicen que está utilizando Chrome, pero los envía utilizando el agente de usuario de Firefox.
API para marcas de tiempo
El servicio realiza un seguimiento de las métricas de velocidad del usuario utilizando APIs de marcas de tiempo como Date.now() y window.performance.timing.navigationStart. Se bloqueará al usuario si las etiquetas no coinciden con su comportamiento online habitual.
Detección automática de navegadores
Sólo las configuraciones automatizadas tienen las cualidades que Cloudflare exige. Por ejemplo, se utilizan PhantomJS y Selenium cuando está presente window.document.__selenium_unwrapped o window.callPhantom. Si esto se descubre, serás bloqueado por razones obvias.
Identificación de Sandbox
Comprobaciones, como las de NodeJS que utilizan JSDOM, detienen los contextos de navegador simulados. El script tiene la capacidad de buscar el archivo de objeto del proceso, que es exclusivo de NodeJS.
También se puede utilizar Function.prototype.toString.call(functionName) para averiguar si se han modificado las funciones.
Cloudflare Turnstile
Cloudflare Turnstile es un reemplazo inteligente para CAPTCHA. Puede incluirse en cualquier recurso del sitio web sin necesidad de que los usuarios envíen un captcha o dirijan el tráfico a través de Cloudflare.
Llamar al servidor de origen para arreglar Cloudflare CDN
Sería preferible si pudiéramos enviar la solicitud directamente al servidor de origen, ya que Cloudflare sólo puede bloquear las solicitudes que pasan por su red. ¡No hay seguridad que se interponga en el camino de los datos que necesitas!
Hay dos pasos que debes seguir:
1. Localizar la dirección IP de la fuente.
Los registros DNS están enmascarados en sitios web seguros. Sin embargo, esto probablemente no sea el caso en todas partes: los mensajes de correo electrónico, los servicios obsoletos y los subdominios desprotegidos aún pueden referirse al servidor de origen incluso si son accesibles bajo el mismo nombre de dominio.
2. Realizar una solicitud de datos al servidor de origen.
Fantástico: ¡todavía tienes la dirección IP original! ¿Qué debo hacer con ella ahora? Aunque es posible que no funcione, puedes intentar pegarla en la barra de URL de tu navegador. Esta es una configuración estándar del servidor para aceptar conexiones solo utilizando un nombre de dominio legítimo y no una dirección IP. Debemos mantenernos alejados de ellos ya que DNS se usa con nombres de dominio.
Dado que Cloudflare realmente emplea medidas de seguridad como las salas de espera, este enfoque suele fallar.
Una sala de espera: ¿qué es? Para verificar que no eres un robot, tu navegador debe completar ciertas tareas. Aparecerá un mensaje "Acceso denegado" si eres marcado como un bot. De lo contrario, se producirá una redirección automática al sitio web real.
Estarás en el área de espera de Cloudflare por un breve período. El nivel de seguridad del objetivo y qué tan bien tu analizador pasa las pruebas determinarán el tiempo preciso. Tendrás algo de tiempo para navegar por el sitio web después de completar la tarea una vez.
¿Cómo puedo solucionar la sala de espera en Cloudflare? Idealmente, demuestra tu humanidad completando tareas de JavaScript. Sin embargo, analizar el desafío de JavaScript de Cloudflare para comprender el algoritmo a cargo de generar la tarea y confirmar la respuesta es una estrategia viable. para que el script pueda ser rediseñado.
Seleccionar un Agente de Usuario con precaución y usar proxies residenciales premium son esenciales al llegar a Bot Challenge y Turnstile.
Conclusión
Teniendo en cuenta todo lo dicho anteriormente, la forma más sencilla es confiar en las tecnologías creadas para superar el Desafío de Bot de Cloudflare y Turnstile para recursos como Scrapeless, que ofrece una solución eficiente para este tipo de seguridad a un costo significativamente menor que otras.
¿Estás cansado de los CAPTCHA y los bloqueos continuos de raspado web?
Scrapeless: ¡la mejor solución de raspado web todo en uno disponible!
Utiliza nuestro formidable conjunto de herramientas para liberar todo el potencial de tu extracción de datos:
Mejor solucionador de CAPTCHA
Resolución automatizada de CAPTCHA complejos para garantizar un raspado continuo y sin problemas.
¡Pruébalo gratis!
En Scrapeless, solo accedemos a datos disponibles públicamente y cumplimos estrictamente con las leyes, regulaciones y políticas de privacidad del sitio web aplicables. El contenido de este blog es sólo para fines de demostración y no implica ninguna actividad ilegal o infractora. No ofrecemos garantías y renunciamos a toda responsabilidad por el uso de la información de este blog o enlaces de terceros. Antes de realizar cualquier actividad de scraping, consulte a su asesor legal y revise los términos de servicio del sitio web de destino u obtenga los permisos necesarios.