Bot Manager
Pontue as requisições de um firewall em busca de sinais de automação com Bot Manager e recuse, atrase ou desafie os clientes que agem como bots.
O gerenciamento de bots distingue clientes automatizados de pessoas. Um script e uma pessoa chegam a uma aplicação do mesmo jeito, por HTTP, então a requisição é tudo o que existe para julgar. A verificação pesa o que uma requisição carrega, como os headers, o endereço e a sessão, e cada achado soma pontos a um único score. Quando o score alcança um valor que você define, a requisição recebe uma ação e, abaixo dele, a aplicação recebe a requisição sem alteração.
Bot Manager pontua cada requisição que uma regra de firewall entrega a ele em busca de sinais de automação. Quando o score alcança o seu limite, ele executa a ação que você configura. Bot Manager roda como uma instância de função no firewall, invocada por uma regra com o comportamento Run Function, então o firewall precisa de Functions ativado. Use Bot Manager para recusar, atrasar ou desafiar automação, como credential stuffing, varredura de vulnerabilidades, scraping de estoque ou abuso de checkout, em uma aplicação que também atende pessoas.
Primeiros passos Referência do Bot ManagerEstrutura da instância de função
Bot Manager age por meio de uma instância de função, que carrega os argumentos com que a função instalada roda. Esta instância executa Bot Manager Lite com o limite e a ação que essa edição traz de fábrica, enviada como corpo de POST /v4/workspace/firewalls/<firewall-id>/functions:
thresholdeactiondecidem o resultado: a função aplicaactiona uma requisição cujo score é igual ou maior quethreshold. Bot Manager Lite vem com30edeny, e Bot Manager documenta um limite de18como valor de partida.internal_logsem2escreve uma linha de report para toda requisição, mesmo uma que pontua0, elog_tagnomeia esta instância nessas linhas.functioné o ID da função instalada. Nada validaargs: uma chave escrita errada é armazenada e ignorada, e a função roda com o seu padrão.- Uma instância não pontua nada até que uma regra de firewall a execute com um comportamento Run Function,
{ "type": "run_function", "attributes": { "value": <instance-id> } }, que nomeia a instância, nunca a função. Azion Console lista as instâncias na aba Functions Instances do firewall, e Azion API e Azion CLI carregam os argumentos comoargs.
Caminho da requisição
Uma função Bot Manager instalada não pontua nada sozinha. Cinco objetos colocam uma requisição sob inspeção:
- A função Bot Manager instalada.
- Um firewall com Functions habilitado.
- Uma instância de função nesse firewall, carregando os argumentos.
- Uma regra nesse firewall cujo comportamento Run Function nomeia a instância.
- Um workload vinculado ao firewall pelo seu deployment.
Este diagrama acompanha uma requisição, da regra que corresponde a ela até a decisão do Bot Manager:
- Uma regra no firewall corresponde à requisição, e o comportamento Run Function dela executa uma instância do Bot Manager, com os argumentos que essa instância carrega.
- Bot Manager lê os dados que a requisição carrega, incluindo os dados de dispositivo, de navegador e de rede, e deriva o fingerprint do cliente por trás dela.
- Bot Manager pontua a requisição contra as suas regras e compara o score com o limite da instância.
- Quando o score é igual ou maior que o limite, a instância executa a ação configurada. Caso contrário, a requisição segue até a aplicação.
Para saber como Bot Manager calcula um score e age sobre ele, e como fingerprints, cookies de sessão e modos o moldam, consulte Score de bots.
Escopo e limites
- Firewall: Bot Manager não tem interruptor em Modules nem chave no objeto
modulesdo firewall. Ele precisa do interruptor Functions do firewall ativado, que um firewall criado pela API, pela CLI ou pela página Create Firewall tem. Um firewall criado a partir de um drawer do Console começa com Functions desativado. - Edições: Bot Manager Lite é a edição self-service, instalada pelo Azion Marketplace, e pontua cada requisição contra 26 regras estáticas. A edição completa, Bot Manager, também executa um score dinâmico, que compara o histórico de comportamento de um fingerprint de dispositivo com o padrão geral de tráfego do host. Ela é um produto em Preview que não vem habilitado na conta por padrão, e a Azion a habilita mediante solicitação. Para solicitá-la, consulte Diretrizes de suporte. As duas edições são configuradas pelos argumentos de uma instância, mas as chaves e três dos padrões diferem, conforme Argumentos lista.
- Ações: sete ações respondem a uma requisição cujo score alcança o limite.
allow,denyedropa decidem,random_delayehold_connectionatrasam a resposta, eredirectecustom_htmlsubstituem a resposta.denyresponde403com a página de erro padrão da Azion. Para saber por que uma primeira instância pontua comactiondefinido comoallow, consulte Boas práticas de Firewall. - Modos e sessões: Bot Manager Lite pede que um cliente carregue uma sessão. Com o limite de fábrica,
30, uma requisição sem os headers de um navegador, como uma enviada pelocurl, recebe um204sem corpo e com dois cookies de sessão. Um cliente que não guarda cookies, como um monitor ou um consumidor de API, recebe esse204indefinidamente. Bot Manager roda no modowebpor padrão, e o modoapidele não define cookie e ignora toda regra que lê o par de sessão. - Limites: o
namede uma instância aceita até 100 caracteres, e o payload de argumentos dela comporta até 100.000 bytes. Para cada limite, a resposta quando ele é ultrapassado e o que cada plano inclui, consulte Limites de Firewall e, para os valores, Preços. - Interfaces: Bot Manager Lite é instalado pelo Azion Marketplace, no Azion Console. Você cria a instância dele na aba Functions Instances do firewall, pela API em
/v4/workspace/firewalls/<firewall-id>/functionsou comazion create firewall-instance.azion.config.js(ofunctionsInstancesde um firewall) e Azion Terraform Provider (azion_firewall_functions_instance) a criam como qualquer instância de função de firewall. O comportamento Run Function pertence a uma regra de firewall, criada comazion create firewall-ruleou em/v4/workspace/firewalls/<firewall-id>/request_rules. - Observabilidade: uma linha de report chega ao Real-Time Events no dataset
functionConsoleEvents, e Data Stream a encaminha a partir da fonte de dados Functions. A aba Bot Manager do Real-Time Metrics mostra como as requisições foram classificadas e qual ação foi executada. Ela só mostra dados quando a conta tem assinatura do Bot Manager. Azion CLI não imprime nenhuma dessas linhas, então um resultado vazio deazion logsnão mostra uma função silenciosa. Para cada campo de uma linha de report, consulte Logs. - Produtos vizinhos: Bot Manager não inspeciona uma requisição em busca de vulnerabilidades de aplicação. Isso cabe ao WAF, e os dois rodam no mesmo firewall. Para bloquear uma requisição pela origem dela, use Network Shield.
- Termos: o glossário de Firewall define as palavras às quais as páginas do Bot Manager dão um significado específico, como fingerprint, limite, regra estática e under evaluation.