Emilio Silvestre tu departamento de desarrollo Hablemos

cloudflare --analizar --facetas

461.000 peticiones de bots al día contra los filtros de una tienda

La tienda se caía a ratos. No era tráfico real: era un ataque dirigido contra los filtros de una categoría, pensado para que nada se pudiera cachear.

Tienda online especializada · PrestaShop 8 + Cloudflare Cloudflare WAFPrestaShop 8Faceted Search

resultado

100%

del ataque bloqueado por la regla propuesta

Comprobado contra las 461.000 peticiones del ataque y 2.100 filtros reales

El síntoma

Algunas categorías tardaban más de 2 minutos en cargar y otras devolvían un error 504. Parecía un problema de servidor.

Lo que había detrás

En Cloudflare salió el patrón:

  • 461.000 peticiones en 24 horas con filtros de facetas contra una sola categoría.
  • Cada petición combinaba marcas, disponibilidad y orden al azar, así que ninguna se repetía y ninguna se podía cachear. Cada una obligaba al servidor a recalcular la categoría entera.
  • Venían de miles de IPs de todo el mundo, ninguna con más de 400 peticiones al día. Los límites por IP no saltaban nunca.
  • Cloudflare ya las marcaba como bots, pero la configuración las dejaba pasar.

Las reglas que había no servían. Una solo cubría seis rutas y la atacada no estaba. Otra, pensada para permitir la pasarela de pago, eximía de todas las protecciones a toda la red de Telefónica: un 9 % del tráfico se saltaba cualquier regla.

La solución

Revisé el JavaScript de los filtros de la tienda: siempre envía una cabecera concreta en sus peticiones. Ninguna de las 461.000 peticiones del ataque la llevaba.

medidaefecto sobre el ataqueefecto en clientes
Desafío a los filtros sin la cabecera de la tiendacorta el 100 %ninguno (2.100 de 2.100 filtros reales la llevan)
Bloquear el tráfico «definitely automated»249.000 peticiones/día en el bordeninguno; pasarelas y ERP ya exentos
Corregir la regla de la pasarela de pagose cierra el agujero del 9 %ninguno
Ampliar la regla de 120 caracteresparcialsí rompe filtros reales: descartada

Cada medida iba con su impacto en clientes comprobado contra el código y el tráfico real. También propuse no aplicar una de ellas porque rompía la tienda, aunque paraba parte del ataque.

¿Hablamos de tu proyecto? respondo en menos de 24 h
20 min Hablemos