Robôs, também conhecidos como web crawlers ou spiders, são programas de computador projetados para realizar tarefas automatizadas na internet. Eles são uma peça central da tecnologia web, navegando e interagindo com sites de maneira sistemática para indexar informações e executar uma grande variedade de funções. Apesar de todos compartilharem o objetivo comum de automatizar processos online, nem todos os robôs têm intenções benignas. Assim, é crucial distinguir entre os robôs bons e os ruins para entender melhor como proteger seu ambiente digital.

Robôs Bons

Os robôs bons são aqueles projetados para desempenhar tarefas úteis e legítimas em benefício dos usuários e dos proprietários de sites. Exemplos conhecidos incluem os crawlers de mecanismos de busca, como o Googlebot, que indexam o conteúdo da web para que as páginas possam ser encontradas pelos usuários através de pesquisas. Outros robôs benéficos são os de agregação de conteúdo, que coletam informações de diferentes fontes para disponibilizar em um único local, e os bots de monitoramento de performance, que ajudam os administradores de sites a garantir o bom funcionamento e a rápida resposta de suas páginas.

Robôs Ruins

Em contrapartida, os robôs ruins são aqueles projetados para realizar atividades maliciosas na internet. Isso inclui os bots de scraping, que copiam conteúdo indevidamente de sites sem permissão; os bots de spam, que inundam sites com comentários ou mensagens indesejadas; e os bots de ataque, como os usados em ataques DDoS (Distributed Denial of Service), que sobrecarregam os servidores de um site para tirá-lo do ar. Esses robôs podem causar prejuízos significativos, desde a perda de receita até danos à reputação e segurança dos dados.

Bloqueando Robôs Maliciosos

Para proteger seu site contra o impacto negativo dos robôs ruins, existem várias estratégias que você pode adotar. Uma delas é a implementação de um Web Application Firewall (WAF), que atua como uma barreira entre seu site e o tráfego da internet, filtrando os acessos suspeitos e bloqueando atividades maliciosas. Outra opção para sistemas baseados em Linux é o uso do Fail2Ban, um software que monitora os logs do servidor em busca de padrões de ataque e automaticamente atualiza as regras de firewall para bloquear os IPs suspeitos. Essas são apenas algumas das medidas que podem ajudar a garantir a segurança do seu ambiente online contra a ação dos robôs mal-intencionados.

A título de exemplo, vamos mostrar a seguir como você configurar o fail2ban para bloquear robôs maliciosos:

Incialmente, você precisa instalar e configurar o Fail2Ban. Apresentamos um exemplo de como fazer isso neste artigo da nossa wiki.

Em seguida, você precisa adicionar um arquivo de configuração e outro com o filtro do Fail2Ban. Veja como fazer isso no S.O. Ubuntu:

/etc/fail2ban/jail.d/nginx-badbots.conf:
[nginx-badbots]
enabled  = true
port     = http,https
filter   = nginx-badbots
logpath  = %(nginx_access_log)s
maxretry = 1
bantime  = 604800

NOTA: ajuste a variável “logpath” para refeltir a localização do seu arquivo de log de acessos.

/etc/fail2ban/filter.d/nginx-badbots.conf:
[Definition]
# Inclua os UserAgents a serem bloqueados na lista abaixo 
badbots = 360Spider|404checker|404enemy|80legs
# Regex para buscar os User-Agents nos logs de acesso
failregex = (?i)<HOST> -.*"(GET|POST|HEAD) (.*?)" \d+ \d+ "(.*?)" ".*(?:%(badbots)s).*"$
ignoreregex =

NOTA: a expressão regular da variável “failregex” irá banir o IP de robôs cujo nome (UserAgent) combine total ou parcialmente com as strings da lista “badbots”. Verifique regularmente os bloqueios para identificar e corrigir falso-positivos.

Após concluir as configurações, recarregue o serviço Fail2Ban usando as diretivas do sistema operacional,: 

systemctl reload fail2ban

Alternativamente, use “systemctl reload fail2ban” para parar e reiniciar o serviço:

systemctl restart fail2ban

Você pode verificar os IPs banidos pelo comando:

fail2ban-client banned

AVISO LEGAL: Os procedimentos descritos neste documento devem ser executados de acordo com o contexto de cada sistema, de forma a evitar impactos negativos à segurança, disponibilidade, integridade e privacidade de dados. A CentralServer se reserva o direito de modificar a qualquer tempo e sem aviso prévio as informações aqui apresentadas a fim de refletir o lançamento de novos serviços, atualizações físicas e operacionais, e evolução do estado-da-arte da tecnologia.