¿Cómo configuro AWS WAF para proteger mis recursos de ataques comunes?
Quiero usar AWS WAF en mis recursos para protegerme contra los ataques comunes.
Solución
Nota: Si se muestran errores al ejecutar comandos de Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas para AWS CLI. Además, asegúrate de utilizar la versión más reciente de AWS CLI.
Para usar AWS WAF en tus recursos para protegerte contra los ataques comunes, usa una o varias de las siguientes opciones:
Migración de AWS WAF Classic a AWS WAF
Si usas AWS WAF Classic, se recomienda migrar a AWS WAF. Para más información, consulta ¿Por qué hacer la migración a AWS WAF?
Asociación de un recurso a una ACL web
En primer lugar, crea tu ACL web en AWS WAF. A continuación, asocia el recurso a esa ACL web para permitir que AWS WAF supervise las solicitudes entrantes. Para obtener más información, consulta Recursos con los que puede protegerse AWS WAF.
Recursos que se pueden integrar con AWS WAF
Para los recursos que se pueden integrar con AWS WAF, utiliza una de las siguientes opciones para integrar tus recursos:
- Para la consola de AWS WAF, utiliza la opción Recursos de AWS asociados. Para obtener más información, consulta Crear una ACL web.
- Para AWS CLI, utiliza el comando associate-web-acl.
- Para CloudFront, utiliza el comando update-distribution.
- Para AWS Firewall Manager, utiliza la política de AWS WAF de Firewall Manager.
- Para las aplicaciones de AWS Amplify, asocia directamente la aplicación a la consola de Amplify o AWS WAF.
Recursos que no se pueden integrar con AWS WAF
En el caso de los recursos que no se pueden integrar directamente con AWS WAF, utiliza una de las siguientes opciones para integrar los recursos:
- Para las instancias de Amazon Elastic Compute Cloud (Amazon EC2), crea un equilibrador de carga de aplicación o una distribución de CloudFront. A continuación, asocia la distribución a una ACL web.
- Para los clústeres de Amazon Elastic Kubernetes Service (Amazon EKS), crea un equilibrador de carga de aplicación. A continuación, asocia el equilibrador de carga de aplicación a una ACL web. Para obtener más información, consulta Protecting your Amazon EKS web apps with AWS WAF (Protección de las aplicaciones web de Amazon EKS con AWS WAF).
- Para los equilibradores de carga de red, crea un equilibrador de carga de aplicación. A continuación, define el equilibrador de carga de aplicación como el objetivo del equilibrador de carga de red y asocia el equilibrador de carga de aplicación a una ACL web. Para obtener más información, consulta Use an Application Load Balancer as a target of a Network Load Balancer (Uso de equilibradores de carga de aplicación como objetivos de un equilibrador de carga de red).
Revisa las solicitudes entrantes para mejorar tus reglas
Para determinar los patrones de solicitud comunes, use registros de aplicaciones, como los registros de acceso del equilibrador de carga de aplicación o de CloudFront.
Nota: Se recomienda utilizar los registros de AWS WAF para almacenar, consultar y analizar los registros de solicitudes HTTP.
Después de determinar los patrones de solicitud comunes, almacena los registros en Amazon Simple Storage Service (Amazon S3) o Amazon CloudWatch. Para consultar los registros e identificar patrones, utiliza Amazon Athena o Información de registros de CloudWatch.
Por último, crea una regla de AWS WAF en el modo de recuento que verifique las solicitudes entrantes y, a continuación, establece la regla en Bloquear: Haz lo siguiente:
- Crea una instrucción de regla NOT en el encabezado del host de ejemplo.com. Nota: Sustituye ejemplo.com por el encabezado de tu host.
- Establece Acción en Bloquear. AWS WAF bloquea las solicitudes que no tienen el encabezado de host que especifiques.
Nota: Esta regla también bloquea las solicitudes al nombre de dominio completo (FQDN) proporcionado por AWS.
Los siguientes ejemplos son patrones de solicitud comunes que puedes encontrar.
Solicitudes de URI que no existen
Para reconocer las solicitudes de URI que no existen, debes conocer todos los URI compatibles de tu entorno. El siguiente es un ejemplo de consulta de Athena en los registros de AWS WAF que cuenta las solicitudes de cada URI:
SELECT COUNT("httprequest"."uri") AS URIcount, "httprequest"."uri" FROM waf_logs GROUP BY "httprequest"."uri" ORDER BY URIcount DESC
A continuación, se muestra un ejemplo de consulta de CloudWatch en los registros de AWS WAF que cuenta las solicitudes de cada URI:
fields httpRequest.uri| stats count(*) as requestCount by httpRequest.uri| sort requestCount desc
Solicitudes que contienen valores de encabezado de host diferentes
Este patrón incluye solicitudes con un encabezado de host HTTP que tu servidor web no admite. Este patrón también incluye solicitudes que contienen una dirección IP en lugar del nombre de dominio de tu sitio web.
El siguiente es un ejemplo de consulta de Athena en los registros de AWS WAF que cuenta las solicitudes con diferentes valores de encabezado de host:
SELECT header.value as HostHeader, count(header) as count FROM waf_logs, UNNEST(httprequest.headers) AS x(header) WHERE "header"."name" = 'Host' GROUP BY header ORDER BY count DESC
El siguiente es un ejemplo de consulta de CloudWatch en los registros de AWS WAF que cuenta las solicitudes con diferentes valores de encabezado de host:
fields @timestamp, @message| parse @message '{"name":"Host","value":"*"}' as host| stats count(*) as requestCount by host| sort requestCount desc
Uso de reglas administradas de AWS para protegerse contra ataques comunes
Para usar las reglas administradas de AWS, identifica los patrones de solicitud y los ataques comunes contra los que deseas protegerte. A continuación, agrega los grupos de reglas administradas de AWS correspondientes. Para protegerte contra tareas especializadas, usa los siguientes grupos de reglas con un coste adicional:
- Grupo de reglas para la prevención del fraude en la creación de cuentas (ACFP) de control de fraudes de AWS WAF
- Grupo de reglas para la prevención de la apropiación de cuentas (ATP) de Control de fraudes de AWS WAF
- Grupo de reglas de AWS WAF Bot Control
Agrega los grupos de reglas relevantes a tu ACL web en el modo Recuento. Entonces, revise los registros de AWS WAF y las métricas de CloudWatch para determinar si la regla gestionada coincide con el tráfico legítimo. Si la regla no coincide con tráfico legítimo, desactiva el modo Habilitar recuento para que el grupo de reglas bloquee el tráfico. Para desactivar una regla específica en el grupo de reglas administradas de AWS, selecciona Invalidar la acción de reglas para esa regla.
Nota: Las solicitudes legítimas a tu entorno pueden iniciar las reglas administradas de AWS. Para obtener más información, consulta How to customize behavior of AWS Managed Rules for AWS WAF (Cómo personalizar el comportamiento de las reglas administradas de AWS para AWS WAF).
Uso de la tasa de solicitudes legítimas como referencia para AWS WAF
Para protegerte contra los ataques volumétricos, analiza el tráfico para identificar la cantidad de solicitudes realizadas por direcciones IP de clientes legítimas. Para analizar el tráfico, utiliza Información de registros de CloudWatch, consultas de Athena o Amazon Quick Sight en los registros de AWS WAF. Utiliza la información del análisis para establecer una referencia para tu AWS WAF. A continuación, configura una instrucción de regla basada en tasas para establecer un umbral de solicitud.
El siguiente es un ejemplo de consulta de Athena en los registros de AWS WAF que cuenta las solicitudes de una única dirección IP dentro de un intervalo de tiempo específico:
SELECT "httprequest"."clientip", "count"(*) "count", "httprequest"."country" FROM waf_logs WHERE httprequest.clientip LIKE '10.0.0.0' and date_format(from_unixtime("timestamp"/1000), '%Y-%m-%d %h:%i:%s') between '2020-11-16 09:00:00' and '2020-11-16 10:00:00' GROUP BY "httprequest"."clientip", "httprequest"."country"
Nota: Sustituye 10.0.0.0 por tu dirección IP y 2020-11-16 09:00:00 y 2020-11-16 10:00:00 por tu intervalo de tiempo.
El siguiente es un ejemplo de consulta de Información de CloudWatch en los registros de AWS WAF que cuenta las solicitudes de una sola dirección IP:
fields httpRequest.clientIp, httpRequest.country| stats count(*) as requestCount by httpRequest.clientIp, httpRequest.country| filter httpRequest.clientIp = "10.0.0.0"
Nota: Sustituye 10.0.0.0 por tu dirección IP.
El siguiente es un ejemplo de consulta de Athena en los registros de AWS WAF que cuenta todas las solicitudes de direcciones IP dentro de un intervalo de tiempo específico:
SELECT "httprequest"."clientip", "count"(*) "count", "httprequest"."country" FROM waf_logs WHERE date_format(from_unixtime("timestamp"/1000), '%Y-%m-%d %h:%i:%s') BETWEEN '2020-11-16 09:00:00' AND '2020-11-16 10:00:00' GROUP BY "httprequest"."clientip", "httprequest"."country" ORDER BY "count" DESC
Nota: Sustituye 2020-11-16 09:00:00 y 2020-11-16 10:00:00 por tu intervalo de tiempo.
El siguiente es un ejemplo de consulta de Información de CloudWatch en los registros de AWS WAF que cuenta las solicitudes de direcciones IP dentro de un intervalo de tiempo específico:
fields httpRequest.clientIp, httpRequest.country| stats count(*) as requestCount by httpRequest.clientIp, httpRequest.country| sort requestCount desc
Uso de Automatizaciones de seguridad para AWS WAF para evitar ataques comunes
Para ofrecer protección adicional contra los ataques comunes, usa Automatizaciones de seguridad para AWS WAF.
Nota: Esta solución usa otros servicios de AWS que generan costes.
Uso de instrucciones de reglas de ataque XSS e inyección de código SQL
Para proteger tus aplicaciones contra los ataques de inyección de código SQL y XSS, utiliza instrucciones de reglas de ataque integradas para la inyección de código SQL y XSS. Los ataques pueden producirse en diferentes partes de la solicitud HTTP, como el encabezado HTTP, la cadena de consulta o el URI. Configura las reglas de AWS WAF para inspeccionar diferentes partes de la solicitud HTTP comparándolas con las instrucciones de las reglas de ataque.
Nota: Las solicitudes legítimas a tu entorno pueden iniciar las instrucciones de reglas de ataque. Para más información, consulta ¿Cómo puedo detectar los falsos positivos provocados por las reglas administradas de AWS?
Restricción del acceso desde CloudFront
Restringe el acceso en función de las direcciones IP de CloudFront. A continuación, añade un encabezado personalizado en CloudFront para las solicitudes de origen. En el origen, permite el acceso solo cuando el encabezado y el valor personalizados están presentes. Si el origen es un equilibrador de carga de aplicación o una puerta de enlace de API, utiliza AWS WAF en el origen. Esta acción permite las solicitudes que contienen el encabezado y el valor personalizados.
Protección contra los ataques DDoS
Para protegerte contra los ataques DDoS, consulta ¿Cómo utilizo AWS WAF para mitigar los ataques DDoS? y Grupo de reglas de prevención de denegación de servicio distribuida (DDoS) de AWS WAF. Consulta también AWS best practices for DDoS resiliency (Prácticas recomendadas de AWS para la resiliencia ante DDoS) y Características de AWS Shield.
Información relacionada
- Etiquetas
- AWS WAF
- Idioma
- Español
Vídeos relacionados


This article was reviewed and updated on 2026-02-25.
Contenido relevante
preguntada hace un año
preguntada hace 4 meses
- Respuesta aceptada
preguntada hace 2 años
preguntada hace 6 meses
preguntada hace un año
OFICIAL DE AWSActualizada hace un año
OFICIAL DE AWSActualizada hace 2 años
OFICIAL DE AWSActualizada hace un año