Qualquer provedor de Internet (ISP) ou gerenciador de servidores DNS recursivos no Brasil enfrenta o desafio de cumprir ordens judiciais de bloqueio. Esses bloqueios incluem sites de apostas clandestinas, IPTV pirata, plataformas sob segredo de justiça e ordens diretas da Anatel. Manualmente executar esses bloqueios é ineficiente, lento e arriscado. Este artigo descreve a arquitetura e a engenharia por trás do módulo AnaBlock, que conecta o servidor Unbound DNS recursivo diretamente à API do AnaBlock, aplicando as regras de domínios, URLs e IPs maliciosos de forma assíncrona, segura e automatizada.

Como automatizamos bloqueios judiciais (Anatel/Justiça) no Unbound DNS para ISPs usando Node.js (Módulo AnaBlock)

Fluxo de Integração

O módulo AnaBlock funciona como um Control Plane escrito em Node.js rodando acoplado ao Unbound DNS. A sincronização automática ocorre a cada 4 horas no background. As chamadas HTTP paralelas são feitas à API AnaBlock para baixar quatro conjuntos de regras: Contatos anablock, DNS Domains, URLs Maliciosas e Faixas IPv4/IPv6.

Tratamento do Feed

O acesso às APIs do AnaBlock é restrito a empresas com licença e CNPJ ativo na Anatel. O módulo Sentinel conecta-se nas APIs de dados para baixar quatro conjuntos de regras. O módulo Node.js realiza o tratamento dinâmico em tempo de compilação para extrair o hostname raiz de forma segura e injetá-lo como uma zona local no Unbound, configurada como always_nxdomain. Isso garante que toda requisição DNS de cliente direcionada a este site seja interceptada instantaneamente e retorne NXDOMAIN (domínio inexistente) a partir da memória RAM, em menos de 1ms, sem onerar os links de trânsito ou tráfego externo do provedor.

Bloqueio IP Reverso no DNS (private-address)

Algumas plataformas judiciais burlam o bloqueio de domínio criando dezenas de aliases de host ou subdomínios novos diariamente. Para combater isso de forma estrutural, a API do AnaBlock fornece as faixas de IPs dos hosts maliciosos ou servidores de pirataria. Nós convertemos essa lista de IPs/CIDRs usando a diretiva private-address do Unbound DNS.

Robustez da Operação (Zero-Downtime)

Derrubar o DNS de um ISP por causa de uma sintaxe inválida em um feed judicial seria imperdoável. A robustez do módulo é garantida por duas camadas: validação de sintaxe remota e reload dinâmico (SIGHUP). Se houver qualquer falha, o reload do serviço não é disparado, logando o incidente e preservando as regras estáveis anteriores. O reload dinâmico relerá a configuração sem pausar o processo do servidor DNS e sem esmagar o tráfego externo.

Conclusão

O módulo AnaBlock integrado ao Unbound Sentinel oferece uma solução eficiente e segura para a aplicação de regras de bloqueio judiciário, garantindo que ISPs possam cumprir suas obrigações de forma eficiente e sem interrupções.

AnatelAutomatizamosBloqueiosJudiciaisUnbound