Apresentação de uma nova experiência de console para o AWS WAF
Agora você pode usar a experiência atualizada para acessar a funcionalidade do AWS WAF em qualquer lugar no console. Consulte mais detalhes em Trabalhar com a experiência atualizada do console.
Como bloquear solicitações sem um token do AWS WAF válido
Essa seção explica como bloquear solicitações de login sem tokens ao usar o SDK móvel do AWS WAF.
Quando você usa os grupos de regras inteligentes contra ameaças AWSManagedRulesACFPRuleSet, AWSManagedRulesATPRuleSet e AWSManagedRulesBotControlRuleSet das regras gerenciadas pela AWS, os grupos de regras invocam o gerenciamento de token do AWS WAF para avaliar o status do token das solicitações da Web e rotulá-las 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, Tipos de rótulos de token no AWS WAF.
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
AllRequestsdeAWSManagedRulesACFPRuleSetestá configurada para executar a ação Challenge em todas as solicitações, bloqueando efetivamente qualquer uma que não tenha o rótulo de tokenaccepted. -
O
AWSManagedRulesATPRuleSetbloqueia as solicitações que têm o rótulo de tokenrejected, mas não bloqueia as solicitações com o rótulo de tokenabsent. -
O nível de proteção direcionada do
AWSManagedRulesBotControlRuleSetdesafia os clientes depois que eles enviam cinco solicitações sem um rótulo de tokenaccepted. 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 Grupo de regras de prevenção contra fraude na criação de contas (ACFP) do AWS WAF Fraud Control , Grupo de regras de prevenção contra apropriação de contas (ATP) do AWS WAF Fraud Control e Grupo de regras do Controle de Bots do AWS WAF.
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 pelo pacote de proteção (ACL da Web).
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ê.
O exemplo a seguir é uma listagem JSON para um pacote de proteção (ACL da Web) que usa o grupo de regras gerenciadas do ATP. O pacote de proteção (ACL da Web) tem uma regra adicional para capturar o rótulo awswaf:managed:token:absent e processá-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, "RetrofittedByFirewallManager": false, "LabelNamespace": "awswaf:111111111111:webacl:exampleWebACL:" }