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
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 ACLs da web, AWS WAF antes de novembro de 2019 e ainda não os tiver migrado para a versão mais recente. Para migrar os recursos, consulte Migrando seus recursos AWS WAF clássicos para AWS WAF.
Para obter a versão mais recente do AWS WAF, consulteAWS WAF.
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 obter informações sobre como criar um Amazon Kinesis Data Firehose e revisar seus registros armazenados, consulte O que é o Amazon Data Firehose? Para entender as permissões necessárias para a configuração do Kinesis Data Firehose, consulte Controlar acesso com o Amazon Kinesis Data Firehose.
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.
Para habilitar o registro de uma web ACL
Crie um Amazon Kinesis Data Firehose usando um nome começando com o aws-waf-logs prefixo "-” Por exemplo,.
aws-waf-logs-us-east-2-analytics
Crie o Data Firehose com uma origemPUT
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.Importante
Não escolha
Kinesis stream
como sua origem.Um registro AWS WAF Classic é equivalente a um registro do Firehose. Se você normalmente recebe 10.000 solicitações por segundo e ativa registros completos, deve 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.
Faça login no AWS Management Console e abra o AWS WAF console em https://console.aws.amazon.com/wafv2/
. Se você ver Alternar para o AWS WAF clássico no painel de navegação, selecione-o.
No painel de navegação, selecione Web ACLs.
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.
Na guia Registro em log, selecione Habilitar registro em log.
Habilite o Kinesis Data Firehose criado na primeira etapa. Você deve escolher uma mangueira de incêndio que comece com "aws-waf-logs-”.
(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.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 ter mais informações, consulte Usando funções vinculadas a serviços para Classic AWS WAF.
Para desabilitar o registro em log de uma web ACL
No painel de navegação, selecione Web ACLs.
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.
Na guia Registro em log, selecione Desabilitar registro em log.
Na caixa de diálogo, selecione Desabilitar registro em log.
exemplo 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_BASED, REGULAR e GROUP.
- ação
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 paraterminatingRuleId
.- 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 paraterminatingRuleId
.- 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 omaxRateAllowed
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.
- country
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.