

**Apresentando uma nova experiência de console para AWS WAF**

Agora você pode usar a experiência atualizada para acessar a AWS WAF funcionalidade em qualquer lugar do console. Para obter mais detalhes, consulte [Trabalhando com o console](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html). 

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

# Registrar em log as informações de tráfego da web ACL
<a name="classic-logging"></a>

**Atenção**  
AWS WAF O clássico está passando por um end-of-life processo planejado. Consulte seu AWS Health painel para ver os marcos e datas específicos da sua região.

**nota**  
Essa é a documentação do **AWS WAF Classic**. Você só deve usar essa versão se tiver criado AWS WAF recursos, como regras e web ACLs, AWS WAF antes de novembro de 2019 e ainda não os tiver migrado para a versão mais recente. Para migrar sua web ACLs, consulte[Migrando seus recursos AWS WAF clássicos para AWS WAF](waf-migrating-from-classic.md).  
**Para obter a versão mais recente do AWS WAF**, consulte[AWS WAF](waf-chapter.md). 

**nota**  
Você não pode usar o Amazon Security Lake para coletar dados do AWS WAF Classic. 

Você pode habilitar o registro em log para obter informações detalhadas sobre o tráfego que é analisado pela web ACL. As informações contidas nos registros incluem a hora em que o AWS WAF Classic recebeu a solicitação do seu AWS recurso, informações detalhadas sobre a solicitação e a ação da regra à qual cada solicitação correspondeu.

Para começar, configure um Amazon Kinesis Data Firehose. Como parte desse processo, selecione um destino para armazenar seus logs. Em seguida, selecione a web ACL para a qual você deseja habilitar o registro em log. Depois de ativar o registro, AWS WAF entrega os registros pela mangueira de incêndio até seu destino de armazenamento. 

Para saber mais sobre como criar um Amazon Kinesis Data Firehose e revisar seus logs armazenados, consulte [O que é o Amazon Data Firehose?](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html) Para entender as permissões necessárias para a configuração do Kinesis Data Firehose, consulte [Controlar acesso com o Amazon Kinesis Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html).

Você deve ter as seguintes permissões para habilitar o registro em log com êxito:
+ `iam:CreateServiceLinkedRole`
+ `firehose:ListDeliveryStreams`
+ `waf:PutLoggingConfiguration`

Para obter mais informações sobre funções vinculadas ao serviço e as permissões do `iam:CreateServiceLinkedRole`, consulte [Usando funções vinculadas a serviços para Classic AWS WAF](classic-using-service-linked-roles.md).<a name="classic-logging-procedure"></a>

**Para habilitar o registro de uma web ACL**

1. Crie um Amazon Kinesis Data Firehose usando um nome que comece com o aws-waf-logs prefixo "-” Por exemplo,. `aws-waf-logs-us-east-2-analytics` Crie o Data Firehose com uma origem `PUT` e na região em que você está operando. Se você estiver capturando registros para a Amazon CloudFront, crie a mangueira de incêndio no Leste dos EUA (Norte da Virgínia). Para obter mais informações, consulte [Creating an Amazon Data Firehose Delivery Stream](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html).
**Importante**  
Não escolha `Kinesis stream` como sua origem.  
Um registro AWS WAF Classic é equivalente a um registro do Firehose. Se você normalmente receber 10 000 solicitações por segundo e habilitar logs completos, deverá ter uma configuração de 10 000 registros por segundo no Firehose. Se você não configurar o Firehose corretamente, o AWS WAF Classic não gravará todos os registros. Para obter mais informações, consulte [Cotas do Amazon Kinesis Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/limits.html). 

1. Faça login no Console de gerenciamento da AWS e abra o AWS WAF console em [https://console.aws.amazon.com/wafv2/](https://console.aws.amazon.com/wafv2/). 

   Se você ver **Alternar para o AWS WAF clássico** no painel de navegação, selecione-o.

1. No painel de navegação, escolha **Web ACLs**.

1. Selecione o nome da web ACL para a qual você deseja habilitar o registro em log. Isso abre uma página com os detalhes da web ACL no painel direito.

1. Na guia **Registro em log**, selecione **Habilitar registro em log**.

1. Habilite o Kinesis Data Firehose criado na primeira etapa. Você deve escolher uma mangueira de incêndio que comece com "aws-waf-logs-”.

1. (Opcional) Se você não deseja que determinados campos e seus valores sejam incluídos nos logs, edite esses campos. Selecione o campo para editar e, em seguida, selecione **Adicionar**. Repita conforme necessário para editar campos adicionais. Os campos editados são exibidos como `REDACTED` nos logs. Por exemplo, se você editar o campo **cookie**, **cookie** ele será `REDACTED` nos logs. 

1. Selecione **Habilitar registro em log**.
**nota**  
Quando você habilita o registro com sucesso, o AWS WAF Classic cria uma função vinculada ao serviço com as permissões necessárias para gravar registros no Amazon Kinesis Data Firehose. Para obter mais informações, consulte [Usando funções vinculadas a serviços para Classic AWS WAF](classic-using-service-linked-roles.md).<a name="classic-logging-disable-procedure"></a>

**Para desabilitar o registro em log de uma web ACL**

1. No painel de navegação, escolha **Web ACLs**.

1. Selecione o nome da web ACL para a qual você deseja desabilitar o registro em log. Isso abre uma página com os detalhes da web ACL no painel direito.

1. Na guia **Registro em log**, selecione **Desabilitar registro em log**.

1. Na caixa de diálogo, selecione **Desabilitar registro em log**.

**Example Log de exemplo**  

```
{
			
	"timestamp":1533689070589,                            
	"formatVersion":1,                                   
	"webaclId":"385cb038-3a6f-4f2f-ac64-09ab912af590",  
	"terminatingRuleId":"Default_Action",                
	"terminatingRuleType":"REGULAR",                     
	"action":"ALLOW",                                    
	"httpSourceName":"CF",                               
	"httpSourceId":"i-123",                             
	"ruleGroupList":[                                    
                         {  
                          "ruleGroupId":"41f4eb08-4e1b-2985-92b5-e8abf434fad3",
                          "terminatingRule":null,    
                          "nonTerminatingMatchingRules":[                  
                                                         {"action" : "COUNT",   
                                                         "ruleId" : "4659b169-2083-4a91-bbd4-08851a9aaf74"}       
                                                        ],
                          "excludedRules":              [
                                                         {"exclusionType" : "EXCLUDED_AS_COUNT",   
                                                          "ruleId" : "5432a230-0113-5b83-bbb2-89375c5bfa98"}
                                                        ]                          
                         }
                        ],
     
	"rateBasedRuleList":[                                 
                             {  
                              "rateBasedRuleId":"7c968ef6-32ec-4fee-96cc-51198e412e7f",   
                              "limitKey":"IP",
                              "maxRateAllowed":100                                                                                           
                             },
                             {  
                              "rateBasedRuleId":"462b169-2083-4a93-bbd4-08851a9aaf30",
                              "limitKey":"IP",
                              "maxRateAllowed":100
                              }
                              ],
			
	"nonTerminatingMatchingRules":[                                
                                       {"action" : "COUNT",                                                           
                                       "ruleId" : "4659b181-2011-4a91-bbd4-08851a9aaf52"}    
                                      ],
                                  
	"httpRequest":{                                                             
                       "clientIp":"192.10.23.23",                                           
                       "country":"US",                                                         
                       "headers":[                                                                 
                                   {  
                                    "name":"Host",
                                    "value":"127.0.0.1:1989"
                                   },
                                   {  
                                    "name":"User-Agent",
                                    "value":"curl/7.51.2"
                                   },
                                   {  
                                    "name":"Accept",
                                    "value":"*/*"
                                   }
                                 ],
                      "uri":"REDACTED",                                                
                      "args":"usernam=abc",                                         
                      "httpVersion":"HTTP/1.1",
                      "httpMethod":"GET",
                      "requestId":"cloud front Request id"                    
                      }
}
```

Veja a seguir uma explicação de cada item listado nesses logs:

**timestamp**  
O timestamp em milissegundos.

**formatVersion**  
A versão do formato do log.

**webaclId**  
O GUID da web ACL.

**terminatingRuleId**  
O ID da regra que encerrou a solicitação. Se nada encerrar a solicitação, o valor será `Default_Action`.

**terminatingRuleType**  
O tipo de regra que encerrou a solicitação. Valores possíveis: RATE\$1BASED, REGULAR e GROUP.

**action**  
A ação. Os valores possíveis para uma regra de encerramento: ALLOW e BLOCK. COUNT não é um valor válido para o encerramento de uma regra.

**terminatingRuleMatchDetalhes**  
Informações detalhadas sobre a regra de encerramento que correspondeu à solicitação. Uma regra de encerramento tem uma ação que encerra o processo de inspeção em relação a uma solicitação da Web. As ações possíveis para uma regra de encerramento são ALLOW e BLOCK. Isso é preenchido somente para instruções de regra de correspondência de injeção de SQL e cross-site scripting (XSS). Tal como acontece com todas as instruções de regra que inspecionam mais de uma coisa, o AWS WAF aplica a ação na primeira correspondência e para de inspecionar a solicitação da Web. Uma solicitação da Web com uma ação de encerramento pode conter outras ameaças, além da relatada no log.

**httpSourceName**  
A origem da solicitação. Valores possíveis: CF (se a origem for Amazon CloudFront), APIGW (se a origem for Amazon API Gateway) e ALB (se a origem for um Application Load Balancer).

**httpSourceId**  
O ID de origem. Esse campo mostra o ID da CloudFront distribuição associada da Amazon, a API REST para o API Gateway ou o nome de um Application Load Balancer.

**ruleGroupList**  
A lista de grupos de regras que agiram nessa solicitação. No exemplo de código anterior, há apenas um.

**ruleGroupId**  
O ID do grupo de regras. Se a regra bloqueou a solicitação, o ID para `ruleGroupID` será o mesmo que o ID para `terminatingRuleId`. 

**terminatingRule**  
A regra do grupo de regras que encerrou a solicitação. Se esse for um valor não nulo, ele também conterá um **ruleid** e uma **action (ação)**. Nesse caso, a ação será sempre BLOCK.

**nonTerminatingMatchingRegras**  
A lista de regras do grupo de regras que corresponde à solicitação. Elas sempre serão regras COUNT (regras correspondentes que não são de encerramento).

**ação (grupo de nonTerminatingMatching regras)**  
Isso sempre será COUNT (regras correspondentes que não são de encerramento).

**ruleID (grupo de regrasnonTerminatingMatching)**  
O ID da regra do grupo de regras que corresponde à solicitação e que não era de encerramento. Ou seja, regras COUNT.

**excludedRules**  
A lista de regras no grupo de regras que você excluiu. A ação para essas regras é definida como COUNT.

**exclusionType (grupo de excludedRules)**  
Um tipo que indica que a regra excluída tem a ação COUNT.

**ruleId (grupo de excludedRules)**  
O ID da regra no grupo de regras que foi excluída.

**rateBasedRuleLista**  
A lista de regras baseadas em taxas que agiram na solicitação.

**rateBasedRuleIdentificação**  
O ID da regra baseada em taxa que agiu na solicitação. Se isso encerrou a solicitação, o ID para `rateBasedRuleId` será o mesmo que o ID para `terminatingRuleId`.

**limitKey**  
O campo AWS WAF usado para determinar se as solicitações provavelmente estão chegando de uma única fonte e, portanto, estão sujeitas ao monitoramento de taxas. Valor possível: IP. 

**maxRateAllowed**  
O número máximo de solicitações, que têm o valor idêntico no campo que é especificado por `limitKey`, permitidas em um período de cinco minutos. Se o número de solicitações exceder o `maxRateAllowed` e os outros predicados especificados na regra também forem atendidos, AWS WAF acionará a ação especificada para essa regra.

**httpRequest**  
Os metadados sobre a solicitação.

**clientIp**  
O endereço IP do cliente que está enviando a solicitação.

**país**  
O país de origem da solicitação. Se não AWS WAF for possível determinar o país de origem, ele definirá esse campo como`-`. 

**headers**  
A lista de cabeçalhos.

**uri**  
O URI da solicitação. Este exemplo de código anterior demonstra qual seria o valor se esse campo tivesse sido editado.

**args**  
A string de consulta.

**httpVersion**  
A versão HTTP.

**httpMethod**  
O método HTTP na solicitação.

**requestId**  
O ID da solicitação.