Exemplo de controle de bots: permitir 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: permitir 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.

Se uma AWS WAF regra de controle de bots estiver bloqueando 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 mais informações sobre os logs de ACL, consulte Registrando AWS WAF tráfego de ACL da web. Observe o rótulo que a regra adiciona às solicitações.

  2. Na sua web ACL, 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 web ACL depois do grupo de regras gerenciadas do Controle de Bots. 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 ACL agora 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 logs.

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 Controle de Bots na ordem de processamento da web ACL.

{ "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" } }