Permite el paso de los bots de CoreDash en tu CDN o firewall

A veces un ajuste del firewall o del CDN bloquea los bots de CoreDash. Esta página muestra cómo solucionarlo.

Trusted by market leaders · Client results

kpnvpnsnvfotocasaadevintaworkivaerasmusmcdpg mediawhowhatwearmy work featured on web.devhappyhorizonmarktplaatscomparemonarchnestleebaynina careharvardperionsaturnloopearplugsaleteia

Permite el paso de ambos bots de CoreDash en tu CDN o firewall

En resumen

  • Ambos bots de CoreDash se identifican con un user agent que empieza por CoreDash/, así que una sola regla permite el paso de la auditoría de cRUM y de la comprobación de uptime.
  • Una regla basada en el bot token del proyecto es la variante más segura de esa regla.
  • Bot Fight Mode en el plan Free de Cloudflare ignora tus reglas, por lo que necesita una solución específica.

CoreDash tiene dos bots que visitan tu sitio: la auditoría de cRUM y la comprobación de uptime. Para aprovechar CoreDash al máximo, tu CDN o firewall debe permitir el paso de ambos. A veces, algún ajuste los bloquea. Esta página explica cómo solucionarlo en Cloudflare y AWS WAF con una sola regla para ambos bots.

Qué hace cada bot:

  • La auditoría de cRUM. Cuando eliges una página en cRUM (beta) dentro del menú de CoreDash, CoreDash la abre en Chrome en su servidor de auditoría, igual que haría un visitante, y te muestra qué la ralentiza. Su user agent es CoreDash/1.0 (audit; +https://www.coredash.app/bot).
  • La comprobación de uptime. Cada 30 minutos, CoreDash hace una petición a cada sitio que monitorizas desde sus propios servidores y te avisa si alguno se cae. Envía CoreDash/1.0 (uptime; +https://www.coredash.app/bot).

El user agent es el nombre que envía un navegador o bot en cada petición para identificarse. Los dos de CoreDash empiezan por CoreDash/, y eso es lo que buscará tu regla.

Cómo se ve una auditoría o comprobación de uptime bloqueada

Tu firewall o CDN detecta un visitante procedente de un centro de datos cuyo user agent no es el de un navegador. Lo interpreta como un bot no confiable y responde con un código de error o una página de challenge. Cada bot lo refleja a su manera.

Una auditoría de cRUM bloqueada se detiene con el mensaje "Audit failed" y un error debajo. O bien se ejecuta sobre la página de bloqueo: el Page load filmstrip muestra entonces una página de challenge o de error en lugar de la tuya, y cada cifra de la auditoría pertenecerá a esa página.

El monitor de uptime indica Blocked, y el aviso "A firewall blocks the checker" muestra qué código de estado recibieron las comprobaciones y desde cuándo. CoreDash no incluye las comprobaciones bloqueadas en el tiempo de caída, por lo que el bloqueo no reduce tu uptime. Pero mientras todas las comprobaciones estén bloqueadas, ninguna llegará a tu web y el monitor no podrá avisarte si se cae.

CoreDash uptime monitor for example-shop.com marked Blocked: every check since 17 Oct got a 403 from Cloudflare, with links to this page and to the bot token

Página del monitor para example-shop.com cuando Cloudflare responde con un 403 a cada comprobación de uptime.

Cómo reconoce tu firewall a CoreDash

Creas una excepción para CoreDash en tu firewall o CDN, y la mayoría lo hace por user agent: una regla con CoreDash/ permite el paso de la auditoría y de la comprobación de uptime. El bot token del proyecto permite crear una regla más estricta, ya que solo lo envían los bots de tu propio proyecto. Las direcciones IP de CoreDash son el último recurso si nada más funciona. Cambian cuando CoreDash añade o traslada un servidor, así que tendrás que mantener la regla al día tú mismo.

El log del firewall te indicará qué ajuste necesita la excepción. En la siguiente sección veremos el log de Cloudflare. Para AWS WAF, consulta más abajo la sección "Permite CoreDash en AWS WAF por encima de Bot Control".

Averigua qué bloqueó a CoreDash en Cloudflare

Abre tu dominio en Cloudflare y ve a Security › Analytics, pestaña Events. En Sampled logs, busca una petición con el user agent de CoreDash. Si el sitio tiene mucho tráfico, haz clic en Filter, selecciona User agent como campo y pega el user agent completo en el valor: CoreDash/1.0 (uptime; +https://www.coredash.app/bot) para la comprobación de uptime o CoreDash/1.0 (audit; +https://www.coredash.app/bot) para la auditoría.

Haz clic en la petición para abrirla. La línea Service indica qué función de Cloudflare la bloqueó.

Cloudflare Security Events for www.example-shop.com: a request with the CoreDash uptime user agent, action Block, Service Browser integrity check

Browser Integrity Check bloqueó esta comprobación de uptime en example-shop.com.

Esa línea Service determina la solución:

  • Bot fight mode: es la protección contra bots del plan Free de Cloudflare, y tus reglas no pueden crear una excepción para ella. Pasa directamente a la sección sobre Bot Fight Mode más abajo.
  • Cualquier otra cosa, como Browser integrity check en la captura, una regla administrada o Super Bot Fight Mode: crea la regla Skip descrita a continuación.

Permite el paso de CoreDash en Cloudflare con una regla Skip

Una regla Skip le indica a Cloudflare que no aplique las funciones que elijas a ninguna petición con el user agent de CoreDash. Cubre la auditoría y la comprobación de uptime a la vez, y puedes crearla en cualquier plan de Cloudflare.

  1. Ve a Security › Security rules. En Custom rules, haz clic en Create rule.
Cloudflare Security rules page for example-shop.com, with an empty Custom rules section and its Create rule button

Security rules para example-shop.com, antes de la primera regla personalizada.

  1. Nombra la regla como CoreDash. En "When incoming requests match", haz clic en "Edit expression" y pega esta línea en el cuadro de texto que aparece.
    http.user_agent contains "CoreDash/"
Cloudflare New custom rule named CoreDash with the expression http.user_agent contains "CoreDash/"

Nombre y expresión de la regla tras hacer clic en "Edit expression". La barra inclinada después de CoreDash debe incluirse.

  1. En "Then take action", elige Skip y selecciona lo que Cloudflare debe omitir para CoreDash. En "WAF components to skip", marca "All managed rules" y "All Super Bot Fight Mode Rules". Haz clic en "More components to skip" para desplegarlo y marca también "Browser Integrity Check". Deja activada la opción "Log matching requests" para que Events muestre más adelante la regla en funcionamiento.
Cloudflare custom rule set to Skip, with All managed rules, All Super Bot Fight Mode Rules and Browser Integrity Check ticked

La acción Skip con las tres casillas marcadas.

  1. Haz clic en Deploy. Si tu dominio ya tiene otras reglas personalizadas, Cloudflare te preguntará dónde colocar esta: ponla en primer lugar.
Bottom of the Cloudflare custom rule form: status Active, rule validation passed, Deploy button

Sin otras reglas personalizadas no hay nada que ordenar, así que Deploy es el último clic.

  1. Comprueba que CoreDash consigue pasar. En cuanto llegue la siguiente auditoría o comprobación de uptime, Events en Cloudflare la listará con la acción Skip. En CoreDash, revisa el bot que utilices, o ambos.

Para la auditoría de cRUM, vuelve a seleccionar la página en cRUM (beta) o recarga la pestaña del navegador donde esté abierta; se iniciará una nueva auditoría. En cuanto pase, el Page load filmstrip mostrará la carga de tu propia página en Chrome, fotograma a fotograma.

CoreDash cRUM audit, card Page load filmstrip: a page loading frame by frame over five seconds, with markers for TTFB, DCL, Load, FCP, LCP and CLS

Auditoría completada, con TTFB, FCP, LCP y CLS marcados en los fotogramas.

La comprobación de uptime no requiere ningún clic: CoreDash comprueba a las horas en punto y a las medias, por lo que en menos de 30 minutos el monitor pasará a Up y las nuevas barras se mostrarán en verde.

CoreDash uptime monitor for example-shop.com back to Up: amber bars while Cloudflare blocked the checks with a 403, green since the rule

example-shop.com vuelve a estar en Up: 38 comprobaciones recibieron un 403, y todas las comprobaciones desde la regla recibieron un 200.

Una regla más segura en Cloudflare con el bot token de CoreDash

Cualquiera puede enviar un user agent que empiece por CoreDash/, de modo que un bot malicioso que finja ser CoreDash también pasaría la regla Skip. El bot token de tu proyecto es un secreto: cada auditoría y comprobación de uptime lo envía en un header llamado X-CoreDash-Bot. Una regla basada en ese token solo deja pasar a los bots de tu propio proyecto.

Para obtenerlo, abre Project settings en CoreDash y ve a la pestaña "CoreDash bot token". Solo el propietario del proyecto puede abrirla. Si un monitor muestra Blocked, el enlace "View your CoreDash bot token" del aviso también te llevará allí. Haz clic en "Copy Cloudflare rule": obtendrás la expresión completa con tu token incluido.

Project settings, CoreDash bot token for Example Shop: the token hidden, with Show, Copy token and Copy Cloudflare rule

"Copy Cloudflare rule" copia en el portapapeles la expresión con tu token.

Si ya habías creado la regla Skip, ve a Security › Security rules y abre la regla de CoreDash. Sustituye la línea del user agent en su expresión por lo que acabas de copiar y guarda la regla. La acción y las casillas marcadas se quedan como están. Si todavía no tienes la regla creada, sigue los pasos de la regla Skip anteriores y pega la línea del token en el paso 2.

El token solo se envía al propio sitio de tu proyecto y a sus subdominios. Un monitor o una auditoría de una página en otro dominio no envía ningún token, por lo que ese dominio mantendrá la regla del user agent. Y si el token acaba alguna vez donde no debería, haz clic en "Make a new token". El token anterior deja de funcionar de inmediato, así que pon el nuevo en tu regla de Cloudflare justo después.

Bot Fight Mode en el plan Free de Cloudflare

Esta parte te interesa si la línea Service en Events indicaba Bot fight mode.

Cloudflare Security Events for www.example-shop.com: a request with the CoreDash uptime user agent, action Managed Challenge, Service Bot fight mode

Una comprobación de uptime de CoreDash con la acción Managed Challenge y el servicio Bot fight mode.

Bot Fight Mode lanza challenges a bots sencillos que se ejecutan en servidores cloud y, para Cloudflare, ambos bots de CoreDash son justo eso. La documentación de Cloudflare indica que las reglas Skip y Allow no tienen ningún efecto sobre él. Así que o lo desactivas, o lo mantienes activo y permites el paso de las direcciones IP de CoreDash.

Desactiva Bot Fight Mode

Ve a Security › Settings y filtra por Bot traffic. Busca la fila "Bot fight mode" y apaga el interruptor. Cloudflare dejará de lanzar challenges a esos bots básicos en todo tu sitio. Si prefieres mantener esa protección, el plan Pro incluye Super Bot Fight Mode, que sí respeta la regla Skip. Con el interruptor apagado, crea también la regla Skip explicada arriba para evitar que Browser Integrity Check o una regla administrada bloqueen a CoreDash a continuación.

Cloudflare Security Settings filtered on Bot traffic, with the Bot fight mode row and its switch

El interruptor de Bot fight mode está en la columna Status. En esta captura ya está apagado.

Mantén Bot Fight Mode activo y permite las direcciones IP de CoreDash

Antes de empezar: estas direcciones no son fijas. Tus reglas de acceso IP se quedarán exactamente como las escribas, mientras que la lista actualizada siempre está en app.coredash.app/bot/ips.json. Si algún día vuelven a bloquear a CoreDash, compara primero tus reglas con esa lista.

Una regla de acceso IP permite que una dirección IP sobrepase las reglas del firewall, y Bot Fight Mode no toca una petición si una regla de este tipo coincide antes. Ve a Security › Security rules y haz clic en Create rule bajo IP access rules. Si Cloudflare sugiere crearla como regla personalizada, elige "No, go to IP access rules". Introduce 51.195.222.219, elige Allow y "This website", y haz clic en Create. Crea una regla por dirección: 51.195.222.219 y 51.195.222.220 para la comprobación de uptime, y 135.125.202.210 para la auditoría de cRUM.

Cloudflare New IP access rule allowing 51.195.222.219, a CoreDash uptime address, on this website

Una regla de acceso IP por cada dirección de CoreDash, configurada en Allow en este sitio web.

Tras aplicar cualquiera de las dos soluciones, comprueba que CoreDash consiga pasar, igual que en el paso 5 de la regla Skip.

Permite CoreDash en AWS WAF por encima de Bot Control

En AWS WAF, lo que bloquea a CoreDash suele estar en Bot Control, el grupo de reglas administradas que ofrece AWS contra bots. Se soluciona con una regla Allow para el user agent de CoreDash situada por encima de Bot Control; esa única regla permite el paso de la auditoría y de la comprobación de uptime. Las capturas de AWS mostradas aquí proceden de una configuración de prueba para acme-aws.com, creada para esta página.

  1. En la consola de AWS WAF, abre la web ACL de tu sitio (el conjunto de reglas que lo protege) y ve a la pestaña Sampled requests. Haz clic en la URI de una petición para ver sus headers: las de CoreDash tienen un user agent que empieza por CoreDash/. La columna "Rule inside rule group" indica qué regla las ha bloqueado.
AWS WAF Sampled requests in a demo setup for acme-aws.com: CoreDash checks blocked by the Bot Control rule SignalNonBrowserUserAgent

La regla SignalNonBrowserUserAgent de Bot Control bloquea las comprobaciones de uptime de CoreDash en acme-aws.com.

  1. En la web ACL, haz clic en Add rules › "Add my own rules and rule groups" para abrir el Rule builder (en la nueva consola de AWS se llama Custom rule). Rellénalo como en la captura: una regla normal llamada CoreDash que inspecciona el header user-agent y permite cualquier petición donde empiece por CoreDash/. Después, baja hasta el final del formulario y haz clic en "Add rule".
AWS WAF Rule builder in a demo setup: rule CoreDash, single header user-agent starts with CoreDash/, action Allow

La regla CoreDash: Single header user-agent, Starts with string CoreDash/, acción Allow.

  1. AWS abrirá la pantalla "Set rule priority". Selecciona CoreDash, haz clic en "Move up" hasta colocarla arriba del todo y haz clic en Save. AWS evalúa las reglas de arriba a abajo, y una petición que coincide con una regla Allow no pasa de ahí; de este modo, Bot Control nunca llegará a ver una petición de CoreDash.
AWS WAF Set rule priority in a demo setup: CoreDash with action Allow at the top, above the Bot Control rule group

CoreDash en la parte superior, por encima del grupo de reglas Bot Control.

  1. Comprueba que CoreDash consigue pasar. En Sampled requests, las peticiones más recientes de CoreDash mostrarán ahora tu regla CoreDash con la acción Allow.
AWS WAF Sampled requests in a demo setup for acme-aws.com: the CoreDash checks now match the CoreDash rule, action Allow

Las comprobaciones más recientes de CoreDash en acme-aws.com coinciden con la regla CoreDash y consiguen pasar.

En CoreDash, revisa el bot que utilices, igual que en el paso 5 de la regla Skip de Cloudflare: una nueva auditoría mostrará tu propia página en el Page load filmstrip, y el monitor pasará a Up tras la siguiente comprobación de uptime.

Al igual que en Cloudflare, el bot token del proyecto hace que esta regla sea más segura. El motivo y qué sitios reciben el token se explican en la sección anterior sobre el token de Cloudflare. Para cambiar la regla de AWS y usar el token:

  1. En CoreDash, abre Project settings, ve a la pestaña "CoreDash bot token" y haz clic en "Copy token".
  2. En AWS WAF, vuelve a abrir la regla CoreDash en tu web ACL. Es el formulario de la captura anterior de Rule builder.
  3. Cambia el nombre del campo del header de user-agent a x-coredash-bot. AWS no distingue mayúsculas de minúsculas en los nombres de header, así que esto equivale al header X-CoreDash-Bot.
  4. Configura el tipo de coincidencia en "Exactly matches string", pega tu token como la cadena que debe coincidir y guarda la regla.

La comprobación de origen da timeout detrás del CDN

Esto afecta únicamente a la comprobación de uptime, y solo si indicaste una Origin IP en Advanced al configurar el monitor. En ese caso, CoreDash comprueba también el servidor directamente, sin pasar por el CDN. Algunos servidores solo aceptan peticiones procedentes de las direcciones del propio CDN. Si ocurre esto, el monitor pasa a Down con el mensaje "The origin check fails: Connect timeout", aunque los visitantes sigan recibiendo páginas desde el CDN.

CoreDash monitor for example-shop.com marked Down: the CDN still serves cached pages, the origin check gets a connect timeout

El CDN sigue entregando páginas en caché y la comprobación al propio servidor da timeout.

Una regla sobre el user agent o el token no sirve aquí: el servidor descarta la comprobación por su origen, antes de leer ningún header. Por tanto, debe reconocer a CoreDash por sus direcciones IP. Permite las dos direcciones de uptime, 51.195.222.219 y 51.195.222.220, en el firewall del servidor, o pídele a tu proveedor de hosting que lo haga. Si más adelante la comprobación de origen vuelve a dar timeout, consulta primero la lista actualizada: las direcciones podrían haber cambiado.

CoreDash sigue bloqueado

Si el monitor sigue marcando Blocked o la auditoría sigue fallando, vuelve a abrir el log y haz clic en la petición de CoreDash más reciente: Events en Cloudflare, Sampled requests en AWS. Lo que aparezca allí es lo que está bloqueando a CoreDash ahora. Los motivos habituales:

  • Una función distinta a la anterior, como Browser integrity check tras desactivar Bot Fight Mode. Crea también la regla Skip.
  • La regla no está activa, o en AWS no está arriba del todo. En Cloudflare, la regla de CoreDash debe mostrar Active en Custom rules. En AWS, debe estar al principio de "Set rule priority".
  • La regla no coincide exactamente con los pasos indicados. Cloudflare necesita contains y CoreDash/ con la barra; AWS requiere el header user-agent y "Starts with string".
  • Alguna de tus propias reglas en Cloudflare, como una regla de bloqueo por países. La regla Skip mantiene activas tus reglas personalizadas, así que modifica esa regla para excluir a CoreDash. En Events puedes ver de qué país procedía la petición.
  • Under Attack Mode. Lanza un challenge a cada visitante, CoreDash incluido, hasta que lo desactives.
  • La petición figura como admitida, o no aparece ninguna petición de CoreDash. En ese caso hay otro firewall delante o detrás de Cloudflare o AWS, como el firewall de tu hosting o una regla en tu servidor. Da paso al user agent CoreDash/ allí también.

¿Sigues con problemas? Contacta con CoreDash indicando la URL del monitor o de la página auditada y la hora en que se bloqueó.

Qué envía cada bot y por qué se explica en la página de los bots de CoreDash. Más información sobre monitores en monitorización de uptime y, para scripts, en la API de uptime.

Permite el paso de los bots de CoreDash en Cloudflare y AWS WAF Core Web Vitals Permite el paso de los bots de CoreDash en Cloudflare y AWS WAF