Ejemplos de políticas de firewall de reCAPTCHA

En este documento, se muestran ejemplos de las políticas de firewall de reCAPTCHA que puedes crear en función de la implementación de las funciones del WAF de reCAPTCHA.

Ejemplo 1: Una política de firewall de reCAPTCHA con un token de acción

Puedes agregar un token de acción de reCAPTCHA para proteger una acción del usuario, como el acceso. Para asegurarte de que la cookie de reCAPTCHA se emita cuando el usuario inicie la acción de acceso, integra la secuencia de comandos del token de acción de reCAPTCHA en la página principal.

Crea una política de firewall de reCAPTCHA con las siguientes reglas:

  • La ruta en la que se debe aplicar la regla. En este caso: login.php.
  • Si el atributo de nombre de acción del token de acción no coincide con la acción del usuario que está protegida o si la puntuación es menor o igual que 0.1, bloquea el acceso.
  gcloud recaptcha firewall-policies create \
      --description="example1 policy" \
      --path="/login.php" \
      --condition="recaptcha.token.action != "login" || recaptcha.score <= 0.1" \
      --actions="block"

En la siguiente ilustración, se muestra un flujo de trabajo que usa la función de token de acción de reCAPTCHA y la política de firewall de reCAPTCHA correspondiente:

Ejemplo 2: Una política de firewall de reCAPTCHA con token de sesión

Puedes agregar un token de sesión de reCAPTCHA en las páginas a las que puede acceder un usuario para que la cookie se actualice de forma periódica, por ejemplo, una página de confirmación de compras. Integra la secuencia de comandos del token de sesión de reCAPTCHA para que la cookie reCAPTCHA se emita y se actualice en el backend de la aplicación antes de que un usuario ingrese a la página de confirmación de compra. En la página de confirmación de compra, integra la secuencia de comandos de token de sesión de reCAPTCHA para que la cookie reCAPTCHA se emita y se actualice en el backend de la aplicación para evitar que venza.

Crea una política de firewall de reCAPTCHA con la siguiente regla:

  • La ruta en la que se debe aplicar la regla. En este caso: checkout.html.
  • Si la puntuación es menor o igual que 0.1, bloquea el acceso.
   gcloud recaptcha firewall-policies create \
       --description="example2 policy" \
       --path="/checkout.html" \
       --condition="recaptcha.score <=0.1" \
       --actions="block"

En la siguiente ilustración, se muestra un flujo de trabajo que usa la función de token de sesión de reCAPTCHA y la política de firewall de reCAPTCHA correspondiente:

Ejemplo 3: Una política de firewall de reCAPTCHA con una página de desafío

Puedes agregar la función de página de desafío de reCAPTCHA cuando desees que se redireccione al usuario a una página intersticial en la que se determine si la solicitud del usuario es potencialmente fraudulenta o legítima.

Para las páginas que deseas proteger, crea reglas de política de firewall de reCAPTCHA para redireccionar al usuario a la página de desafío:

  • En el caso de la página protegida, si el token no es válido, redirecciona al usuario a la página de desafío. En este caso: index.html.
  • Si la puntuación es menor o igual que 0.1, redirecciona al usuario a la página de error.

     gcloud recaptcha firewall-policies create \
         --description="example3-1 policy" \
         --path="/index.html" --condition="!recaptcha.token.valid" --actions="redirect"
    
     gcloud recaptcha firewall-policies create \
         --description="example3-2 policy" \
         --path="/index.html" --condition="recaptcha.score <= 0.1" --actions="substitute { path: /bot_error }"
    

En la siguiente ilustración, se muestra un flujo de trabajo que usa la función de la página de desafío de reCAPTCHA y las políticas de firewall de reCAPTCHA correspondientes:

Ejemplo 4: Una política de firewall de reCAPTCHA con un token de acción y una página de desafío

Puedes usar más de una función de reCAPTCHA WAF cuando deseas usar diferentes niveles de protección en todas las páginas web. Por ejemplo, puedes usar la función de token de acción o de token de sesión en una página para evaluar el tráfico entrante con las puntuaciones de reCAPTCHA y usar la función de página de desafío en una página en la que desees asegurarte de que el usuario no sea un bot.

Puedes agregar un token de acción de reCAPTCHA para proteger una acción del usuario, como el acceso. Para asegurarte de que la cookie de reCAPTCHA se emita cuando el usuario inicie la acción de acceso, integra la secuencia de comandos del token de acción de reCAPTCHA en la página antes de la acción de acceso protegido. Por ejemplo, la página principal. En la página de descarga, usa la regla de política de firewall de reCAPTCHA para redireccionar al usuario a la página de desafío.

Crea una política de firewall de reCAPTCHA con las siguientes reglas:

  • La ruta en la que se debe aplicar la regla. En este caso: login.php.
  • Si el atributo de nombre de acción del token de acción no coincide con la acción del usuario que está protegida o si el tipo de evaluación no es ACTION, o si la puntuación es menor o igual que 0.1, bloquea el acceso.
  • Para redireccionar al usuario a la página de desafío cuando quiera descargar contenido, agrega una regla de política de firewall para redireccionar al usuario.
  • Si la puntuación es menor o igual que 0.1, o si el tipo de evaluación no es CHALLENGEPAGE, redirecciona al usuario a la página de error.
    gcloud recaptcha firewall-policies create --description="example4-1 policy"
        --path="/login.php" --condition="recaptcha.token.action != "login" || recaptcha.assessment_type != AssessmentType.ACTION || recaptcha.score <= 0.1" --actions="block"
    gcloud recaptcha firewall-policies create --description="example4-2 policy"
        --path="/content/example.pdf" --condition="recaptcha.assessment_type != AssessmentType.CHALLENGEPAGE" --actions="redirect"
    gcloud recaptcha firewall-policies create --description="example4-3 policy"
        --path="/content/example.pdf" --condition="recaptcha.score <= 0.1 || recaptcha.assessment_type != AssessmentType.CHALLENGEPAGE" --actions="substitute { path: /bot_error }"

En la siguiente ilustración, se muestra un flujo de trabajo que usa el token de acción de reCAPTCHA y las funciones de la página de desafío de reCAPTCHA, y las políticas de firewall de reCAPTCHA correspondientes:

Ejemplo 5: Una política de firewall de reCAPTCHA con WAF expresa la página de protección y desafío

Puedes agregar la función de protección exprés de reCAPTCHA WAF cuando quieras evaluar la interacción del usuario sin inconvenientes y, luego, redireccionarlos a la página de desafío si la puntuación es baja. Por ejemplo, para evitar la copia de datos, debes bloquear el tráfico a una página de catálogo.

Crea una política de firewall de reCAPTCHA con la siguiente regla:

  • La ruta en la que se debe aplicar la regla.
  • Si la puntuación es menor o igual que 0.3, redirecciona al usuario a la página del desafío.

En el siguiente ejemplo, se crea una política de firewall de reCAPTCHA para redireccionar el tráfico segmentado a /catalog1/itemlist.html cuando la puntuación es menor que 0.3.

    gcloud recaptcha firewall-policies create \
        --description="example5 policy" \
        --path="/catalog1/itemlist.html" \
        --condition="recaptcha.score <= 3" \
        --actions="redirect"

¿Qué sigue?