O gerenciamento de bots consiste em identificar e bloquear alguns bots de um site ou aplicação, mas conceder acesso a outros.
Após ler este artigo, você será capaz de:
Conteúdo relacionado
Assine o theNET, uma recapitulação mensal feita pela Cloudflare dos insights mais populares da internet.
Copiar o link do artigo
O gerenciamento de bots se destina a bloquear o tráfego de bots indesejados ou maliciosos na internet e, ao mesmo tempo, permitir que os bots úteis acessem as propriedades da web. Para atingir esses objetivos, o gerenciamento de bots detecta a atividade de bots, diferencia os comportamentos desejáveis dos indesejáveis e identifica as origens das atividades indesejáveis.
O gerenciamento de bots é necessário porque, se não forem verificados, os bots podem causar enormes problemas para as propriedades da web. Um excesso de tráfego de bots pode impor um fardo pesado aos servidores web, reduzindo a velocidade ou negando serviço para os usuários legítimos (às vezes, na forma de um ataque DDoS). Os bots maliciosos conseguem coletar ou baixar conteúdo de um site, roubar credenciais do usuário, disseminar rapidamente um conteúdo de spam e perpetrar vários outros tipos de ataques cibernéticos.
Um gerenciador de bots é qualquer produto de software que gerencie bots. Os gerenciadores de bots devem ser capazes de bloquear alguns bots e permitir a passagem de outros, ao invés de simplesmente bloquearem todo o tráfego não humano. Se todos os bots forem bloqueados e os bots do Google não conseguirem indexar uma página, por exemplo, essa página não aparecerá nos resultados da busca do Google, o que reduzirá consideravelmente o tráfego orgânico para o site.
Um bom gerenciador de bots atinge as metas abaixo e é capaz de:
Um bot é um programa de computador que atua em uma rede. Os bots são programados para realizar determinadas ações de forma automática. Em geral, as tarefas realizadas por um bot são relativamente simples, mas um bot consegue repeti-las infinitamente com uma rapidez muito maior do que a de qualquer ser humano.
Por exemplo, o Google usa bots para rastrear constantemente as páginas da web e indexar conteúdo para busca. Uma equipe de seres humanos precisaria de uma quantidade de tempo astronômica para analisar o conteúdo disseminado pela internet, mas os bots do Google são capazes de manter o índice de busca do Google relativamente atualizado.
Um exemplo negativo é o de spammers, que usam bots de coleta de e-mail para coletar endereços de e-mail na internet inteira. Os bots rastreiam as páginas web em busca de qualquer texto que siga o formato de endereço de e-mail (texto + símbolo @ + domínio) e salvam esse texto em um banco de dados. É claro que um ser humano poderia procurar endereços de e-mail em páginas da web. No entanto, como são automatizados e buscam apenas textos que seguem determinados parâmetros, esses bots de coleta de e-mail encontram endereços de e-mail de forma exponencialmente mais rápida.
Ao contrário de um usuário humano, um bot normalmente não acessa a internet usando um navegador web tradicional, como o Google Chrome ou o Mozilla Firefox. Em vez de utilizarem um mouse (ou um smartphone) e clicarem em conteúdo visual em um navegador, os bots são apenas programas de software que fazem solicitações HTTP (entre outras atividades), em geral usando algo que chamamos de "navegador sem cabeça" ("headless browser").
Os bots podem, essencialmente, realizar qualquer tarefa repetitiva que não seja criativa, qualquer coisa que possa ser automatizada. São capazes de interagir com uma página web, preencher e enviar formulários, clicar em links, rastrear texto e baixar conteúdo. Os bots conseguem "assistir" a vídeos, fazer comentários e publicar, curtir ou retuitar em plataformas de rede social. Alguns bots podem até ter conversas básicas com usuários humanos — são conhecidos como chatbots.
Surpreendentemente, muitas fontes estimam que quase metade de todo o tráfego de internet seja tráfego de bots. Assim como alguns, mas nem todos os softwares são malware, alguns bots são mal-intencionados, mas outros são "do bem".
Qualquer bot que faz um mau uso de um produto ou serviço on-line pode ser considerado "do mal". Os bots do mal podem incluir desde bots descaradamente mal-intencionados, como aqueles que tentam invadir contas de usuários, até formas mais amenas de uso indevido de recursos, como bots que compram ingressos em um site de eventos.
Um bot que presta um serviço útil ou necessário pode ser considerado "do bem". Chatbots de atendimento ao cliente, crawlers de mecanismo de pesquisa e bots de monitoramento de desempenho são exemplos de bots do bem. Em geral, os bots do bem procuram e seguem as regras apresentadas no arquivo robots.txt de um site.
O robots.txt é um arquivo em um servidor web que contém as regras para bots acessarem propriedades nesse servidor. No entanto, o próprio arquivo não aplica as regras. Espera-se, essencialmente, que qualquer pessoa que programe um bot siga um código de honra e faça com que seu bot confira o arquivo robots.txt de um site antes de acessá-lo. Evidentemente, os bots mal-intencionados não costumam seguir esse sistema, e é por isso que o gerenciamento de bots se faz necessário.
Para identificar os bots, os gerenciadores de bots podem usar desafios de JavaScript (que determinam se um navegador web tradicional está sendo usado ou não) ou desafios de CAPTCHA. Também podem determinar quais usuários são humanos e quais são bots por meio da análise de comportamento, ou seja, comparando o comportamento de um usuário com o comportamento padrão de usuários no passado. Os gerenciadores de bots precisam contar com uma grande coleta de dados comportamentais de qualidade para serem capazes de fazer isso.
Se um bot for considerado do mal, poderá ser redirecionado para uma página diferente ou, simplesmente, ser impedido de acessar um recurso da web.
Os bots do bem podem ser adicionados a uma lista de permissão, ou seja, uma lista de bots autorizados (o contrário de uma lista de bloqueios). Um gerenciador de bots também poderá distinguir os bots do bem dos bots do mal por meio de uma análise de comportamento adicional.
Outra abordagem de gerenciamento de bots é usar o arquivo robots.txt para configurar um "honeypot" (pote de mel). Um honeypot é um alvo falso para agentes mal-intencionados. Quando acessado, ele expõe o agente mal-intencionado como sendo malicioso. No caso de um bot, um honeypot poderia ser uma página de um site proibida para bots pelo arquivo robots.txt. Os bots do bem lerão o arquivo robots.txt e evitarão a página, mas alguns bots do mal irão rastreá-la. É possível identificar e bloquear os bots do mal por meio do rastreamento dos endereços IP dos bots que acessam o honeypot.
Uma solução de gerenciamento de bots pode ajudar a impedir uma variedade de ataques:
Essas outras atividades de bots nem sempre são consideradas "mal-intencionadas", mas um gerenciador de bots deve ser capaz de mitigá-las mesmo assim:
A Cloudflare tem a capacidade única de coletar dados de bilhões de solicitações que passam por sua Rede todos os dias. Com esses dados, a Cloudflare consegue identificar as prováveis atividades de bots com aprendizado de máquina e análise de comportamento, fornecendo os dados necessários para criar uma lista de permissões de bots do bem ou uma lista de bloqueio de bots do mal. Além disso, a Cloudflare conta com um vasto banco de dados de reputação de IP. Saiba mais sobre o Cloudflare Bot Management.
O Super Bot Fight Mode, já disponível nos planos Cloudflare Pro e Business, foi desenvolvido para ajudar organizações de pequeno porte a se defender de ataques de bots e ter mais visibilidade do tráfego de bots.