Quiero configurar AWS WAF para que envíe una respuesta personalizada cuando una regla específica bloquee las solicitudes web.
Resolución
De forma predeterminada, AWS WAF devuelve un error HTTP 403 Forbidden cuando bloquea una solicitud. Puedes configurar un mensaje de respuesta personalizado para enviar códigos de estado no predeterminados, mensajes de error personalizados, páginas de error personalizadas o redirigir a los clientes a diferentes URL.
En el caso de las reglas creadas de forma personalizada, puedes configurar las respuestas personalizadas directamente en la regla.
Para los grupos de reglas administradas de AWS, primero establece la regla específica dentro del grupo de reglas administradas en Count. A continuación, crea un mensaje de respuesta personalizado y una regla personalizada para enviar el mensaje personalizado.
Nota: Debes colocar la nueva regla personalizada debajo del grupo de reglas administradas, ya que AWS WAF evalúa las reglas por orden de prioridad.
Creación de una respuesta personalizada
Sigue estos pasos:
- Abre la consola de AWS WAF.
- En el panel de navegación, en AWS WAF, elige Paquetes de protección (ACL web).
- Selecciona tu paquete de protección.
- Selecciona Administrar detalles.
- En Comportamiento del paquete de protección (ACL web), elige Administrar.
- Elige Crear cuerpo de respuesta personalizado.
En Nombre del objeto del cuerpo de la respuesta, introduce un nombre.
En Tipo de contenido, elige Texto sin formato.
Nota: El cuerpo de la respuesta puede ser JSON, HTML o texto sin formato.
En Cuerpo de la respuesta, escribe tu mensaje de respuesta.
- Selecciona Guardar.
Nota: Amazon CloudFront y Amazon API Gateway también admiten respuestas personalizadas. Sin embargo, las respuestas personalizadas de AWS WAF para las acciones de bloqueo tienen prioridad sobre cualquier especificación de respuesta que esté definida en tu recurso protegido.
Creación de una regla personalizada para enviar la respuesta personalizada
Sigue estos pasos:
- Abre la consola de AWS WAF.
- En el panel de navegación, elige Paquetes de protección (ACL web).
- Selecciona tu paquete de protección.
- Selecciona Administrar Reglas.
- Selecciona Agregar reglas.
- Selecciona Regla personalizada y, a continuación, selecciona Siguiente.
- En Tipo de regla, elige **Regla personalizada ** y, a continuación, elige Siguiente.
- Configura la regla con los valores siguientes:
En Acción, selecciona Bloquear.
En Nombre, introduce un nombre para la regla.
En Si una solicitud, elige cumple la instrucción.
En Inspeccionar, elige Tiene una etiqueta.
En Ámbito de coincidencia, selecciona Etiqueta.
Para Clave de coincidencia, introduce la etiqueta de la regla. Por ejemplo, para configurar respuestas personalizadas para las solicitudes que coincidan con la regla CrossSiteScripting_QueryArguments del grupo de reglas administradas del conjunto de reglas principales (CRS), introduce awswaf:managed:aws:core-rule-set:CrossSiteScripting_QueryArguments.
En Respuesta personalizada, selecciona Activar.
En Código de respuesta, introduce tu código de respuesta. (Opcional) Para los Encabezados de respuesta, elige Agregar un nuevo encabezado personalizado.
En Clave, introduce un nombre de encabezado.
En Valor, introduce un valor de encabezado.
Nota: Puedes especificar cualquier nombre de encabezado, excepto content-type.
- En Elige cómo quieres especificar el cuerpo de la respuesta (opcional), elige el cuerpo de respuesta personalizado creado en la sección Crear un mensaje de respuesta personalizado.
- Elige Crear regla.
Nota: Para obtener una lista de los códigos de estado HTTP compatibles para las respuestas personalizadas, consulta Códigos de estado compatibles para las respuestas personalizadas.
Información relacionada
¿Cómo puedo crear reglas JSON personalizadas y complejas en AWS WAF?
Lista de grupos de reglas administradas de AWS
¿Por qué no funciona mi regla personalizada de AWS WAF?
Personalización de las solicitudes y respuestas con AWS WAF