

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.

# Implemente las automatizaciones de seguridad para la AWS WAF solución mediante Terraform
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform"></a>

*Dr. Rahul Sharad Gaikwad y Tamilselvan P, Amazon Web Services*

## Resumen
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform-summary"></a>

AWS WAF es un firewall de aplicaciones web que ayuda a proteger las aplicaciones de los ataques más comunes mediante reglas personalizables, que se definen e implementan en listas de *control de acceso web* (). ACLs Configurar AWS WAF las reglas puede resultar complicado, especialmente para las organizaciones que no cuentan con equipos de seguridad especializados. Para simplificar este proceso, Amazon Web Services (AWS) ofrece la AWS WAF solución [Security Automations for](https://aws.amazon.com/solutions/implementations/security-automations-for-aws-waf/), que implementa automáticamente una única ACL web con un conjunto de AWS WAF reglas que filtra los ataques basados en la web. Durante la implementación de Terraform, puede especificar qué características de protección desea incluir. Tras implementar esta solución, AWS WAF inspecciona las solicitudes web a las CloudFront distribuciones de Amazon o a los balanceadores de carga de aplicaciones existentes y bloquea las solicitudes que no cumplan con las reglas.

La AWS WAF solución Security Automations for se puede implementar AWS CloudFormation siguiendo las instrucciones de la Guía de [automatización de seguridad](https://docs.aws.amazon.com/solutions/latest/security-automations-for-aws-waf/overview.html) para la implementación. AWS WAF Este patrón proporciona una opción de implementación alternativa para las organizaciones que utilizan HashiCorp Terraform como su herramienta preferida de infraestructura como código (IaC) para aprovisionar y administrar su infraestructura de nube. Al implementar esta solución, Terraform aplica automáticamente los cambios en la nube e implementa y configura los ajustes y las AWS WAF funciones de protección.

## Requisitos previos y limitaciones
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform-prereqs"></a>

**Requisitos previos **
+ Un activo. Cuenta de AWS
+ AWS Command Line Interface (AWS CLI) versión 2.4.25 o posterior, instalada y configurada con los permisos necesarios. Para obtener más información, consulte [Primeros pasos](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) (AWS CLI documentación).
+ La versión 1.1.9 o posterior de Terraform instalada y configurada. Para obtener más información, consulte [Instalar Terraform](https://learn.hashicorp.com/tutorials/terraform/install-cli) (documentación de Terraform).

## Arquitectura
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform-architecture"></a>

**Arquitectura de destino**

Este patrón implementa las automatizaciones de seguridad para AWS WAF la solución. Para obtener más información sobre la arquitectura de destino, consulte la [descripción general de la arquitectura](https://docs.aws.amazon.com/solutions/latest/security-automations-for-aws-waf/overview.html) en la Guía de *automatización de seguridad para AWS WAF la implementación*. *Para obtener más información sobre AWS Lambda las automatizaciones de esta implementación, el analizador de registros de aplicaciones, el analizador de AWS WAF registros, el analizador de listas de IP y el controlador de acceso, consulte los [detalles de los componentes](https://docs.aws.amazon.com/solutions/latest/security-automations-for-aws-waf/appendix-b.html) en la Guía de automatización de seguridad para la implementación. AWS WAF *

**Implementación de Terraform**

Cuando ejecuta `terraform apply`, Terraform hace lo siguiente:

1. **Terraform crea roles AWS Identity and Access Management (IAM) y funciones Lambda en función de las entradas del archivo testing.tfvars.**

1. **Terraform crea reglas de AWS WAF ACL y conjuntos de IP en función de las entradas del archivo testing.tfvars.**

1. **Terraform crea los depósitos del Amazon Simple Storage Service (Amazon S3), las reglas AWS Glue de Amazon EventBridge , las tablas de bases de datos y los grupos de trabajo de Amazon Athena en función de las entradas del archivo testing.tfvars.**

1. Terraform despliega la pila para aprovisionar los recursos personalizados. AWS CloudFormation 

1. Terraform crea los recursos de Amazon API Gateway en función de las entradas proporcionadas del archivo **testing.tfvars**.

**Automatización y escala**

Puede usar este patrón para crear AWS WAF reglas para múltiples soluciones Cuentas de AWS e Regiones de AWS implementar la AWS WAF solución Security Automations for en todo su entorno. Nube de AWS 

## Tools (Herramientas)
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform-tools"></a>

**Servicios de AWS**
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) es una herramienta de código abierto que le ayuda a interactuar Servicios de AWS mediante los comandos de su consola de línea de comandos.
+ [AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html) es un firewall de aplicación web que lo ayuda a supervisar las solicitudes HTTP y HTTPS que se reenvían a los recursos de su aplicación web protegida.

**Otros servicios**
+ [Git](https://git-scm.com/docs) es un sistema de control de versiones distribuido y de código abierto.
+ [HashiCorp Terraform](https://www.terraform.io/docs) es una aplicación de interfaz de línea de comandos que le ayuda a usar código para aprovisionar y administrar la infraestructura y los recursos de la nube.

**Repositorio de código**

El código de este patrón está disponible en el repositorio GitHub [AWS WAF Automation](https://github.com/aws-samples/aws-waf-automation-terraform-samples) Using Terraform.

## Prácticas recomendadas
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform-best-practices"></a>
+ Coloque los archivos estáticos en buckets de Amazon S3 separados.
+ Evite codificar variables de forma rígida.
+ Limite el uso de scripts personalizados.
+ Adopte una convención de nomenclatura.

## Epics
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform-epics"></a>

### Configure su equipo de trabajo local
<a name="set-up-your-local-workstation"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale Git | Siga las instrucciones de [Primeros pasos](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) (sitio web de Git) para instalar Git en su estación de trabajo local. | DevOps ingeniero | 
| Clonar el repositorio. | En la estación de trabajo local, introduzca el siguiente comando para clonar el repositorio de código:<pre>git clone https://github.com/aws-samples/aws-waf-automation-terraform-samples.git</pre> | DevOps ingeniero | 
| Actualice las variables. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-the-security-automations-for-aws-waf-solution-by-using-terraform.html) | DevOps ingeniero | 

### Aprovisionar la arquitectura de destino mediante Terraform
<a name="provision-the-target-architecture-using-terraform"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Inicialice la configuración de Terraform. | Introduzca el siguiente comando para inicializar el directorio de trabajo que contiene los archivos de configuración de Terraform:<pre>terraform init</pre> | DevOps ingeniero | 
| Obtenga una vista previa del plan Terraform. | Escriba el siguiente comando. Terraform evalúa los archivos de configuración para determinar el estado objetivo de los recursos declarados. A continuación, compara el estado objetivo con el estado actual y crea un plan:<pre>terraform plan -var-file="testing.tfvars"</pre> | DevOps ingeniero | 
| Verifique el plan. | Revise el plan y confirme que configura la arquitectura requerida en su Cuenta de AWS de destino. | DevOps ingeniero | 
| Implemente la solución. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-the-security-automations-for-aws-waf-solution-by-using-terraform.html) | DevOps ingeniero | 

### Validar y limpiar
<a name="validate-and-clean-up"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Verifique los cambios. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-the-security-automations-for-aws-waf-solution-by-using-terraform.html) | DevOps ingeniero | 
| (Opcional) Limpieza de la infraestructura. | Si desea eliminar todos los cambios de configuración y recursos realizados por esta solución, haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-the-security-automations-for-aws-waf-solution-by-using-terraform.html) | DevOps ingeniero | 

## Resolución de problemas
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| Error `WAFV2 IPSet: WAFOptimisticLockException` | Si** ** recibe este error al ejecutar el comando `terraform destroy`, debe eliminar manualmente los conjuntos de IP. Para obtener instrucciones, consulte [Eliminar un conjunto de direcciones IP](https://docs.aws.amazon.com/waf/latest/developerguide/waf-ip-set-deleting.html) (AWS WAF documentación). | 

## Recursos relacionados
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform-resources"></a>

**AWS referencias**
+ [Guía de automatización de seguridad para AWS WAF la implementación](https://docs.aws.amazon.com/solutions/latest/security-automations-for-aws-waf/welcome.html)
+ [Automatizaciones de seguridad para AWS WAF(biblioteca](https://aws.amazon.com/solutions/implementations/security-automations-for-aws-waf/) de AWS soluciones)
+ [Preguntas frecuentes sobre las automatizaciones de seguridad para AWS WAF](https://aws.amazon.com/solutions/implementations/security-automations-for-aws-waf/resources/#FAQ)

**Referencias de Terraform**
+ [Terraform backend configuration](https://developer.hashicorp.com/terraform/language/backend)
+ [Terraform AWS Provider: documentación y uso](https://registry.terraform.io/providers/hashicorp/aws/latest/docs)
+ [Terraform AWS Provider (repositorio](https://github.com/hashicorp/terraform-provider-aws)) GitHub 