Descripción general de las políticas de firewall de reCAPTCHA

En este documento, se proporciona una descripción general de las políticas del firewall de reCAPTCHA.

Una política de firewall de reCAPTCHA es un conjunto de reglas que coinciden en atributos de condición para proteger tu sitio contra el spam y el abuso. Cada regla se evalúa para el tráfico entrante. Las reglas se evalúan en el mismo orden en que se agregan a la política.

Componentes de la política de firewall de reCAPTCHA

Una regla de la política de firewall de reCAPTCHA consta de los siguientes componentes:

  • path: Es una ruta de URL a la que se aplica la regla de la política de firewall. Por ejemplo, /login
  • condition: Es una condición de la política. Una condición de política es una expresión CEL (Common Expression Language) que debe resolverse en un valor booleano. Por ejemplo, recaptcha.score >= 0.5.
  • action: Es una acción que tu proveedor de servicios de WAF debe ejecutar cuando se cumple la condición de la política. Para obtener más información, consulta acciones de políticas.

Cuando una solicitud entrante coincide con una condición de política para la ruta de acceso especificada, tu proveedor de servicios de WAF permite, bloquea o redirecciona la solicitud, según la acción especificada. La regla predeterminada es permitir el acceso.

Ejemplo de política de firewall de reCAPTCHA

La siguiente política de firewall de reCAPTCHA de muestra contiene una regla que se aplica a la acción login. Bloquea el acceso si la puntuación es inferior a 0.5.

     policy {
          path: login.php
          condition: recaptcha.score < 0.5
          action: block
        }

Atributos de condición de la política de firewall de reCAPTCHA

En la siguiente tabla, se enumeran los atributos de tokens de reCAPTCHA que puedes usar para definir condiciones en tus políticas de firewall de reCAPTCHA.

Nombre del atributo Tipo de datos Descripción
recaptcha.token.valid booleano Indica si el token recibido es válido. Un token es válido si no tiene un formato incorrecto o si no venció, incluso si la puntuación es baja.
recaptcha.token.action string Es el nombre de la acción que se proporcionó en la generación del token. Solo se completa para los tokens de acción. Este es el parámetro action que se pasa a grecaptcha.enterprise.execute() cuando se crea el token. Para obtener más información, consulta Nombres de acciones.
recaptcha.score float La puntuación de un token de reCAPTCHA. Una puntuación válida varía de 0.0 a 1.0. La puntuación de 1.0 indica que la interacción representa un riesgo bajo y es probable que sea legítima, mientras que la de 0.0 indica que la interacción representa un riesgo alto y podría ser fraudulenta. Para obtener más información, consulta Cómo interpretar las puntuaciones.
recaptcha.assessment_type integer Es el tipo de evaluación que se realizó. assessment_type se configura según la clave de reCAPTCHA para el WAF que se pasa con la solicitud.

Para comparar el valor de recaptcha.assessment_type en tu expresión CEL, usa una de las siguientes constantes:

  • AssessmentType.ACTION
  • AssessmentType.SESSION
  • AssessmentType.CHALLENGEPAGE
  • AssessmentType.EXPRESS
Por ejemplo, para comparar una evaluación de token de acción, usa AssessmentType.ACTION.
http.ip string La dirección IP de la solicitud entrante.
http.path string Es la ruta del URI de la solicitud.
http.domain string Es el dominio del URI solicitado.

Acciones de la política de firewall de reCAPTCHA

En la siguiente tabla, se enumeran las diversas acciones de política que puedes especificar en las reglas de la política de firewall de reCAPTCHA:

Acción de la política Descripción Resultado de la acción
allow Permite el acceso a la página solicitada. La solicitud del usuario entrante no se interrumpe en tu backend.
block Rechaza el acceso a la página solicitada. Se muestra un error HTTP 403 (prohibido) al usuario.
redirect Redirecciona la solicitud del usuario entrante a la página de desafío de reCAPTCHA. La página de desafíos de reCAPTCHA evalúa la solicitud del usuario y adjunta una cookie según la evaluación. Más tarde, la solicitud del usuario se redirecciona nuevamente a la página original.
substitute Publica una página diferente a la solicitada a una solicitud fraudulenta del usuario. La ruta solicitada se sustituye por una diferente cuando se envía la solicitud a tu backend. El usuario sigue viendo la URL original.
set_header Establece un encabezado personalizado y permite que la solicitud del usuario entrante continúe en el backend. Luego, el backend puede activar una protección personalizada. Se adjunta un encabezado a la solicitud del usuario. Tu backend usa este encabezado para activar una protección o un análisis personalizados.

¿Qué sigue?