Cómo funciona AWS WAF Classic - AWS WAF, AWS Firewall Manager, y AWS Shield Advanced

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cómo funciona AWS WAF Classic

nota

Esta es la documentación de AWS WAF Classic. Solo debe usar esta versión si creó AWS WAF recursos, como reglas y ACL web, AWS WAF antes de noviembre de 2019 y aún no los ha migrado a la última versión. Para migrar los recursos, consulte Migración de sus recursos AWS WAF clásicos a AWS WAF.

Para obtener la versión más reciente de AWS WAF, consulteAWS WAF.

Utiliza AWS WAF Classic para controlar la forma en que API Gateway, Amazon CloudFront o un Application Load Balancer responden a las solicitudes web. Comience creando condiciones, reglas y listas de control de acceso a la web (ACL a la web). Puede definir sus condiciones, agruparlas en reglas y combinar las reglas en una ACL web.

nota

También puede usar AWS WAF Classic para proteger las aplicaciones alojadas en contenedores de Amazon Elastic Container Service (Amazon ECS). Amazon ECS es un servicio de administración de contenedores muy escalable y rápido que facilita la tarea de ejecutar, detener y administrar contenedores de Docker en un clúster. Para usar esta opción, debe configurar Amazon ECS para que utilice un Application Load Balancer con la AWS WAF versión clásica para enrutar y proteger el tráfico HTTP/HTTPS (capa 7) entre las tareas de su servicio. Para obtener más información, consulte el tema Equilibrio de carga de servicio en la Guía para desarrolladores de Amazon Elastic Container Service.

Condiciones

Las condiciones definen las características básicas que desea que AWS WAF Classic vea en las solicitudes web:

  • Scripts que probablemente sean maliciosos. Los atacantes incrustan scripts que pueden aprovechar vulnerabilidades en aplicaciones web. Esto es lo que se conoce como scripts entre sitios.

  • Direcciones IP o rangos de direcciones de las que procedan las solicitudes.

  • País o ubicación geográfica de donde provienen las solicitudes.

  • Longitud de determinadas partes de la solicitud, como la cadena de consulta.

  • Código SQL que puede ser malicioso. Los atacantes tratan de extraer los datos de su base de datos incrustando código SQL malicioso en una solicitud web. Esto es lo que se conoce como inyección de código SQL.

  • Cadenas que aparecen en la solicitud, por ejemplo, valores que aparecen en el encabezado de User-Agent o cadenas de texto que aparecen en la cadena de consulta. También puede utilizar expresiones regulares (regex) para especificar estas cadenas.

Algunas condiciones adoptan valores diversos. Por ejemplo, puede especificar hasta 10,000 direcciones IP o rangos de direcciones de IP en una condición IP.

Reglas

Las condiciones se combinan en reglas para segmentar con precisión las solicitudes que se desean permitir, bloquear o contar. AWS WAF La versión clásica ofrece dos tipos de reglas:

Regla normal

Las reglas normales solo usan condiciones para dirigirse a solicitudes específicas. Por ejemplo, de acuerdo con las últimas solicitudes que haya visto de un atacante, puede crear una regla que incluya las siguientes condiciones:

  • Las solicitudes provienen de 192.0.2.44.

  • Contienen el valor BadBot en el encabezado User-Agent.

  • Parece que incluyan código tipo SQL en la cadena de consulta.

Cuando una regla incluya varias condiciones, como en este ejemplo, AWS WAF Classic buscará las solicitudes que coincidan con todas las condiciones; es decir, unirá las condiciones mediante AND.

Añada al menos una condición para una regla normal. Una regla normal sin condiciones no puede coincidir con ninguna solicitud, por lo que la acción de la regla (permitir, contar o bloquear) nunca se activa.

Regla basada en frecuencia

Las reglas basadas en frecuencia son como las reglas normales con un límite de frecuencia añadido. Una regla basada en frecuencia cuenta las solicitudes que llegan de direcciones IP que cumplen las condiciones de la regla. Si las solicitudes de una dirección IP superan el límite de frecuencia en un periodo de cinco minutos, la regla puede activar una acción. La acción puede tardar uno o dos minutos en activarse.

Sin embargo, las condiciones son opcionales para las reglas basadas en frecuencia. Si no añade ninguna condición a una regla basada en frecuencia, el límite de frecuencia se aplica a todas las direcciones IP. Si combina condiciones con el límite de frecuencia, el límite de frecuencia se aplica a las direcciones IP que coinciden con las condiciones.

Por ejemplo, de acuerdo con las últimas solicitudes que haya visto de un atacante, puede crear una regla basada en frecuencia que incluya las siguientes condiciones:

  • Las solicitudes provienen de 192.0.2.44.

  • Contienen el valor BadBot en el encabezado User-Agent.

En esta regla basada en frecuencia defina también un límite de frecuencia. En este ejemplo, supongamos que crea un límite de frecuencia de 1 000. Las solicitudes que cumplan las dos condiciones anteriores y superen las 1 000 solicitudes durante cinco minutos activan la acción de la regla (bloquear o contar), que está definida en la ACL web.

Las solicitudes que no cumplen ambas condiciones no se tienen en cuenta para el límite de frecuencia y no se ven afectadas por esta regla.

Otro ejemplo: suponga que desea limitar las solicitudes de una determinada página de su sitio web. Para ello, podría añadir la siguiente condición de coincidencia de cadena para crear una regla basada en frecuencia:

  • El valor de Part of the request to filter on es URI.

  • El valor de Match Type es Starts with.

  • El valor de Value to match es login.

Además, especifica un RateLimit de 1 000.

Al añadir esta regla basada en frecuencia a una ACL web, podría limitar las solicitudes de la página de inicio de sesión sin que se vea afectado el resto del sitio.

ACL de web

Después de combinar sus condiciones en reglas, puede combinar las reglas en una ACL de web. Ahí es donde define una acción para cada regla, permitir, bloquear o contar, y una acción predeterminada:

Una acción para cada regla

Cuando una solicitud web cumple todas las condiciones de una regla, AWS WAF Classic puede bloquear la solicitud o permitir que se reenvíe a la API de API Gateway, a la CloudFront distribución o a un Application Load Balancer. Usted especifica la acción que quiere que AWS WAF Classic lleve a cabo para cada regla.

AWS WAF Classic compara una solicitud con las reglas de una ACL web en el orden en que se enumeraron las reglas. AWS WAF A continuación, Classic realiza la acción asociada a la primera regla con la que coincide la solicitud. Por ejemplo, si una solicitud web coincide con una regla que permite las solicitudes y otra que bloquea las solicitudes, AWS WAF Classic permitirá o bloqueará la solicitud en función de la regla que aparezca primero.

Si quieres probar una nueva regla antes de empezar a usarla, también puedes configurar AWS WAF Classic para que cuente las solicitudes que cumplen todas las condiciones de la regla. Al igual que ocurre con las reglas que permiten o bloquean solicitudes, una regla que cuenta solicitudes depende de su posición en la lista de reglas de la ACL de web. Por ejemplo, si una solicitud web coincide con una regla que permite solicitudes y otra que cuenta solicitudes; y si la regla que permite las solicitudes está antes, la solicitud no se cuenta.

Una acción predeterminada

La acción predeterminada determina si AWS WAF Classic permite o bloquea una solicitud que no cumpla todas las condiciones de ninguna de las reglas de la ACL web. Por ejemplo, suponga que crea una ACL de web y solo añade la regla que definió antes:

  • Las solicitudes provienen de 192.0.2.44.

  • Contienen el valor BadBot en el encabezado User-Agent.

  • Parece que incluyan código SQL malicioso en la cadena de consulta.

Si una solicitud no cumple las tres condiciones de la regla y si la acción predeterminada esALLOW, AWS WAF Classic reenvía la solicitud a API Gateway CloudFront o a un Application Load Balancer, y el servicio responde con el objeto solicitado.

Si agregas dos o más reglas a una ACL web, AWS WAF Classic solo realiza la acción predeterminada si la solicitud no cumple todas las condiciones de ninguna de las reglas. Por ejemplo, suponga que agrega una segunda regla que contiene una condición:

  • Solicitudes que contienen el valor BIGBadBot en el encabezado User-Agent.

AWS WAF La versión clásica solo realiza la acción predeterminada cuando una solicitud no cumple las tres condiciones de la primera regla y no cumple una de las condiciones de la segunda regla.

En algunas ocasiones, AWS WAF puede producirse un error interno que retrase la respuesta a Amazon API Gateway, Amazon CloudFront o un Application Load Balancer sobre si se debe permitir o bloquear una solicitud. En esas ocasiones, normalmente CloudFront permitirá la solicitud o servirá el contenido. Una gateway de API y un Balanceador de carga de aplicaciones normalmente denegará la solicitud y no servirá el contenido.