Exemplo de controle de bots: permitindo que um bot específico seja bloqueado - 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á.

Exemplo de controle de bots: permitindo que um bot específico seja bloqueado

É possível que um bot seja bloqueado por mais de uma das regras do Controle de Bots. Execute o procedimento a seguir para cada regra de bloqueio.

Em caso de AWS WAF A regra do Bot Control é bloquear um bot que você não deseja bloquear, faça o seguinte:

  1. Identifique a regra do Controle de Bots que está bloqueando o bot verificando os logs. A regra de bloqueio será especificada nos logs nos campos cujos nomes começam com terminatingRule. Para obter informações sobre os ACL registros da web, consulteRegistro em log AWS WAF ACLtráfego na web. Observe o rótulo que a regra adiciona às solicitações.

  2. Na sua webACL, substitua a ação da regra de bloqueio para contar. Para fazer isso no console, edite a regra do grupo de regras na web ACL e escolha uma substituição de ação de regra de Count para a regra. Isso garante que o bot não seja bloqueado pela regra, mas a regra ainda aplicará seu rótulo às solicitações correspondentes.

  3. Adicione uma regra de correspondência de rótulos à sua webACL, depois do grupo de regras gerenciadas do Bot Control. Configure a regra para corresponder ao rótulo da regra substituída e bloquear todas as solicitações correspondentes, exceto o bot que você não deseja bloquear.

    Sua web agora ACL está configurada para que o bot que você deseja permitir não seja mais bloqueado pela regra de bloqueio que você identificou por meio dos registros.

Verifique o tráfego e seus logs novamente, para ter certeza de que o bot está sendo autorizado a passar. Caso contrário, execute o procedimento acima novamente.

Por exemplo, suponha que você queira bloquear todos os bots de monitoramento, exceto o pingdom. Nesse caso, você substitui a regra CategoryMonitoring para contar e, em seguida, escreve uma regra para bloquear todos os bots de monitoramento, exceto aqueles com o rótulo do nome do bot pingdom.

A regra a seguir usa o grupo de regras gerenciadas do Controle de Bots, mas substitui a ação da regra para CategoryMonitoring para contar. A regra de monitoramento de categorias aplica seus rótulos normalmente às solicitações correspondentes, mas só os conta em vez de realizar sua ação usual de bloqueio.

{ "Name": "AWS-AWSBotControl-Example", "Priority": 5, "Statement": { "ManagedRuleGroupStatement": { "VendorName": "AWS", "Name": "AWSManagedRulesBotControlRuleSet", "ManagedRuleGroupConfigs": [ { "AWSManagedRulesBotControlRuleSet": { "InspectionLevel": "COMMON" } } ], "RuleActionOverrides": [ { "ActionToUse": { "Count": {} }, "Name": "CategoryMonitoring" } ], "ExcludedRules": [] } }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "AWS-AWSBotControl-Example" } }

A regra a seguir corresponde ao rótulo de monitoramento de categoria que a regra CategoryMonitoring anterior adiciona às solicitações da web correspondentes. Entre as solicitações de monitoramento de categorias, essa regra bloqueia todas, exceto aquelas que têm um rótulo para o nome do bot pingdom.

A regra a seguir deve ser executada após o grupo de regras gerenciadas anterior do Bot Control na ordem de ACL processamento da web.

{ "Name": "match_rule", "Priority": 10, "Statement": { "AndStatement": { "Statements": [ { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:aws:bot-control:bot:category:monitoring" } }, { "NotStatement": { "Statement": { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:aws:bot-control:bot:name:pingdom" } } } } ] } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "match_rule" } }