

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Implemente as automações de segurança para a AWS WAF solução usando o Terraform
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform"></a>

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

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

AWS WAF é um firewall de aplicativos da web que ajuda a proteger os aplicativos contra explorações comuns usando regras personalizáveis, que você define e implanta nas *listas de controle de acesso à web* ()ACLs. Configurar AWS WAF regras pode ser um desafio, especialmente para organizações que não têm equipes de segurança dedicadas. Para simplificar esse processo, a Amazon Web Services (AWS) oferece a AWS WAF solução [Security Automations for](https://aws.amazon.com/solutions/implementations/security-automations-for-aws-waf/), que implanta automaticamente uma única ACL da web com um conjunto de AWS WAF regras que filtra ataques baseados na web. Durante a implantação do Terraform, você pode especificar quais atributos de proteção incluir. Depois de implantar essa solução, AWS WAF inspeciona as solicitações da web para CloudFront distribuições existentes da Amazon ou Application Load Balancers e bloqueia todas as solicitações que não correspondam às regras.

A AWS WAF solução Security Automations for pode ser implantada usando de AWS CloudFormation acordo com as instruções no Guia de Implementação de [Automações de AWS WAF Segurança](https://docs.aws.amazon.com/solutions/latest/security-automations-for-aws-waf/overview.html). Esse padrão fornece uma opção alternativa de implantação para organizações que usam o HashiCorp Terraform como sua ferramenta preferida de infraestrutura como código (IaC) para provisionar e gerenciar sua infraestrutura em nuvem. Quando você implanta essa solução, o Terraform aplica automaticamente as alterações na nuvem e implanta e configura as AWS WAF configurações e os recursos de proteção.

## Pré-requisitos e limitações
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform-prereqs"></a>

**Pré-requisitos **
+ Um ativo Conta da AWS.
+ AWS Command Line Interface (AWS CLI) versão 2.4.25 ou posterior, instalada e configurada com as permissões necessárias. Para obter mais informações, consulte [Introdução](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) (AWS CLI documentação).
+ O Terraform, na versão 1.1.9 ou em versões posteriores, instalado e configurado. Para obter mais informações, consulte [Instalar o Terraform](https://learn.hashicorp.com/tutorials/terraform/install-cli) (documentação do Terraform).

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

**Arquitetura de destino**

Esse padrão implanta as automações de segurança para AWS WAF a solução. Para obter mais informações sobre a arquitetura de destino, consulte [Visão geral da arquitetura](https://docs.aws.amazon.com/solutions/latest/security-automations-for-aws-waf/overview.html) no *Guia de AWS WAF Implementação de Automações de Segurança*. Para obter mais informações sobre as AWS Lambda automações nessa implantação, o analisador de log de aplicativos, o analisador de AWS WAF log, o analisador de listas de IP e o manipulador de acesso, consulte [Detalhes do componente](https://docs.aws.amazon.com/solutions/latest/security-automations-for-aws-waf/appendix-b.html) no Guia de Implementação de Automações de *Segurança*. AWS WAF 

**Implantação do Terraform**

Quando você executa o `terraform apply`, o Terraform faz o seguinte:

1. **O Terraform cria funções AWS Identity and Access Management (IAM) e funções Lambda com base nas entradas do arquivo testing.tfvars.**

1. **O Terraform cria regras de AWS WAF ACL e conjuntos de IP com base nas entradas do arquivo testing.tfvars.**

1. **O Terraform cria buckets do Amazon Simple Storage Service (Amazon S3), regras AWS Glue da Amazon, tabelas de banco de dados e grupos de trabalho do EventBridge Amazon Athena com base nas entradas do arquivo testing.tfvars.**

1. O Terraform implanta a AWS CloudFormation pilha para provisionar os recursos personalizados.

1. O Terraform cria os recursos do Amazon API Gateway com base nas entradas fornecidas do arquivo **testing.tfvars**.

**Automação e escala**

Você pode usar esse padrão para criar AWS WAF regras para várias Contas da AWS e implantar Regiões da AWS a AWS WAF solução Security Automations for em todo o seu Nuvem AWS ambiente.

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

**Serviços da AWS**
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) é uma ferramenta de código aberto que ajuda você a interagir Serviços da AWS por meio de comandos em seu shell de linha de comando.
+ O [AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html) é um firewall para aplicações web que ajuda a monitorar solicitações HTTP e HTTPS encaminhadas aos recursos da sua aplicação web protegida.

**Outros serviços**
+ [Git](https://git-scm.com/docs) é um sistema de controle de versão distribuído e de código aberto.
+ [HashiCorp O Terraform](https://www.terraform.io/docs) é um aplicativo de interface de linha de comando que ajuda você a usar o código para provisionar e gerenciar a infraestrutura e os recursos da nuvem.

**Repositório de código**

O código desse padrão está disponível no repositório GitHub [AWS WAF Automation Using Terraform](https://github.com/aws-samples/aws-waf-automation-terraform-samples).

## Práticas recomendadas
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform-best-practices"></a>
+ Armazene os arquivos estáticos em buckets distintos do Amazon S3.
+ Evite variáveis de codificação permanente.
+ Limite o uso de scripts personalizados.
+ Adote uma convenção de nomenclatura.

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

### Configure sua estação de trabalho local.
<a name="set-up-your-local-workstation"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Instale o Git. | Siga as instruções em [Conceitos básicos](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) (site do Git) para instalar o Git na sua estação de trabalho local. | DevOps engenheiro | 
| Clonar o repositório. | Em sua estação de trabalho local, digite o seguinte comando para clonar o repositório de código:<pre>git clone https://github.com/aws-samples/aws-waf-automation-terraform-samples.git</pre> | DevOps engenheiro | 
| Atualize as variáveis. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-the-security-automations-for-aws-waf-solution-by-using-terraform.html) | DevOps engenheiro | 

### Forneça a arquitetura de destino usando o Terraform
<a name="provision-the-target-architecture-using-terraform"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Inicialize a configuração do Terraform. | Digite o seguinte comando para inicializar seu diretório de trabalho que contém os arquivos de configuração do Terraform:<pre>terraform init</pre> | DevOps engenheiro | 
| Visualize o plano do Terraform. | Insira o comando da a seguir. O Terraform avalia os arquivos de configuração para determinar o estado de destino dos recursos declarados. Em seguida, ele compara o estado desejado com o estado atual e cria um plano:<pre>terraform plan -var-file="testing.tfvars"</pre> | DevOps engenheiro | 
| Verificar o plano. | Analise o plano e confirme se ele configura a arquitetura necessária na sua Conta da AWS de destino. | DevOps engenheiro | 
| Implante a solução. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-the-security-automations-for-aws-waf-solution-by-using-terraform.html) | DevOps engenheiro | 

### Validar e limpar
<a name="validate-and-clean-up"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Verifique as alterações. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-the-security-automations-for-aws-waf-solution-by-using-terraform.html) | DevOps engenheiro | 
| (Opcional) Limpe a infraestrutura. | Se deseja remover todos os recursos e as alterações de configuração feitas por essa solução, faça o seguinte:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/deploy-the-security-automations-for-aws-waf-solution-by-using-terraform.html) | DevOps engenheiro | 

## Solução de problemas
<a name="deploy-the-security-automations-for-aws-waf-solution-by-using-terraform-troubleshooting"></a>


| Problema | Solução | 
| --- | --- | 
| Erro `WAFV2 IPSet: WAFOptimisticLockException` | Se você** ** receber esse erro ao executar o comando `terraform destroy`, deverá excluir manualmente os conjuntos de IP. Para obter instruções, consulte [Excluindo um conjunto de IPs](https://docs.aws.amazon.com/waf/latest/developerguide/waf-ip-set-deleting.html) (AWS WAF documentação). | 

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

**AWS referências**
+ [Guia de AWS WAF implementação de automações de segurança](https://docs.aws.amazon.com/solutions/latest/security-automations-for-aws-waf/welcome.html)
+ [Automações de segurança para AWS WAF](https://aws.amazon.com/solutions/implementations/security-automations-for-aws-waf/) (Biblioteca de AWS soluções)
+ [Automações de segurança para perguntas frequentes AWS WAF](https://aws.amazon.com/solutions/implementations/security-automations-for-aws-waf/resources/#FAQ)

**Referências do Terraform**
+ [Configuração de backend do Terraform](https://developer.hashicorp.com/terraform/language/backend)
+ [Terraform AWS Provider - Documentação e uso](https://registry.terraform.io/providers/hashicorp/aws/latest/docs)
+ [Terraform AWS Provider](https://github.com/hashicorp/terraform-provider-aws) (GitHub repositório)