Bloqueio de solicitações que não têm um AWS WAF token válido - AWS WAF, AWS Firewall Manager, e AWS Shield Advanced

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

Bloqueio de solicitações que não têm um AWS WAF token válido

Quando você usa os grupos de regras AWS gerenciadas de ameaças inteligentesAWSManagedRulesACFPRuleSet, e AWSManagedRulesATPRuleSetAWSManagedRulesBotControlRuleSet, os grupos de regras invocam o gerenciamento de AWS WAF tokens para avaliar o status do token de solicitação da web e rotular as solicitações adequadamente.

nota

A rotulagem de token é aplicada somente às solicitações da web que você avalia usando um desses grupos de regras gerenciadas.

Para obter informações sobre a rotulagem que o gerenciamento de token aplica, consulte a seção anterior, AWS WAF rotulagem de tokens pelo bot e grupos de regras gerenciados por fraudes.

Os grupos de regras gerenciadas de mitigação de ameaças inteligentes, então, lidam com os requisitos de token da seguinte forma:

  • A regra AllRequests de AWSManagedRulesACFPRuleSet está configurada para executar a ação Challenge em todas as solicitações, bloqueando efetivamente qualquer uma que não tenha o rótulo de token accepted.

  • O AWSManagedRulesATPRuleSet bloqueia as solicitações que têm o rótulo de token rejected, mas não bloqueia as solicitações com o rótulo de token absent.

  • O nível de proteção direcionada do AWSManagedRulesBotControlRuleSet desafia os clientes depois que eles enviam cinco solicitações sem um rótulo de token accepted. Ele não bloqueia uma solicitação individual que não tenha um token válido. O nível de proteção comum do grupo de regras não gerencia os requisitos de token.

Para obter detalhes adicionais sobre os grupos de regras de ameaças inteligentes, consulte AWS WAF Grupo de regras de prevenção de fraudes (ACFP) para criação de contas de controle de fraudes, AWS WAF Grupo de regras de prevenção de aquisição de contas (ATP) de controle de fraudes e AWS WAF Grupo de regras do Bot Control.

Para bloquear solicitações sem tokens ao usar o grupo de regras gerenciadas do Controle de Bots ou do ATP

Com os grupos de regras do Controle de Bots e do ATP, é possível que uma solicitação sem um token válido saia da avaliação do grupo de regras e continue sendo avaliada pela web ACL.

Para bloquear todas as solicitações sem token ou cujo token foi rejeitado, adicione uma regra a ser executada imediatamente após o grupo de regras gerenciadas para capturar e bloquear solicitações que o grupo de regras não processa para você.

Veja a seguir um exemplo de lista JSON para uma web ACL que usa o grupo de regras gerenciadas do ATP. A web ACL tem uma regra adicional para capturar o rótulo awswaf:managed:token:absent e tratá-lo. A regra restringe sua avaliação às solicitações da web que vão para o endpoint de login, de acordo com o escopo do grupo de regras do ATP. A regra adicionada está listada em negrito.

{ "Name": "exampleWebACL", "Id": "55555555-6666-7777-8888-999999999999", "ARN": "arn:aws:wafv2:us-east-1:111111111111:regional/webacl/exampleWebACL/55555555-4444-3333-2222-111111111111", "DefaultAction": { "Allow": {} }, "Description": "", "Rules": [ { "Name": "AWS-AWSManagedRulesATPRuleSet", "Priority": 1, "Statement": { "ManagedRuleGroupStatement": { "VendorName": "AWS", "Name": "AWSManagedRulesATPRuleSet", "ManagedRuleGroupConfigs": [ { "AWSManagedRulesATPRuleSet": { "LoginPath": "/web/login", "RequestInspection": { "PayloadType": "JSON", "UsernameField": { "Identifier": "/form/username" }, "PasswordField": { "Identifier": "/form/password" } }, "ResponseInspection": { "StatusCode": { "SuccessCodes": [ 200 ], "FailureCodes": [ 401, 403, 500 ] } } } } ] } }, "OverrideAction": { "None": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "AWS-AWSManagedRulesATPRuleSet" } }, { "Name": "RequireTokenForLogins", "Priority": 2, "Statement": { "AndStatement": { "Statements": [ { "Statement": { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:token:absent" } } }, { "ByteMatchStatement": { "SearchString": "/web/login", "FieldToMatch": { "UriPath": {} }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "STARTS_WITH" } }, { "ByteMatchStatement": { "SearchString": "POST", "FieldToMatch": { "Method": {} }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "EXACTLY" } } ] } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "RequireTokenForLogins" } } ], "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "exampleWebACL" }, "Capacity": 51, "ManagedByFirewallManager": false, "LabelNamespace": "awswaf:111111111111:webacl:exampleWebACL:" }