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.
Implementar la solución Security Automations para AWS WAF mediante Terraform
Creado por el Dr. Rahul Sharad Gaikwad (AWS) y Tamilselvan (AWS)
Repositorio de códigos: -samples aws-waf-automation-terraform | Entorno: PoC o piloto | Tecnologías: seguridad, identidad, cumplimiento; infraestructura; entrega de contenido; DevOps |
Carga de trabajo: todas las demás cargas de trabajo | Servicios de AWS: AWS WAF |
Resumen
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 (ACL) web. Configurar las reglas de AWS WAF puede resultar difícil, especialmente para las organizaciones que no cuentan con equipos de seguridad especializados. Para simplificar este proceso, Amazon Web Services (AWS) ofrece la solución Automatizaciones de seguridad para AWS WAF
La solución Security Automations for AWS WAF se puede implementar mediante CloudFormation AWS según las instrucciones de la Guía de implementación de Security Automations for AWS WAF. Este patrón ofrece 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 funciones de protección de AWS WAF.
Requisitos previos y limitaciones
Requisitos previos
Una cuenta de AWS activa.
Interfaz de la línea de comandos de AWS (AWS CLI) instalada y configurada con los permisos necesarios. Para obtener más información, consulte Introducción (documentación de AWS CLI).
Terraform instalado y configurado. Para obtener más información, consulte Instalar Terraform
(documentación de Terraform).
Versiones de producto
Versión 2.4.25 o posterior de la CLI de AWS
Versión de Terraform 1.1.9 o posterior
Arquitectura
Arquitectura de destino
Este patrón despliega la solución Security Automations para AWS WAF. Para obtener más información sobre la arquitectura de destino, consulte la descripción general de la arquitectura en la Guía de implementación de automatizaciones de seguridad para AWS WAF. Para obtener más información sobre las automatizaciones de AWS Lambda en esta implementación, el analizador de registros de aplicaciones, el analizador de registros de AWS WAF, el analizador de listas de IP y el controlador de acceso, consulte los detalles de los componentes en la Guía de implementación de automatizaciones de seguridad para AWS WAF.
Implementación de Terraform
Cuando ejecuta terraform apply
, Terraform hace lo siguiente:
Terraform crea roles de IAM y funciones de Lambda en función de las entradas del archivo testing.tfvars.
Terraform crea reglas de ACL y conjuntos de IP de AWS WAF en función de las entradas del archivo testing.tfvars.
Terraform crea los depósitos de Amazon Simple Storage Service (Amazon S3), las reglas de Amazon EventBridge , las tablas de bases de datos de AWS Glue y los grupos de trabajo de Amazon Athena en función de las entradas del archivo testing.tfvars.
Terraform implementa la CloudFormation pila de AWS para aprovisionar los recursos personalizados.
Terraform crea los recursos de Amazon API Gateway en función de las entradas proporcionadas del archivo testing.tfvars.
Automatizar y escalar
Puede usar este patrón para crear reglas de AWS WAF para varias cuentas y regiones de AWS con el fin de implementar la solución de automatizaciones de seguridad para AWS WAF en todo su entorno de nube de AWS.
Herramientas
Servicios de AWS
La interfaz de la línea de comandos de AWS (AWS CLI) es una herramienta de código abierto que le permite interactuar con los servicios de AWS mediante comandos en su intérprete de comandos de línea de comandos.
AWS WAF es un firewall de aplicación web que le ayuda a monitorizar las solicitudes HTTP y HTTPS que se reenvíen a los recursos de su aplicación web protegida.
Otros servicios
Git
es un sistema de control de versiones distribuido y de código abierto. HashiCorp Terraform
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 Using Terraform
Prácticas recomendadas
Coloque los archivos estáticos en buckets de S3 separados.
Evite codificar variables de forma rígida.
Limite el uso de scripts personalizados.
Adopte una convención de nomenclatura.
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Instale Git | Siga las instrucciones de Primeros pasos | DevOps ingeniero |
Clonar el repositorio. | En la estación de trabajo local, introduzca el siguiente comando para clonar el repositorio de código. Para copiar el comando completo, incluida la URL del repositorio, consulte la sección Información adicional de este patrón.
| DevOps ingeniero |
Actualice las variables. |
| DevOps ingeniero |
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.
| 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.
| 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. |
| DevOps ingeniero |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Verifique los cambios. |
| 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:
| DevOps ingeniero |
Resolución de problemas
Problema | Solución |
---|---|
Error de | Si recibe este error al ejecutar el comando |
Recursos relacionados
Referencias de AWS
Referencias de Terraform
Información adicional
El siguiente comando clona el GitHub repositorio para este patrón.
git clone https://github.com/aws-samples/aws-waf-automation-terraform-samples.git