Descripción general de la administración de bots de Google Cloud Armor

Google Cloud Armor y reCAPTCHA Proporcionamos herramientas para ayudarte a evaluar las solicitudes entrantes y responder a ellas de clientes automatizados.

reCAPTCHA usa técnicas avanzadas de análisis de riesgos para distinguir entre los usuarios humanos y los clientes automatizados. reCAPTCHA evalúa al usuario según la configuración las claves del sitio de reCAPTCHA WAF. Luego, emite un token encriptado con atributos que representan el riesgo asociado. Google Cloud Armor descifra este token en línea, sin una solicitud o respuesta adicional a la reCAPTCHA servicio. Según los atributos del token, Google Cloud Armor te deja permitir, denegar, limitar la frecuencia o redireccionar las solicitudes entrantes. Para obtener más información, consulta el Descripción general de la integración de Google Cloud Armor y reCAPTCHA.

La administración de bots de Google Cloud Armor incluye las siguientes capacidades integradas.

  • Desafío manual (página de desafío de reCAPTCHA)

    • Debes configurar una regla de política de seguridad para redireccionar una solicitud a evaluación de reCAPTCHA.
    • Puedes crear tu propia clave de sitio de reCAPTCHA WAF y asociarla con tu política de seguridad. Te recomendamos que lo hagas. Para obtener más información, consulta Implementa un desafío de reCAPTCHA.
    • Puedes permitir que solo los usuarios finales que pasen el reCAPTCHA desafío manual redireccionando a los usuarios finales a reCAPTCHA la evaluación del rendimiento.
  • Aplica la evaluación sin inconvenientes de reCAPTCHA

    • Puedes realizar diferentes acciones en las solicitudes entrantes según la evaluación de reCAPTCHA del riesgo de que la solicitud se origina a partir de un bot. Puedes escribir reglas de políticas de seguridad para evaluar y filtrar el tráfico según la puntuación del token y otros atributos del token.
    • Debes implementar tokens de acción, tokens de sesión y tokens de o ambas. Los tokens de acción de reCAPTCHA son compatibles con las aplicaciones que se ejecutan en sitios web, iOS y Android. Los tokens de sesión de reCAPTCHA solo se admiten en sitios web. Para obtener más información sobre los tokens de reCAPTCHA, consulta Tokens de acción de reCAPTCHA y tokens de sesión de reCAPTCHA.
    • Debes configurar una regla de política de seguridad que evalúe tokens de reCAPTCHA.
    • Para evitar el robo de tokens, te recomendamos que asocies tu propio Claves de reCAPTCHA para WAF con tu regla de política de seguridad.

La administración de bots de Google Cloud Armor también incluye las siguientes capacidades.

  • Redireccionamiento (302)
    • Puedes redireccionar las solicitudes a la URL alternativa configurada si configuras Google Cloud Armor para que entregue una respuesta HTTP 302 al cliente.
  • Decora la solicitud
    • Puedes insertar encabezados personalizados en las solicitudes y valores estáticos en esos encabezados antes de enviar una solicitud a tus backends mediante un proxy.

Casos de uso

En esta sección, se describe cómo puedes usar las capacidades de administración de bots de Google Cloud Armor para mitigar el riesgo de bots y controlar el acceso desde clientes automatizados.

Usa un desafío manual para distinguir entre usuarios legítimos y clientes automatizados

Puedes redireccionar una solicitud a reCAPTCHA para evaluar al cliente final. y presentar desafíos manuales si es necesario, sin ninguna restricción implementación de reCAPTCHA. Cuando los usuarios humanos comparten la misma firma (como las rutas de URL u otra firma L7) como un bot o un sistema abusivo, esta acción les proporciona una forma de demostrar que son humanos. Solo los usuarios que aprueban la evaluación pueden obtener acceso a tu servicio.

En el siguiente diagrama, se muestra cómo un desafío manual distingue si una solicitud proviene de un cliente humano o de un cliente automatizado:

Ejemplo de redireccionamiento a reCAPTCHA.
Ejemplo de redireccionamiento a reCAPTCHA (haz clic para ampliar).

Supongamos que el usuario Maya y un bot están navegando por la página de acceso (/login.html) de tu sitio. Para permitir que Maya acceda sin otorgar acceso al bot, puedes configurar una regla de política de seguridad con la expresión de coincidencia avanzada request.path.matches("/login.html"), con una acción redirect de tipo GOOGLE_RECAPTCHA. La experiencia del usuario de extremo a extremo es la siguiente:

  1. Un usuario final visita tu sitio por primera vez.
  2. Google Cloud Armor evalúa la solicitud y determina redireccionarlo a reCAPTCHA.
  3. reCAPTCHA responde con una página HTML con el JavaScript de reCAPTCHA incorporado.
  4. Cuando la respuesta se renderiza, el JavaScript incorporado se ejecuta para evaluar al usuario y entrega desafíos manuales si es necesario.
    • Si el usuario pasa la evaluación, reCAPTCHA emite un cookie de exención, que el navegador adjunta automáticamente a cada las solicitudes posteriores al mismo sitio hasta que la cookie caduque.
    • De lo contrario, reCAPTCHA no emitirá una cookie de exención.

En este ejemplo, solo Maya aprueba la evaluación de reCAPTCHA y recibe una cookie de exención y obtiene acceso a tu sitio.

Cuando uses desafíos manuales, te recomendamos crear tu propia clave de sitio del WAF de reCAPTCHA y asociarla con la política de seguridad. Esto te permite ver métricas de reCAPTCHA asociadas con el clave de sitio y entrenar un modelo de seguridad específico para la clave de sitio. Para obtener más información, consulta Crea una clave de sitio de desafío del WAF de reCAPTCHA.

Si no creas y asocias una clave de sitio, reCAPTCHA usa una clave de sitio administrado por Google durante la evaluación. No puedes ver las métricas de reCAPTCHA asociadas con claves de sitio que no te pertenecen, incluidas las claves de sitio administradas por Google.

Aplica la evaluación de reCAPTCHA

Cuando hay un token de reCAPTCHA adjunto a una solicitud entrante, Google Cloud Armor evalúa la solicitud y aplica la acción configurada según los atributos individuales del token. Seguridad de Google Cloud Armor La evaluación de políticas ocurre en el perímetro de la red de Google, por lo que que no está involucrada en descifrar el token.

Tokens de reCAPTCHA

reCAPTCHA emite dos tipos de tokens: tokens de acción y tokens de acción tokens de sesión. Ambos tipos de token devuelven una puntuación para cada solicitud según el interacciones con su sitio o aplicación. Ambos tipos de tokens contienen atributos, incluida una puntuación que representa el riesgo asociado con el usuario. También contienen información sobre la clave de reCAPTCHA que usaste cuando se generó el token.

Antes de configurar las reglas de la política de seguridad, debes decidir si usas tokens de acción, tokens de sesión o ambos. Te recomendamos leer el la documentación de reCAPTCHA para fundamentar tu decisión. Para ver más información, consulta la Comparación de casos de uso de reCAPTCHA.

Después de determinar qué tipo de token quieres usar, debes implementar reCAPTCHA para que el token se adjunte con un para cada solicitud. Para obtener información sobre la implementación de tokens en reCAPTCHA, consulta las siguientes páginas:

Por último, usa el lenguaje de reglas de Google Cloud Armor para configurar la seguridad reglas de políticas para evaluar los tokens de reCAPTCHA que se adjuntan con la solicitud. Para evitar el robo de tokens, te recomendamos lo siguiente: asociar tus claves de reCAPTCHA con las reglas de tu política de seguridad. Cuando asocias claves de reCAPTCHA con una regla de política de seguridad, Google Cloud Armor realiza una validación adicional del token comparando la clave reCAPTCHA en el token frente a las claves reCAPTCHA asociadas con la regla. Google Cloud Armor considera un token con una clave de reCAPTCHA desconocida como no válido. Para obtener más información, consulta aplicar la evaluación sin inconvenientes de reCAPTCHA.

En la siguiente figura, se muestra la aplicación del token de reCAPTCHA de tu flujo de trabajo.

Flujo de aplicación del token de reCAPTCHA.
Flujo de aplicación de tokens de reCAPTCHA (haz clic en ampliar).

Redireccionamiento (respuesta 302)

Puedes usar una acción de redireccionamiento basada en URL para redireccionar solicitudes de forma externa a un extremo diferente. Proporcionas un destino de redireccionamiento en forma de una URL, y Google Cloud Armor redirecciona la solicitud mediante la entrega de una respuesta HTTP 302 al cliente.

Decora la solicitud

Google Cloud Armor puede insertar encabezados de solicitud personalizados con valores estáticos definidos por el usuario antes de enviar las solicitudes a tu aplicación mediante proxy. Esta opción te permite etiquetar solicitudes de procesamiento posterior alternativo, como la entrega de un tarro de miel, o para análisis y supervisión adicionales. Ten en cuenta que este parámetro de acción debe agregarse a una acción allow existente.

Encabezados personalizados

Si configuraste Google Cloud Armor para insertar un valor o encabezado personalizado con el mismo nombre que uno de los encabezados personalizados para el balanceador de cargas de aplicaciones externo global o con el balanceador de cargas de aplicaciones clásico, el valor del encabezado es reemplazados por el balanceador de cargas. Para obtener más información, consulta Crea encabezados personalizados en servicios de backend.

Además, si eliges un nombre de encabezado que ya existe en la solicitud, incluidos los encabezados HTTP estándar, el valor original en ese encabezado se reemplazará por el valor definido por el usuario proporcionado a la regla de Google Cloud Armor.

Integra con el límite de frecuencia

Las reglas de límite de frecuencia de Google Cloud Armor son compatibles con las capacidades de administración de bots. Por ejemplo, puedes redireccionar una solicitud de reCAPTCHA evaluación o redireccionar a una URL diferente cuando la cantidad de solicitudes sea superior el umbral configurado. Además, puedes identificar a los clientes para la limitación basada en cookies o tokens de exención de reCAPTCHA para limitar las solicitudes o prohibir a los clientes que reutilicen o abusen de la misma cookie o token a una tasa que supere el umbral configurado por el usuario.

Cookies o tokens de exención de reCAPTCHA del límite de frecuencia

Por seguridad, recomendamos que configures las reglas de límite de frecuencia para evitar el abuso de tokens a través de varios usos por cookie de exención, token de sesión o token de acción de reCAPTCHA único. En la siguiente tabla, se ilustra cómo puedes identificar una cookie o un token de exención de reCAPTCHA como la clave en un regla de límite de frecuencia.

Recurso enforce_on_key enforce_on_key_name
Cookie de exención HTTP-COOKIE recaptcha-ca-e
Token de acción HTTP-HEADER X-Recaptcha-Token
Token de sesión HTTP-COOKIE recaptcha-ca-t

Puedes limitar las solicitudes o bloquear los clientes que dependan del mismo token o cookie de exención y que excedan el umbral configurado. Para obtener más información sobre los parámetros de límite de frecuencia, consulta Aplica el límite de frecuencia.

Ejemplos de límite de frecuencia

Primero, supongamos que solo usas desafíos manuales en URL seleccionadas (/login.html, por ejemplo) en tu sitio. Para lograrlo, configura las reglas de políticas de seguridad de la siguiente manera:

  • Regla 1: Si hay una cookie de exención válida adjunta a la solicitud y la cantidad de usos de la cookie de exención está por debajo del umbral definido, permite la solicitud.
  • Regla 2: Redirecciona la solicitud de evaluación de reCAPTCHA.
Aplicar verificaciones manuales
Aplica verificaciones manuales (haz clic para ampliar).

En segundo lugar, supongamos que solo usas tokens de acción o tokens de sesión en tu sitio. Por ejemplo, puedes usar tokens de acción para proteger acciones de usuarios de alto perfil, como /login.html. Para esto, realiza acciones basadas en la puntuación del token de acción de la siguiente manera:

  • Regla 1: Cuando la puntuación del token de acción es mayor que un umbral predefinido (0.8, por ejemplo), permite la solicitud si la cantidad de usos del token de acción es menor que tu umbral definido.
  • Regla 2: Rechaza la solicitud.
Aplica la evaluación del token de acción de reCAPTCHA.
Aplicar la evaluación del token de acción de reCAPTCHA (haz clic para agrandar).

Puedes configurar reglas similares de políticas de seguridad para aplicar Evaluación de token de sesión de reCAPTCHA.

En tercer lugar, supongamos que combinas tokens de acción o tokens de sesión con desafíos manuales en URL seleccionadas (como /login.html) en tu sitio y deseas realizar acciones según la puntuación del token de acción. Además, quieres darle al usuario una segunda oportunidad mediante la resolución de desafíos si la puntuación no es lo suficientemente satisfactoria. Para ello, configura las reglas de la política de seguridad de la siguiente manera:

  • Regla 1: Cuando la puntuación del token de acción es mayor que un umbral predefinido (0.8, por ejemplo), permite la solicitud si la cantidad de usos del token de acción es menor que tu umbral definido.
  • Reglas 2 y 3: Cuando la puntuación del token de acción es superior a la de otro token predefinido límite (0.5, por ejemplo), redirecciona la solicitud de Evaluación de reCAPTCHA, a menos que haya una cookie de exención válida adjunta a la solicitud, y la cantidad de usos de la cookie de exención está por debajo del umbral definido.
  • Regla 4: Rechaza la solicitud.
Aplicar la evaluación de token de acción de reCAPTCHA con verificaciones manuales.
Aplicar la evaluación de token de acción de reCAPTCHA con verificaciones manuales (haz clic para agrandar).

Puedes configurar reglas similares de políticas de seguridad para aplicar Evaluación de token de sesión de reCAPTCHA con verificaciones manuales.

Si no ajustas las reglas de límite de frecuencia, Google Cloud Armor no impone ningún límite en la cantidad de usos de cada cookie de exención de reCAPTCHA, action-token y session-token. Para los tokens de acción, recomendamos usar un umbral bajo (por ejemplo, 1) y un intervalo de tiempo alto (por ejemplo, 30 minutos, ya que los tokens de acción son válidos durante 30 minutos). Te recomendamos calcular el umbral en función de las estadísticas de tráfico.

¿Qué sigue?