Argonalyst

Protegendo Servidores com Bombas Zip Contra Bots Maliciosos

Argonalyst
1 May 2025

A maior parte do tráfego na web é gerada por bots. Esses bots são utilizados, em sua maioria, para descobrir novos conteúdos, como leitores de RSS, motores de busca que analisam seu material ou, atualmente, bots de IA que rastreiam informações para alimentar modelos de linguagem. No entanto, existe uma outra categoria: os bots maliciosos. Esses são originados de spammers, raspadores de conteúdo ou hackers. Em uma experiência anterior, um bot encontrou uma vulnerabilidade no WordPress e inseriu um script malicioso em nosso servidor, transformando a máquina em um botnet utilizado para ataques DDoS. Um dos meus primeiros sites foi completamente removido da busca do Google devido a bots gerando spam. Foi então que percebi que precisava de uma forma de me proteger desses bots. Assim, comecei a usar bombas zip.

Uma bomba zip é um arquivo compactado relativamente pequeno que pode se expandir em um arquivo muito maior, capaz de sobrecarregar uma máquina. A compressão foi uma das primeiras funcionalidades desenvolvidas na web, utilizando gzip. Dado que a Internet era lenta e a informação era densa, a ideia era reduzir os dados ao máximo antes de transmiti-los. Por exemplo, um arquivo HTML de 50 KB poderia ser comprimido para 10 KB, economizando 40 KB na transmissão. Isso significava que, em uma conexão de discagem, o download da página ocorria em 3 segundos, em vez de 12.

Essa mesma compressão pode ser aplicada a CSS, Javascript e até imagens. O gzip é rápido, simples e melhora significativamente a experiência de navegação. Quando um navegador faz uma solicitação, ele inclui cabeçalhos que sinalizam ao servidor que pode suportar compressão. Se o servidor também suportar, retornará uma versão comprimida dos dados esperados. Os bots que rastreiam a web também utilizam essa funcionalidade, otimizando sua largura de banda com a compressão.

No meu blog, frequentemente recebo bots que procuram por vulnerabilidades de segurança, que geralmente ignoro. No entanto, ao perceber que estão tentando injetar ataques maliciosos ou sondar por respostas, retorno uma resposta 200 OK e forneço uma resposta gzip. Vario entre um arquivo de 1 MB e 10 MB, e, na maioria das vezes, quando eles consomem, nunca mais tenho notícias deles. "Isso acontece porque eles travam logo após ingerir o arquivo."

O que ocorre é que eles recebem o arquivo e leem o cabeçalho que indica que se trata de um arquivo comprimido. Tentam então descomprimir o arquivo de 1 MB para encontrar o conteúdo que buscam. Mas o arquivo se expande até que esgotam a memória e o servidor trava. O arquivo de 1 MB descomprime em 1 GB, o que é suficiente para derrubar a maioria dos bots. Para aqueles que continuam insistindo, forneço o arquivo de 10 MB, que se expande para 10 GB, resultando em um travamento instantâneo do script.

Antes de explicar como criar uma bomba zip, é importante alertar que isso pode potencialmente travar e danificar seu próprio dispositivo. O comando para criar uma bomba zip seria: dd if=/dev/zero bs=1G count=10 | gzip -c > 10GB.gz. O comando dd é usado para copiar ou converter dados, e neste caso, ele gera um arquivo de 10 GB de dados zerados, que são então comprimidos para um arquivo de 10 MB.

No meu servidor, implementei um middleware que verifica se a solicitação é maliciosa. Tenho uma lista de IPs bloqueados que tentam escanear o site repetidamente. Utilizo outras heurísticas para detectar spammers, com base no padrão de acesso deles. Se um IP estiver na lista negra ou for considerado malicioso, retorno o cabeçalho de compressão e envio o arquivo da bomba zip. O único custo é que, em algumas ocasiões, estou servindo um arquivo de 10 MB. Quando um artigo viraliza, reduzo para o arquivo de 1 MB, que é igualmente eficaz.

Entretanto, é importante notar que uma bomba zip não é infalível e pode ser facilmente detectada e contornada. Contudo, para bots não sofisticados que estão apenas vasculhando a web e interrompendo servidores, essa ferramenta é suficientemente eficaz para proteger meu servidor.

Últimos vídeos

Confira os últimos vídeos publicados no canal

Argonalyst

O plano SECRETO das Big Techs para cobrar MUITO mais pela IA

Argonalyst

BOLHA da IA ou NOVA era de crescimento EXPONENCIAL? O mercado está dividido

Argonalyst

Nova IA da OpenAI traduz em TEMPO REAL e pode mudar o mundo dos negócios

Argonalyst

Spec Driven Development (SDD): a habilidade que vai separar quem SOBREVIVE à IA

Argonalyst

DeepSeek V4: o Open Source que está AMEAÇANDO GPT 5.5 e Opus 4.7

Argonalyst

Prometeram Renda Universal… mas só veio desemprego?

Argonalyst

Mythos Preview: o começo da AGI ou só mais hype?

Argonalyst

Ele automatizou TUDO com IA… e pode virar bilionário sozinho

Argonalyst

Programadores foram só o começo… agora a IA quer o topo

Argonalyst

Multi-agentes, memória e IA eterna: o vazamento que mudou tudo

Argonalyst

VIBE CODING vai acabar… e o que vem agora é muito mais SINISTRO

Argonalyst

IA na Guerra: estamos criando algo mais PERIGOSO que a Bomba Atômica?

Argonalyst

O dinheiro vai desaparecer? A era da IA pode mudar tudo

Argonalyst

O Apocalipse do SaaS: Como a IA pode DESTRUIR o modelo bilionário do software

Argonalyst

Bitcoin é software… e o software está morrendo (isso explica a queda?)