

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á.

# Detalhes de arquitetura
<a name="architecture-details"></a>

Esta seção descreve os componentes e os serviços da AWS que compõem essa solução e os detalhes da arquitetura sobre como esses componentes funcionam juntos.

## Serviços da AWS nesta solução
<a name="aws-services-in-this-solution"></a>


| Serviço da AWS | Description | 
| --- | --- | 
|   [AWS WAF](https://aws.amazon.com/waf/)   |   **Principal.** Implanta uma ACL web do AWS WAF, grupos de regras do AWS Managed Rules, regras personalizadas e conjuntos de IP. Faz chamadas de API do AWS WAF para bloquear ataques comuns e proteger aplicativos web.  | 
|   [Amazon Data Firehose](https://aws.amazon.com/kinesis/data-firehose/)   |   **Principal.** Entrega registros do AWS WAF para buckets do Amazon S3.  | 
|   [Amazon S3](https://aws.amazon.com/s3/)   |   **Principal.** Armazena registros do AWS WAF CloudFront e ALB.  | 
|   [AWS Lambda](https://aws.amazon.com/lambda/)   |   **Principal.** Implanta várias funções do Lambda para oferecer suporte a regras personalizadas.  | 
|   [Amazon EventBridge](https://aws.amazon.com/eventbridge/)   |   **Principal.** Cria regras de eventos para invocar o Lambda.  | 
|   [Amazon Athena](https://aws.amazon.com/athena/)   |   **Suporte.** Cria consultas e grupos de trabalho do Athena para dar suporte ao analisador de log do Athena.  | 
|   [AWS Glue](https://aws.amazon.com/glue/)   |   **Suporte.** Cria bancos de dados e tabelas para dar suporte ao analisador de log Athena.  | 
|   [Amazon SNS](https://aws.amazon.com/sns/)   |   **Suporte.** Envia notificações por e-mail do Amazon Simple Notification Service (Amazon SNS) para apoiar a retenção de IP em listas permitidas e negadas.  | 
|   [AWS Systems Manager](https://aws.amazon.com/systems-manager/)   |   **Suporte.** Fornece monitoramento de recursos em nível de aplicativo e visualização de operações de recursos e dados de custos.  | 

# Opções do analisador de log
<a name="log-parser-options"></a>

Conforme descrito na [visão geral da arquitetura](architecture-overview.md), há três opções para lidar com as proteções de inundação e scanner e sonda HTTP. As seções a seguir explicam cada uma dessas opções com mais detalhes.

## Regra baseada em taxas do AWS WAF
<a name="aws-waf-rate-based-rule"></a>

Regras baseadas em taxas estão disponíveis para proteção contra inundação de HTTP. Por padrão, uma regra baseada em intervalo agrega e limita o intervalo das solicitações com base no endereço IP da solicitação. Essa solução permite que você especifique o número de solicitações da web que um IP do cliente permite em um período posterior e continuamente atualizado de cinco minutos. Se um endereço IP violar a cota configurada, o AWS WAF bloqueia novas solicitações bloqueadas até que a taxa de solicitação seja menor que a cota configurada.

Recomendamos selecionar a opção de regra baseada em taxas se a cota de solicitações for superior a 2.000 solicitações por cinco minutos e você não precisar implementar personalizações. Por exemplo, você não considera o acesso estático a recursos ao contar as solicitações.

Você também pode configurar a regra para usar várias outras chaves de agregação e combinações de teclas. Para obter mais informações, consulte [Opções e chaves de agregação](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-rate-based-aggregation-options.html).

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

Os parâmetros do modelo **HTTP Flood Protection** e **Scanner & Probe **Protection**** fornecem a opção de analisador de log Athena. Quando ativado, CloudFormation provisiona uma consulta do Athena e uma função Lambda programada responsável por orquestrar o Athena para executar, processar a saída do resultado e atualizar o AWS WAF. Essa função Lambda é invocada por um CloudWatch evento configurado para ser executado a cada cinco minutos. Isso é configurável com o parâmetro **Athena Query Run Time** Schedule.

Recomendamos selecionar essa opção quando você não puder usar as regras baseadas em taxas do AWS WAF e tiver familiaridade com o SQL para implementar personalizações. Para obter mais informações sobre como alterar a consulta padrão, consulte [Exibir consultas do Amazon Athena](view-amazon-athena-queries.md).

A proteção contra inundação HTTP é baseada no processamento do log de acesso do AWS WAF e usa arquivos de log do WAF. O tipo de log de acesso WAF tem um tempo de atraso menor, que você pode usar para identificar as origens da inundação HTTP mais rapidamente em comparação com o tempo de entrega do log do ALB. CloudFront No entanto, você deve selecionar o tipo de registro CloudFront ou ALB no parâmetro do modelo **Activate Scanner & Probe Protection** para receber códigos de status de resposta.

**nota**  
Se um bot mal-intencionado contorna o honeypot e interage diretamente com o ALB ou CloudFront, o sistema detecta comportamento malicioso por meio da análise de registros, a menos que o HTTP Flood Protection e o Scanner & Probe Protection não estejam usando o analisador de log Lambda.

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

Os parâmetros do modelo **HTTP Flood Protection** e **Scanner & Probe Protection** fornecem a opção **AWS Lambda Log** Parser. Use o analisador de log Lambda somente quando a **regra baseada em taxas do AWS WAF e as opções do** analisador de log do **Amazon Athena** não estiverem disponíveis. Uma limitação conhecida dessa opção é que as informações são processadas dentro do contexto do arquivo que está sendo processado. Por exemplo, um IP pode gerar mais solicitações ou erros do que a cota definida, mas como essas informações são divididas em arquivos diferentes, cada arquivo não armazena dados suficientes para exceder a cota.

**nota**  
Além disso, se um bot mal-intencionado contorna o honeypot e interage diretamente com o ALB ou CloudFront, a detecção depende da opção escolhida do analisador de log para identificar e bloquear efetivamente atividades maliciosas.

# Detalhes do componente
<a name="component-details"></a>

Conforme descrito no [diagrama de arquitetura](architecture-overview.md#architecture-diagram), quatro dos componentes dessa solução usam automações para inspecionar endereços IP e adicioná-los à lista de bloqueios do AWS WAF. As seções a seguir explicam cada um desses componentes com mais detalhes.

## Analisador de log - Aplicação
<a name="log-parser--application"></a>

O analisador de log do aplicativo ajuda a proteger contra scanners e sondas.

 **Fluxo do analisador de log do aplicativo.** 

![\[fluxo do analisador de log do aplicativo\]](http://docs.aws.amazon.com/pt_br/solutions/latest/security-automations-for-aws-waf/images/app-log-parser-flow.png)


1. Quando CloudFront ou um ALB recebe solicitações em nome do seu aplicativo web, ele envia os registros de acesso para um bucket do Amazon S3.

   1. (Opcional) Se você selecionar `Yes - Amazon Athena log parser` os parâmetros do modelo **Ativar proteção contra inundação HTTP e Ativar proteção** **de scanner e sonda**, uma função Lambda moverá os registros de acesso de sua pasta original *<customer-bucket>* `/AWSLogs` para uma pasta recém-particionada *<customer-bucket>* `/AWSLogs-partitioned/` *<optional-prefix>* `/year=` *<YYYY>* `/month=` *<MM>* `/day=` *<DD>* `/hour=`*<HH>*/após sua chegada ao Amazon S3.

   1. (Opcional) Se você selecionar `yes` o parâmetro **Manter dados no modelo de localização original do S3**, os registros permanecerão no local original e serão copiados para a pasta particionada, duplicando seu armazenamento de registros.
**nota**  
Para o analisador de log Athena, essa solução particiona somente os novos registros que chegam ao seu bucket do Amazon S3 após a implantação dessa solução. Se você tem registros existentes que deseja particionar, você deve carregá-los manualmente para o Amazon S3 depois de implantar essa solução.

1. Com base na sua seleção dos parâmetros do modelo **Ativar proteção contra inundação HTTP e Ativar proteção** **de scanner e sonda**, essa solução processa os registros usando uma das seguintes opções:

   1.  **Lambda** — Sempre que um novo log de acesso é armazenado no bucket do Amazon S3, a função `Log Parser` Lambda é iniciada.

   1.  **Athena** — Por padrão, a cada cinco minutos, a consulta **Athena do Scanner & Probe Protection** é executada e a saída é enviada para o AWS WAF. Esse processo é iniciado por um CloudWatch evento, que inicia a função Lambda responsável por executar a consulta do Athena e envia o resultado para o AWS WAF.

1. A solução analisa os dados de registro para identificar endereços IP que geraram mais erros do que a cota definida. Em seguida, a solução atualiza uma condição de conjunto de IP do AWS WAF para bloquear esses endereços IP por um período de tempo definido pelo cliente.

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

Se você selecionar `yes - AWS Lambda log parser` ou `yes - Amazon Athena log parser` **ativar a proteção contra inundação HTTP**, essa solução provisiona os seguintes componentes, que analisam os registros do AWS WAF para identificar e bloquear as origens que inundam o endpoint com uma taxa de solicitação maior do que a cota que você definiu.

 **Fluxo do analisador de log do AWS WAF.** 

![\[fluxo do analisador de log waf\]](http://docs.aws.amazon.com/pt_br/solutions/latest/security-automations-for-aws-waf/images/waf-log-parser-flow.png)


1. Quando o AWS WAF recebe registros de acesso, ele os envia para um endpoint Firehose. O Firehose então entrega os registros em um bucket particionado no Amazon S3 chamado *<customer-bucket>* `/AWSLogs/` *<optional-prefix>* `/year=` *<YYYY>* `/month=` *<MM>* `/day=` *<DD>* `/hour=` *<HH>* `/` 

1. Com base na sua seleção dos parâmetros do modelo **Ativar proteção contra inundação HTTP e Ativar proteção** **de scanner e sonda**, essa solução processa os registros usando uma das seguintes opções:

   1.  **Lambda**: sempre que um novo log de acesso é armazenado no bucket do Amazon S3, a função `Log Parser` Lambda é iniciada.

   1.  **Athena:** Por padrão, a cada cinco minutos, a consulta do scanner e da sonda Athena é executada e a saída é enviada para o AWS WAF. Esse processo é iniciado por um CloudWatch evento da Amazon, que então inicia a função Lambda responsável pela execução da consulta do Amazon Athena e envia o resultado para o AWS WAF.

1. A solução analisa os dados de registro para identificar endereços IP que enviaram mais solicitações do que a cota definida. Em seguida, a solução atualiza uma condição de conjunto de IP do AWS WAF para bloquear esses endereços IP por um período de tempo definido pelo cliente.

## Analisador de registros - Bad bot
<a name="log-parser--badbot"></a>

O analisador de log do Bad bot inspeciona as solicitações para o endpoint do honeypot para extrair o endereço IP de origem.

 **Fluxo incorreto do analisador de log de bots.** 

![\[fluxo do analisador de log badbot\]](http://docs.aws.amazon.com/pt_br/solutions/latest/security-automations-for-aws-waf/images/badbot-log-parser-flow.png)


1. [Se `Bad Bot Protection` estiver ativado e os recursos HTTP Flood Protection e Scanner & Probe Protection estiverem desativados: o sistema usará o analisador Log Lambda, que registra somente solicitações de bots incorretas com base nos filtros de rótulos WAF.](https://docs.aws.amazon.com/waf/latest/developerguide/waf-labels.html)

1. A função Lambda intercepta e inspeciona os cabeçalhos da solicitação para extrair o endereço IP da fonte que acessou o endpoint da armadilha.

1. A solução analisa os dados de registro para identificar endereços IP que enviaram mais solicitações do que a cota definida. Em seguida, a solução atualiza uma condição de conjunto de IP do AWS WAF para bloquear esses endereços IP por um período de tempo definido pelo cliente.

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

A função `IP Lists Parser` Lambda ajuda a proteger contra invasores conhecidos identificados em listas de reputação de IP de terceiros.

 **A reputação do IP lista o fluxo do analisador.** 

![\[fluxo de listas de reputação de IP\]](http://docs.aws.amazon.com/pt_br/solutions/latest/security-automations-for-aws-waf/images/ip-reputation-lists-flow.png)


1. Um CloudWatch evento de hora em hora da Amazon invoca a função Lambda`IP Lists Parser`.

1. A função Lambda reúne e analisa dados de três fontes:
   + Listas DROP e EDROP do Spamhaus
   + Lista de IPs de ameaças emergentes da Proofpoint
   + Lista de modos de saída do Tor

1. A função Lambda atualiza a lista de bloqueios do AWS WAF com os endereços IP atuais.