

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.

# Información general de la arquitectura
<a name="architecture-overview"></a>

En esta sección se proporciona un diagrama de arquitectura de implementación de referencia para los componentes implementados con esta solución.

## Diagrama de arquitectura
<a name="architecture-diagram"></a>

Al implementar esta solución con los parámetros predeterminados, se implementan los siguientes componentes en su cuenta de AWS.

 **CloudFormation la plantilla implementa AWS WAF y otros recursos de AWS para proteger su aplicación web de los ataques más comunes.** 

![\[descripción general de la arquitectura waf de AWS\]](http://docs.aws.amazon.com/es_es/solutions/latest/security-automations-for-aws-waf/images/aws-waf-architecture-overview.png)


En el centro del diseño se encuentra una ACL web de [AWS WAF](https://aws.amazon.com/waf/), que actúa como punto central de inspección y decisión para todas las solicitudes entrantes a una aplicación web. Durante la configuración inicial de la CloudFormation pila, el usuario define qué componentes de protección debe activar. Cada componente funciona de forma independiente y agrega reglas diferentes a la ACL web.

Los componentes de esta solución se pueden agrupar en las siguientes áreas de protección.

**nota**  
Las etiquetas de los grupos no reflejan el nivel de prioridad de las reglas de la WAF.
+  **Reglas administradas por AWS (A)**: este componente contiene grupos de reglas de [reputación IP, grupos de reglas](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-ip-rep.html) de [referencia y grupos](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-baseline.html) de [reglas específicos de casos de uso](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-use-case.html) de AWS. Estos grupos de reglas protegen contra la explotación de vulnerabilidades comunes de las aplicaciones u otro tipo de tráfico no deseado, incluidos los que se describen en las publicaciones de [OWASP](https://owasp.org/), sin tener que escribir sus propias reglas.
+  **Listas de IP manuales (B y C)**: estos componentes crean dos reglas de AWS WAF. Con estas reglas, puede insertar manualmente las direcciones IP que desee permitir o denegar. Puede configurar la retención de IP y eliminar las direcciones IP caducadas de los conjuntos de IP permitidos o denegados mediante EventBridge [las reglas](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html) de [Amazon](https://aws.amazon.com/eventbridge) y [Amazon DynamoDB](https://aws.amazon.com/dynamodb). Para obtener más información, consulte [Configurar la retención de IP en conjuntos de IP de AWS WAF permitidos y denegados](configure-ip-retention-on-allowed-and-denied-aws-waf-ip-sets.md).
+  **Inyección SQL (D) y XSS (E)**: estos componentes configuran dos reglas de AWS WAF diseñadas para proteger contra los patrones comunes de inyección de SQL o secuencias de comandos entre sitios (XSS) en el URI, la cadena de consulta o el cuerpo de una solicitud.
+  **Inundación HTTP (F)**: este componente protege contra los ataques que consisten en un gran número de solicitudes desde una dirección IP determinada, como un ataque DDo S a la capa web o un intento de inicio de sesión por fuerza bruta. Con esta regla, se establece una cuota que define el número máximo de solicitudes entrantes permitidas desde una sola dirección IP dentro de un período predeterminado de cinco minutos (configurable con el parámetro **Athena Query Run Time** Schedule). Una vez superado este umbral, las solicitudes adicionales de la dirección IP se bloquean temporalmente. Puede implementar esta regla mediante una regla basada en la tasa de AWS WAF o procesando los registros de AWS WAF mediante una función de Lambda o una consulta de Athena. [Para obtener más información sobre las ventajas y desventajas relacionadas con las opciones de mitigación de inundaciones HTTP, consulte las opciones del analizador de registros.](log-parser-options.md)
+  **Scanner and Probe (G)**: este componente analiza los registros de acceso a las aplicaciones en busca de comportamientos sospechosos, como una cantidad anormal de errores generados por un origen. A continuación, bloquea las direcciones IP de origen sospechosas durante un período de tiempo definido por el cliente. [Puede implementar esta regla mediante una función de [Lambda](https://aws.amazon.com/lambda/) o una consulta de Athena.](https://aws.amazon.com/athena/) [Para obtener más información sobre las desventajas relacionadas con las opciones de mitigación del escáner y la sonda, consulte las opciones del analizador de registros.](log-parser-options.md)
+  **Listas de reputación de IP (H)**: este componente es la función `IP Lists Parser` Lambda que comprueba las listas de reputación de IP de terceros cada hora en busca de nuevos rangos que bloquear. Estas listas incluyen las listas Don't Route Or Peer (DROP) y Extended DROP (EDROP) de Spamhaus, la lista de direcciones IP de amenazas emergentes de Proofpoint y la lista de nodos de salida de Tor.
+  **Bad Bot (I)**: este componente mejora la detección de bots defectuosos al monitorear las conexiones directas a un Application Load Balancer (ALB) o Amazon CloudFront, además del mecanismo honeypot. Si un bot pasa por alto el honeypot e intenta interactuar con ALB o CloudFront, el sistema analiza los patrones de solicitudes y los registros para identificar cualquier actividad maliciosa. Cuando se detecta un bot defectuoso, se extrae su dirección IP y se añade a una lista de bloqueados de AWS WAF para evitar un mayor acceso. La detección de bots maliciosos funciona a través de una cadena lógica estructurada, lo que garantiza una cobertura integral de las amenazas:
  + Analizador de registros Lambda de HTTP Flood Protection: recopila los bots defectuosos de las entradas IPs de registro durante el análisis de inundaciones.
  + Analizador de registros Lambda de Scanner & Probe Protection: identifica el bot incorrecto de las entradas IPs de registro relacionadas con el escáner.
  + Analizador de registros de Athena con protección contra inundaciones HTTP: extrae el bot incorrecto de los registros de IPs Athena mediante particiones en la ejecución de consultas.
  + Analizador de registros Athena de Scanner & Probe Protection: recupera los bots defectuosos de los registros de Athena IPs relacionados con el escáner, utilizando la misma estrategia de partición.
  + Detección de respaldo: si tanto HTTP Flood Protection como Scanner & Probe Protection están deshabilitadas, el sistema se basa en el analizador Log Lambda, que registra la actividad de los bots [en](https://docs.aws.amazon.com/waf/latest/developerguide/waf-labels.html) función de los filtros de etiquetas WAF.

Cada una de las tres funciones Lambda personalizadas de esta solución publica métricas de tiempo de ejecución en. CloudWatch Para obtener más información sobre estas funciones de Lambda, consulte los detalles de los [componentes](component-details.md).

# Consideraciones sobre el diseño de AWS Well-Architected
<a name="well-architected"></a>

Esta solución utiliza las prácticas recomendadas del [AWS Well-Architected Framework](https://aws.amazon.com/architecture/well-architected/), que ayuda a los clientes a diseñar y operar cargas de trabajo confiables, seguras, eficientes y rentables en la nube.

En esta sección se describe cómo los principios de diseño y las prácticas recomendadas de Well-Architected Framework benefician a esta solución.

## Excelencia operativa
<a name="operational-excellence"></a>

En esta sección se describe cómo diseñamos esta solución utilizando los principios y las prácticas recomendadas del [pilar de excelencia operativa](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/welcome.html).
+ La solución utiliza las métricas CloudWatch para proporcionar observabilidad en la infraestructura, las funciones de Lambda, Amazon [Data Firehose,](https://aws.amazon.com/kinesis/data-firehose/) los buckets de Amazon S3 y el resto de los componentes de la solución.
+ Desarrollamos, probamos y publicamos la solución mediante una canalización de integración y entrega continuas (CI/CD) de AWS. Esto ayuda a los desarrolladores a conseguir resultados de alta calidad de forma constante.
+ Puede instalar la solución con una CloudFormation plantilla que aprovisione todos los recursos necesarios en su cuenta. Para actualizar o eliminar la solución, solo tiene que actualizar o eliminar la plantilla.

## Seguridad
<a name="security-pillar"></a>

En esta sección se describe cómo diseñamos esta solución utilizando los principios y las prácticas recomendadas del [pilar de seguridad](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/welcome.html).
+ Todas las comunicaciones entre servicios utilizan las funciones de [AWS Identity and Access Management](https://aws.amazon.com/iam/) (IAM).
+ Todas las funciones que utiliza la solución se basan en el acceso con [privilegios](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege) mínimos. En otras palabras, solo contienen los permisos mínimos necesarios para que el servicio pueda funcionar correctamente.
+ Todo el almacenamiento de datos, incluidos los buckets de Amazon S3 y DynamoDB, tiene cifrado en reposo.

## Fiabilidad
<a name="reliability"></a>

En esta sección se describe cómo diseñamos esta solución utilizando los principios y las prácticas recomendadas del [pilar de fiabilidad](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/welcome.html).
+ La solución utiliza los servicios sin servidor de AWS siempre que es posible (por ejemplo, Lambda, Firehose, Amazon S3 y Athena) para garantizar una alta disponibilidad y recuperación en caso de fallo del servicio.
+ Realizamos pruebas automatizadas de la solución para detectar y corregir los errores rápidamente.
+ La solución utiliza funciones Lambda para el procesamiento de datos. La solución almacena los datos en Amazon S3 y DynamoDB y, de forma predeterminada, permanece en varias zonas de disponibilidad.

## Eficiencia del rendimiento
<a name="performance-efficiency"></a>

En esta sección se describe cómo diseñamos esta solución utilizando los principios y las prácticas recomendadas del [pilar de eficiencia del rendimiento](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/welcome.html).
+ La solución utiliza una arquitectura sin servidor para garantizar una alta escalabilidad y disponibilidad a un coste reducido.
+ La solución mejora el rendimiento de la base de datos al particionar los datos y optimizar las consultas para reducir la cantidad de datos escaneados y lograr resultados más rápidos.
+ La solución se prueba e implementa automáticamente todos los días. Nuestros arquitectos de soluciones y expertos en la materia revisan la solución en busca de áreas en las que experimentar y mejorar.

## Optimización de costos
<a name="cost-optimization"></a>

En esta sección se describe cómo diseñamos esta solución utilizando los principios y las prácticas recomendadas del [pilar de optimización de costos](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/welcome.html).
+ La solución utiliza una arquitectura sin servidores y los clientes solo pagan por lo que utilizan.
+ La capa de cómputo de la solución está predeterminada en Lambda, que usa pay-per-use un modelo.
+ La base de datos y las consultas de Athena están optimizadas para reducir la cantidad de datos escaneados y, por lo tanto, reducir los costos.

## Sostenibilidad
<a name="sustainability"></a>

En esta sección se describe cómo diseñamos esta solución utilizando los principios y las mejores prácticas del [pilar de sostenibilidad](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/sustainability-pillar.html).
+ La solución utiliza servicios gestionados y sin servidor para minimizar el impacto medioambiental de los servicios de backend.
+ El diseño sin servidores de la solución tiene como objetivo reducir la huella de carbono en comparación con la huella de los servidores locales que funcionan continuamente.