Un desarrollador de SaaS descubrió que activar el Bot Fight Mode de Cloudflare para todos los dominios de su cuenta detuvo el tráfico de la API durante un mes entero, dejando a los clientes de pago sin poder utilizar las funciones principales de su producto.

El problema surgió cuando el desarrollador notó un repentino estancamiento en las métricas de uso. Los nuevos registros seguían llegando, pero las sesiones activas dejaron de crecer. Tras semanas de reescritura de código y depuración, un único interruptor de seguridad resultó ser el culpable: el Bot Fight Mode de Cloudflare estaba etiquetando el propio endpoint de AWS Lambda del SaaS como un bot malicioso y lo estaba bloqueando.

Cómo un único ajuste rompió todo un servicio

El stack del desarrollador dependía de llamadas de servidor a servidor. Una función Lambda interna enviaba regularmente datos al dominio público del SaaS, un patrón común en las arquitecturas modernas de microservicios. El Bot Fight Mode desafía o bloquea las solicitudes que parecen ser scrapers automatizados, protegiendo a los sitios basados en contenido de la recolección de datos.

Cuando el modo se habilitó en todas las zonas, Cloudflare trató la solicitud saliente de la Lambda como otro cliente automatizado. La solicitud nunca llegó a la aplicación y, como el bloqueo ocurrió en el edge, las herramientas de monitoreo del SaaS no detectaron ningún error: el tráfico simplemente desapareció. El uso de CPU del desarrollador en Cloudflare Workers se disparó, lo que le llevó a sospechar de un scraper externo en lugar de de su propio backend.

Solo después de indagar en los logs de Cloudflare vio entradas de bloqueo de "Bot Fight Mode" que coincidían con el rango de IP de la Lambda. Desactivó la función para las zonas afectadas y el tráfico de la API se reanudó, normalizando las métricas de uso.

Por qué este error es importante para los operadores de SaaS

  • Los productos centrados en APIs necesitan canales abiertos de servidor a servidor. El Bot Fight Mode asume que el tráfico principal son solicitudes de navegadores humanos para HTML, imágenes o activos estáticos. Las plataformas SaaS que exponen APIs, webhooks o callbacks internos pueden sufrir restricciones o bloqueos sin que un código de error visible llegue a la capa de aplicación.
  • Los ajustes de seguridad globales rara vez se adaptan a todas las cargas de trabajo. Aplicar una única configuración de Cloudflare a todos los dominios trata a cada sitio como si compartiera el mismo modelo de amenazas. Los sitios de contenido, los foros y los back-ends de SaaS tienen requisitos de seguridad muy diferentes.
  • Los fallos silenciosos merman los ingresos. El sistema de alertas del desarrollador no se activó porque las solicitudes bloqueadas nunca llegaron a la aplicación. Solo una caída en las métricas de interacción del usuario insinuó el problema. Sin revisiones proactivas de los logs a nivel de edge, problemas similares pueden persistir sin ser detectados.

Qué pueden hacer los desarrolladores para evitar el mismo destino

  1. Audite el perfil de tráfico de cada zona. Antes de habilitar el Bot Fight Mode, enumere los tipos de solicitudes que su dominio espera: navegadores humanos, llamadas a APIs, callbacks de webhooks o llamadas de servicios internos. Si alguno es esencial para la funcionalidad principal, trate la zona como "API-first" y mantenga los ajustes de mitigación de bots al mínimo.
  2. Pruebe los cambios en un entorno de staging. Cloudflare le permite aplicar ajustes a un único subdominio o a una zona de staging. Verifique que la automatización legítima siga funcionando antes de implementar el cambio de forma global.
  3. Monitoree los logs a nivel de edge como parte de su stack de observabilidad. Envíe los logs del firewall y de mitigación de bots de Cloudflare a un SIEM, Loki o cualquier servicio de agregación. Correlacione los picos de solicitudes bloqueadas con las caídas en las métricas de la aplicación para detectar fallos silenciosos de forma temprana.
  4. Haga que los ajustes de seguridad sean reversibles. Mantenga un plan de rollback documentado. Si una nueva regla causa un comportamiento inesperado, desactívela primero y confirme el cambio antes de invertir tiempo en soluciones de código alternativas.
  5. Haga la pregunta correcta. En lugar de preguntar "¿cómo puedo detener los scrapers?", pregunte "¿resuelve esta herramienta el problema específico que estoy viendo?". Una función de seguridad que bloquea scrapers puede no ser la respuesta adecuada para un SaaS que necesita acceso abierto a la API.

Una perspectiva más amplia

El Bot Fight Mode sigue siendo valioso para los sitios que necesitan proteger el contenido estático de crawlers agresivos. Su desventaja es la incapacidad de diferenciar entre un scraper hostil y un cliente automatizado legítimo que sigue los mismos patrones HTTP.

Conclusión

Cuando gestione múltiples dominios bajo una única cuenta de Cloudflare, trate cada uno como una zona de seguridad distinta. Habilite el Bot Fight Mode solo donde el tráfico sea puramente humano; para las cargas de trabajo de SaaS con gran uso de APIs, mantenga el ajuste desactivado o ajústelo con reglas de firewall personalizadas. Un solo clic puede silenciar el tráfico legítimo con la misma eficacia con la que puede detener un scraper.