Mitigación simple de robots malos con ciencias de señales

Internet está plagada de actividad de bots. Cualquiera que se encargue de proteger sitios web con un alto tráfico lo sabe muy bien. Algunos bots son beneficiosos y deseados, como los rastreadores de motores de búsqueda o los scripts que hacen llamadas a API. Sin embargo, en muchos casos, los bots pueden ser molestos e incluso maliciosos. Estos son los "bots malos" que preferirías bloquear fácilmente y evitar tratar con ellos. En esta publicación, exploraremos un enfoque automatizado y sencillo para implementar una eficaz mitigación de bots dañinos.

Definición de tipos de bots

Antes de entrar en detalles, es importante definir qué es un bot y qué es un bot malicioso. Un bot es cualquier cliente que realiza solicitudes a tu sitio web y que no es un ser humano utilizando un navegador web. Esto incluye scripts, herramientas de línea de comandos, programas, malware, entre otros. Lo que convierte a un bot en "malo" es su comportamiento. Por ejemplo, ¿está enviando cargas útiles maliciosas o buscando directorios y archivos privados?

Ejemplo de solicitud de bot: Un bot publicitario de Google que envía una solicitud benigna.

Ejemplo de solicitud de Bot malicioso: Una herramienta de escaneo que envía solicitudes maliciosas.

Identificar robots

El primer paso es identificar cualquier robot que pueda estar investigando, rastreando o explorando tu sitio. Para simplificar esto, podemos utilizar un método rudimentario basado en la longitud de la cadena de agente de usuario. La cadena de agente de usuario es un encabezado de solicitud que permite a los servidores identificar al cliente. Los humanos que utilizan navegadores modernos siempre tendrán una cadena de agente de usuario de una longitud mínima. Los bots, por otro lado, tienden a tener cadenas de agente de usuario mucho más cortas. Esto nos permite asumir que cualquier cadena de agente de usuario cuya longitud sea menor que cierto umbral no pertenece a un ser humano. Hay varias fuentes en Internet donde puede encontrar listas de cadenas de agentes de usuario. A continuación se muestra un ejemplo de una de estas fuentes:

Identificar robots malos

Una vez que identificamos los bots, el siguiente paso es evaluar su comportamiento. Signal Sciences ofrece la capacidad de crear reglas que definan el comportamiento malicioso de los bots. Esto se hace mediante la combinación de señales, como la señal "Bot" y otras señales de ataques o anomalías. Puedes personalizar estas reglas para adaptarlas a tu situación específica. Una coincidencia de expresión regular en la cadena usuario-agente y, si hay una coincidencia, agrega la señal de "Bot". Observe que en la captura de pantalla siguiente la expresión regular especifica una longitud de hasta 70 caracteres, por lo que en este ejemplo x — n = 70 . Además, observe que la longitud mínima es cero, lo que significa que también coincidirá con cadenas de agente de usuario vacías.

Aplicación

El último paso es aplicar una regla de aplicación, que puede ser un límite de tasa o una regla de bloqueo. Las reglas de límite de tasas se aplican a nivel de sitio, mientras que las reglas de bloqueo pueden implementarse a nivel de empresa o sitio. Sin embargo, debes tener cuidado al bloquear el tráfico de bots de manera agresiva, ya que esto podría afectar el tráfico legítimo.

Conclusión

El uso de la longitud de la cadena de agente de usuario para detectar bots es un enfoque simple y efectivo para identificar la mayoría del tráfico de bots no deseado. Al determinar el umbral adecuado, identificar comportamientos maliciosos y aplicar limitaciones de velocidad, estarás en camino de mitigar eficazmente el tráfico no deseado de bots. Signal Sciences simplifica este enfoque con sus capacidades de reglas, pero incluso si no usas Signal Sciences, vale la pena explorar las herramientas disponibles para identificar y controlar bots y bots maliciosos en tu sitio web.

Preguntas Frecuentes (FAQs)

  1. ¿Cuál es la diferencia entre un bot y un bot malicioso?
  2. ¿Por qué es importante identificar y mitigar bots maliciosos en un sitio web?
  3. ¿Cómo puedo determinar el umbral adecuado para la longitud de la cadena de agente de usuario?
  4. ¿Cuál es el riesgo de bloquear el tráfico de bots agresivamente?
  5. ¿Qué otras herramientas puedo usar si no tengo acceso a Signal Sciences?
0.2253 G
C8C4 T
XXL
XL
LG
MD
SM
XS
G