

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.

# Detalles de la arquitectura
<a name="architecture-details"></a>

En esta sección se describen los componentes y los servicios de AWS que componen esta solución y los detalles de la arquitectura sobre cómo funcionan juntos estos componentes.

## Los servicios de AWS en esta solución
<a name="aws-services-in-this-solution"></a>


| Servicio de AWS | Description (Descripción) | 
| --- | --- | 
|   [AWS WAF](https://aws.amazon.com/waf/)   |   **Principal.** Implementa una ACL web de AWS WAF, grupos de reglas de AWS Managed Rules, reglas personalizadas y conjuntos de IP. Realiza llamadas a la API de AWS WAF para bloquear ataques comunes y proteger las aplicaciones web.  | 
|   [Amazon Data Firehose](https://aws.amazon.com/kinesis/data-firehose/)   |   **Principal.** Entrega los registros de AWS WAF a los buckets de Amazon S3.  | 
|   [Amazon S3](https://aws.amazon.com/s3/)   |   **Principal.** Almacena registros de AWS CloudFront, WAF y ALB.  | 
|   [AWS Lambda](https://aws.amazon.com/lambda/)   |   **Principal.** Implementa varias funciones de Lambda para admitir reglas personalizadas.  | 
|   [Amazon EventBridge](https://aws.amazon.com/eventbridge/)   |   **Principal.** Crea reglas de eventos para invocar Lambda.  | 
|   [Amazon Athena](https://aws.amazon.com/athena/)   |   **Admite.** Crea consultas y grupos de trabajo de Athena para admitir el analizador de registros de Athena.  | 
|   [AWS Glue](https://aws.amazon.com/glue/)   |   **Admite.** Crea bases de datos y tablas para soportar el analizador de registros Athena.  | 
|   [Amazon SNS](https://aws.amazon.com/sns/)   |   **Admite.** Envía notificaciones por correo electrónico del Amazon Simple Notification Service (Amazon SNS) para permitir la retención de IP en las listas permitidas y denegadas.  | 
|   [AWS Systems Manager](https://aws.amazon.com/systems-manager/)   |   **Admite.** Proporciona monitoreo de recursos a nivel de aplicación y visualización de las operaciones de los recursos y los datos de costos.  | 

# Opciones del analizador de registros
<a name="log-parser-options"></a>

Como se describe en la [descripción general de la arquitectura](architecture-overview.md), existen tres opciones para gestionar las protecciones de HTTP contra inundaciones y escáneres y sondas. En las siguientes secciones se explica cada una de estas opciones con más detalle.

## Regla basada en la tasa de AWS WAF
<a name="aws-waf-rate-based-rule"></a>

Las reglas basadas en tarifas están disponibles para la protección contra inundaciones de HTTP. De forma predeterminada, una regla basada en tasas agrega y limita las tasas de las solicitudes en función de la dirección IP de la solicitud. Esta solución le permite especificar el número de solicitudes web que admite la IP de un cliente en un período final de cinco minutos, que se actualiza continuamente. Si una dirección IP supera la cuota configurada, AWS WAF bloquea las nuevas solicitudes bloqueadas hasta que la tasa de solicitudes sea inferior a la cuota configurada.

Recomendamos seleccionar la opción de regla basada en la tasa si la cuota de solicitudes es superior a 2000 solicitudes cada cinco minutos y no necesita implementar personalizaciones. Por ejemplo, no se tiene en cuenta el acceso estático a los recursos al contar las solicitudes.

Puede configurar aún más la regla para que utilice otras claves de agregación y combinaciones de teclas. Para obtener más información, consulte [Opciones y claves de agregación](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-rate-based-aggregation-options.html).

## Analizador de registros Amazon Athena
<a name="amazon-athena-log-parser"></a>

Tanto los parámetros de la plantilla **HTTP Flood Protection** como **Scanner & Probe** **Protection** proporcionan la opción de analizador de registros Athena. Cuando se activa, CloudFormation aprovisiona una consulta de Athena y una función de Lambda programada responsable de organizar Athena para que ejecute, procese los resultados y actualice AWS WAF. Esta función Lambda se invoca mediante un CloudWatch evento configurado para ejecutarse cada cinco minutos. Esto se puede configurar con el parámetro **Athena Query Run Time Schedule**.

Recomendamos seleccionar esta opción si no puede utilizar las reglas basadas en tasas de AWS WAF y está familiarizado con SQL para implementar personalizaciones. Para obtener más información sobre cómo cambiar la consulta predeterminada, consulte [Ver consultas de Amazon Athena](view-amazon-athena-queries.md).

La protección contra inundaciones HTTP se basa en el procesamiento de registros de acceso de AWS WAF y utiliza archivos de registro de WAF. El tipo de registro de acceso WAF tiene un tiempo de demora más bajo, que puede utilizar para identificar los orígenes de las inundaciones HTTP con mayor rapidez en comparación con el tiempo de entrega de los CloudFront registros ALB. Sin embargo, debe seleccionar el tipo de registro CloudFront o ALB en el parámetro de plantilla **Activar Scanner & Probe Protection** para recibir los códigos de estado de respuesta.

**nota**  
Si un bot defectuoso pasa por alto el honeypot e interactúa directamente con ALB o CloudFront, el sistema detecta un comportamiento malicioso mediante el análisis de registros, a menos que HTTP Flood Protection y Scanner & Probe Protection no utilicen el analizador de registros Lambda.

## Analizador de registros AWS Lambda
<a name="aws-lambda-log-parser"></a>

Los parámetros de la plantilla **HTTP Flood Protection** y **Scanner & Probe Protection** proporcionan la **opción AWS Lambda Log Parser**. Utilice el analizador de registros Lambda solo cuando las opciones de la **regla basada en la velocidad de AWS WAF y** del analizador de registros de Amazon **Athena no estén** disponibles. Una limitación conocida de esta opción es que la información se procesa en el contexto del archivo que se está procesando. Por ejemplo, una IP puede generar más solicitudes o errores que la cuota definida, pero como esta información se divide en diferentes archivos, cada archivo no almacena datos suficientes para superar la cuota.

**nota**  
Además, si un robot defectuoso pasa por alto el honeypot e interactúa directamente con ALB o CloudFront, la detección se basa en la opción de analizador de registros elegida para identificar y bloquear eficazmente la actividad maliciosa.

# Detalles de los componentes
<a name="component-details"></a>

Como se describe en el [diagrama de arquitectura](architecture-overview.md#architecture-diagram), cuatro de los componentes de esta solución utilizan automatizaciones para inspeccionar las direcciones IP y añadirlas a la lista de bloqueados de AWS WAF. En las siguientes secciones se explica cada uno de estos componentes con más detalle.

## Analizador de registros: aplicación
<a name="log-parser--application"></a>

El analizador de registros de aplicaciones ayuda a proteger contra escáneres y sondas.

 **Flujo del analizador de registros de aplicaciones.** 

![\[flujo del analizador de registro de aplicaciones\]](http://docs.aws.amazon.com/es_es/solutions/latest/security-automations-for-aws-waf/images/app-log-parser-flow.png)


1. Cuando CloudFront un ALB recibe solicitudes en nombre de su aplicación web, envía los registros de acceso a un bucket de Amazon S3.

   1. (Opcional) Si selecciona `Yes - Amazon Athena log parser` para los parámetros de plantilla **Activar HTTP Flood Protection** y **Activar Scanner & Probe Protection**, una función de Lambda mueve los registros de acceso de su carpeta original *<customer-bucket>* `/AWSLogs` a una carpeta *<customer-bucket>* `/AWSLogs-partitioned/` *<optional-prefix>* `/year=` *<YYYY>* `/month=` *<MM>* `/day=` *<DD>* `/hour=` *<HH>* recién particionada o cuando llegan a Amazon S3.

   1. (Opcional) Si selecciona `yes` el parámetro de plantilla de ubicación **Guardar los datos en la ubicación original de S3**, los registros permanecen en su ubicación original y se copian en su carpeta particionada, lo que duplica el almacenamiento de registros.
**nota**  
Para el analizador de registros Athena, esta solución solo particiona los registros nuevos que llegan a su bucket de Amazon S3 después de implementar esta solución. Si tiene registros existentes que desea particionar, debe cargarlos manualmente en Amazon S3 después de implementar esta solución.

1. En función de los parámetros de plantilla **Activate HTTP Flood Protection** y **Activate Scanner & Probe Protection**, esta solución procesa los registros mediante uno de los siguientes métodos:

   1.  **Lambda**: cada vez que se almacena un nuevo registro de acceso en el bucket de Amazon S3, se inicia la función `Log Parser` Lambda.

   1.  **Athena**: de forma predeterminada, cada cinco minutos se ejecuta la consulta **Athena de Scanner & Probe** Protection y el resultado se envía a AWS WAF. Este proceso se inicia mediante un CloudWatch evento que inicia la función Lambda responsable de ejecutar la consulta de Athena y envía el resultado a AWS WAF.

1. La solución analiza los datos del registro para identificar las direcciones IP que generaron más errores que la cuota definida. A continuación, la solución actualiza una condición del conjunto de IP de AWS WAF para bloquear esas direcciones IP durante un período de tiempo definido por el cliente.

## Analizador de registros - AWS WAF
<a name="log-parser--aws-waf"></a>

Si selecciona `yes - AWS Lambda log parser` o `yes - Amazon Athena log parser` selecciona **Activar la protección contra inundaciones HTTP**, esta solución proporciona los siguientes componentes, que analizan los registros de AWS WAF para identificar y bloquear los orígenes que inundan el punto final con una tasa de solicitudes superior a la cuota que ha definido.

 **Flujo del analizador de registros de AWS WAF.** 

![\[flujo del analizador de registros waf\]](http://docs.aws.amazon.com/es_es/solutions/latest/security-automations-for-aws-waf/images/waf-log-parser-flow.png)


1. Cuando AWS WAF recibe los registros de acceso, los envía a un punto de conexión Firehose. A continuación, Firehose entrega los registros a un depósito particionado en Amazon S3 denominado *<customer-bucket>* `/AWSLogs/` *<optional-prefix>* `/year=` *<YYYY>* `/month=` *<MM>* `/day=` *<DD>* `/hour=` *<HH>* `/` 

1. En función de los parámetros de plantilla **Activate HTTP Flood Protection** y **Activate Scanner & Probe Protection**, esta solución procesa los registros mediante uno de los siguientes métodos:

   1.  **Lambda**: cada vez que se almacena un nuevo registro de acceso en el bucket de Amazon S3, se inicia la función `Log Parser` Lambda.

   1.  **Athena:** De forma predeterminada, cada cinco minutos se ejecuta la consulta Athena del escáner y la sonda y el resultado se envía a AWS WAF. Este proceso se inicia mediante un CloudWatch evento de Amazon, que luego inicia la función Lambda responsable de ejecutar la consulta de Amazon Athena y envía el resultado a AWS WAF.

1. La solución analiza los datos de registro para identificar las direcciones IP que enviaron más solicitudes que la cuota definida. A continuación, la solución actualiza una condición del conjunto de IP de AWS WAF para bloquear esas direcciones IP durante un período de tiempo definido por el cliente.

## Analizador de registros: bot incorrecto
<a name="log-parser--badbot"></a>

El analizador de registros Bad Bot inspecciona las solicitudes enviadas al punto final del honeypot para extraer su dirección IP de origen.

 **El flujo del analizador de registros de bots es incorrecto.** 

![\[Flujo del analizador de registros de badbot\]](http://docs.aws.amazon.com/es_es/solutions/latest/security-automations-for-aws-waf/images/badbot-log-parser-flow.png)


1. Si `Bad Bot Protection` está activada y las funciones HTTP Flood Protection y Scanner & Probe Protection están deshabilitadas: el sistema utilizará el analizador Log Lambda, que registra solo las solicitudes de bots incorrectos en función de los filtros de etiquetas [WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-labels.html).

1. La función Lambda intercepta e inspecciona los encabezados de las solicitudes para extraer la dirección IP de la fuente que accedió al punto final de la captura.

1. La solución analiza los datos de registro para identificar las direcciones IP que enviaron más solicitudes que la cuota definida. A continuación, la solución actualiza una condición del conjunto de IP de AWS WAF para bloquear esas direcciones IP durante un período de tiempo definido por el cliente.

## Analizador de listas de direcciones IP
<a name="ip-lists-parser"></a>

La función `IP Lists Parser` Lambda ayuda a protegerse contra los atacantes conocidos identificados en listas de reputación de IP de terceros.

 **La reputación IP enumera el flujo del analizador.** 

![\[Flujo de listas de reputación IP\]](http://docs.aws.amazon.com/es_es/solutions/latest/security-automations-for-aws-waf/images/ip-reputation-lists-flow.png)


1. Un CloudWatch evento de Amazon cada hora invoca la función `IP Lists Parser` Lambda.

1. La función Lambda recopila y analiza datos de tres fuentes:
   + Listas DROP y EDROP de Spamhaus
   + Lista de direcciones IP de amenazas emergentes de Proofpoint
   + Lista de nodos de salida de Tor

1. La función Lambda actualiza la lista de bloqueados de AWS WAF con las direcciones IP actuales.