Prácticas recomendadas para usar las acciones CAPTCHA y Challenge - AWS WAF, AWS Firewall Manager, AWS Shield Advanced y director de seguridad de red AWS Shield

Presentamos una nueva experiencia de consola para AWS WAF

Ahora puede usar la experiencia actualizada para acceder a las funciones de AWS WAF desde cualquier parte de la consola. Para obtener más información, consulta Trabajo con la experiencia de consola actualizada.

Prácticas recomendadas para usar las acciones CAPTCHA y Challenge

Siga las instrucciones de esta sección para planificar e implementar el CAPTCHA o el desafío de AWS WAF.

Planificación de la implementación del CAPTCHA y el desafío

Determina dónde colocar los rompecabezas de CAPTCHA o los desafíos silenciosos en función del uso de su sitio web, la confidencialidad de los datos que desea proteger y el tipo de solicitudes. Seleccione las solicitudes a las que vaya a aplicar el CAPTCHA para poder presentar los rompecabezas según sea necesario, pero evita presentarlos donde no sean útiles y puedan degradar la experiencia del usuario. Use la acción Challenge para ejecutar desafíos silenciosos que tengan un menor impacto en el usuario final, pero que al mismo tiempo ayuden a verificar que la solicitud proviene de un navegador con JavaScript habilitado.

Los rompecabezas de CAPTCHA y los desafíos silenciosos solo se pueden ejecutar cuando los navegadores acceden a los puntos de conexión HTTPS. Los clientes del navegador deben ejecutarse en contextos seguros para poder adquirir los tókenes.

Definalización de dónde ejecutar los rompecabezas de CAPTCHA y los desafíos silenciosos para los clientes

Identifique las solicitudes que no desee que se vean afectadas por el CAPTCHA, por ejemplo, las solicitudes de CSS o imágenes. Utilizar CAPTCHA solo cuando sea necesario. Por ejemplo, si planea comprobar el CAPTCHA al iniciar sesión y siempre se redirige al usuario directamente desde el inicio de sesión a otra pantalla, probablemente no sea necesario comprobar el CAPTCHA en la segunda pantalla ya que esto podría perjudicar la experiencia de usuario final.

Configure el uso de Challenge y CAPTCHA de forma que AWS WAF solo envíe rompecabezas de CAPTCHA y desafíos silenciosos en respuesta a las solicitudes GET text/html. No puede ejecutar el rompecabezas ni el desafío en respuesta a solicitudes POST, solicitudes OPTIONS de verificación previa del uso compartido de recursos entre orígenes (CORS) o cualquier otro tipo de solicitud que no sea GET. El comportamiento del navegador para otros tipos de solicitudes puede variar y es posible que no pueda gestionar los intersticiales correctamente.

Es posible que un cliente acepte HTML y, aun así, no pueda gestionar el CAPTCHA ni cuestionar los intersticiales. Por ejemplo, un widget de una página web con un iFrame pequeño puede aceptar HTML, pero no mostrar un CAPTCHA ni procesarlo. Evite incluir las acciones de regla para este tipo de solicitudes, igual que para las solicitudes que no aceptan HTML.

Uso de CAPTCHA o Challenge para verificar la adquisición previa del token

Puede usar las acciones de la regla únicamente para verificar la existencia de un token válido en ubicaciones donde los usuarios legítimos siempre deberían tener uno. En estas situaciones, no importa si la solicitud puede administrar los intersticiales.

Por ejemplo, si implementa la API de CAPTCHA de la aplicación cliente de JavaScript y ejecuta el rompecabezas de CAPTCHA en el cliente inmediatamente antes de enviar la primera solicitud a su punto de conexión protegido, su primera solicitud siempre debe incluir un token que sea válido tanto para el desafío como para el CAPTCHA. Para obtener información sobre la integración de aplicaciones cliente de JavaScript, consulte Integraciones de JavaScript de AWS WAF.

En este caso, en su paquete de protección (ACL web), puede agregar una regla que coincida con esta primera llamada y configurarla con la acción de regla Challenge o CAPTCHA. Cuando la regla coincida entre un usuario final legítimo y un navegador, la acción buscará un token válido y, por lo tanto, no bloqueará la solicitud ni enviará un desafío o un rompecabezas de CAPTCHA como respuesta. Para obtener más información sobre cómo funcionan las etiquetas, consulte Comportamiento de acción CAPTCHA y Challenge.

Protección de datos confidenciales que no sean HTML con CAPTCHA y Challenge

Puede usar el CAPTCHA y las protecciones Challenge para datos confidenciales que no sean HTML, como las API, con el siguiente enfoque.

  1. Identifique las solicitudes que aceptan respuestas HTML y que se ejecutan muy cerca de las solicitudes de sus datos confidenciales que no son HTML.

  2. Escriba reglas CAPTCHA o Challenge que coincidan con las solicitudes HTML y con las solicitudes de sus datos confidenciales.

  3. Ajuste su configuración del tiempo de inmunidad de CAPTCHA y Challenge para que, en las interacciones normales de los usuarios, los tokens que los clientes obtienen de las solicitudes de HTML estén disponibles y no hayan caducado en sus solicitudes de datos confidenciales. Para obtener información sobre el ajuste, consulte Configuración del vencimiento de la marca de tiempo y de los tiempos de inmunidad de los tóquenes en AWS WAF.

Si una solicitud de datos confidenciales coincide con una regla CAPTCHA o Challenge, no se bloqueará si el cliente aún tiene un token válido del rompecabezas o desafío anterior. Si el token no está disponible o la marca de tiempo ha caducado, la solicitud de acceso a sus datos confidenciales fallará. Para obtener más información sobre cómo funcionan las etiquetas, consulte Comportamiento de acción CAPTCHA y Challenge.

Uso de CAPTCHA y Challenge para ajustar las reglas existentes

Revise sus reglas actuales para ver si quiere modificarlas o agregarlas. A continuación, se presentan algunos escenarios comunes a considerar.

  • Si tiene una regla basada en tasas que bloquea el tráfico, pero mantiene el límite de tasa relativamente alto para evitar bloquear a los usuarios legítimos, considere la posibilidad de agregar una segunda regla basada tasas después de la regla de bloqueo. Asigne a la segunda regla un límite inferior al de la regla de bloqueo y establezca la acción de regla en CAPTCHA o Challenge. La regla de bloqueo seguirá bloqueando las solicitudes que lleguen a un ritmo demasiado alto y la nueva regla bloqueará la mayor parte del tráfico automatizado a un ritmo aún menor. Para obtener información acerca de las reglas basadas en tasas, consulte Uso de instrucciones de regla basada en tasas en AWS WAF.

  • Si tiene un grupo de reglas administradas que bloquea las solicitudes, puede cambiar el comportamiento de algunas o todas las reglas de Block a CAPTCHA o Challenge. Para ello, en la configuración del grupo de reglas administradas, anule la configuración de la acción de regla. Para obtener información sobre la anulaciones de las acciones de las reglas, consulte Anulación de acciones de reglas de un grupo de reglas.

Comprobación de las implementaciones del CAPTCHA y el desafío antes de implantarlas

En cuanto a todas las nuevas funciones, siga las instrucciones que se indican en Pruebas y ajustes de sus protecciones de AWS WAF.

Durante las pruebas, revise los requisitos de caducidad de las marcas de tiempo de los tokens y establezca las configuraciones de tiempo de inmunidad de las reglas y la ACL web para lograr un buen equilibrio entre el control del acceso a su sitio web y el suministro de una buena experiencia a sus clientes. Para obtener más información, consulte Configuración del vencimiento de la marca de tiempo y de los tiempos de inmunidad de los tóquenes en AWS WAF.