O que é um Blackhole de DNS?
Malware é uma criatura complicada. Todos com certeza desprezam sua difusão, mas nos maravilhamos com sua esperteza e frequentemente temos pesadelos sobre seus efeitos. Infelizmente, o problema do malware só multiplica, tanto em infraestruturas críticas, como em smartphones, dispositivos médicos e até mesmo em carros.
Como a maioria das defesas tem como objetivo impedir a entrada de malwares, as empresas geralmente não estão preparadas para lidar quando entram. Contê-las e erradicá-las em toda a rede exige abordagens diferentes. Este é o lugar onde um Blackhole de DNS pode vir a calhar.
Como funciona um Blackhole de DNS
Uma vez que o malware atinge seus sistemas, sua missão é “telefonar para casa”, onde seja, entrar em contato com seus servidores de comando e controle para fazer o check-in com o invasor. Depois que um invasor confirma o controle positivo, ele inicia o ato de assumir seus sistemas e roubar números de cartões de crédito, propriedade intelectual e o que mais puder. Mas se você tem um Blackhole de DNS, o malware não pode “ligar para casa” e é efetivamente neutralizado.
Também conhecido como “sumidouro”, um Blackhole de DNS funciona usando o DNS para interceptar e isolar malwares. Existem duas abordagens principais que os blackholes podem usar para interceptar e remover malware:
- Bloquear o malware de “telefonar para casa”, impedindo-o de continuar em seu caminho para invadir, manter refém ou destruir; ou
- Bloquear, mas depois continuar a conversa com o malware
Ao interceptar as comunicações do malware, o blackhole pode coletar dados da vítima para determinar exatamente onde está, o que está tentando fazer e quais partes do sistema podem ser afetadas.
Um produto excelente e gratuito para isso é o Pi-hole, um Blackhole de DNS que protege seus dispositivos contra conteúdo indesejado, sem instalar nenhum software do lado do cliente.
É fácil de instalar e bem leve, funcionando sem problemas com requisitos mínimos de hardware e software. Consegue bloquear conteúdos em locais sem navegador, como aplicativos móveis carregados de anúncios e smart TVs, acelera continuamente a sensação da navegação diária ao armazenar consultas DNS em cache. Possui um painel de interface Web responsivo e bonito, além de permitir interação por linha de comando, pode opcionalmente funcionar como um servidor DHCP, garantindo que todos os seus dispositivos sejam protegidos automaticamente.

Mas vamos deixar pra falar mais do pi-hole em outra postagem, o objetivo dessa é ver como configurar Black Holes de DNS usando o pfSense. Uma ótima maneira de ajudar a proteger sua rede contra malware, phishing e anúncios antes que eles cheguem aos seus endpoints.
Implantando um Blackhole de DNS no PfSense
Primeiro de tudo, vá para o gerenciador de pacotes e pegue o pacote pfBlockerNG.

Em seguida, vá para o Firewall / pfBlockerNG

Vá para DNSBL

Vamos ligar a EasyList primeiro.

Em seguida, certifique-se de alterar a ação da lista de padrão para Não consolidado

Isso adicionará o Bloqueio de anúncios, já que é a maioria da lista na EasyList, mas vamos dar um passo além e adicionar nossa própria lista personalizada.
Vá para o DNSBL Feeds e clique em adicionar.

Aqui eu vou estar adicionando a lista de ransomware Abuse.ch.
Adicione o nome do grupo: ransomware abuse.ch e dê uma descrição para suas anotações.
Adicione a fonte da lista, neste caso:
https://ransomwaretracker.abuse.ch/downloads/RW_DOMBL.txt
Dê-lhe um título/rótulo, por exemplo: ransomwaretracker
Certifique-se de alterar a ação da lista de Desativado para Não consolidado.
Escolha uma frequência de atualização, eu escolhi 2 horas.
E vamos salvar!

Vamos verificar esta tudo ok. Vá para Firewall / pfBlockerNG / Log Browser
Selecione o tipo de registro / arquivo para arquivos DNSBL e selecione o nome do rótulo que você deu à lista, no meu caso eu usei ransomwaretracker (.txt).
Você deve então ver o seguinte:

Isso significa que, se algum malware tentar se conectar com qualquer um dos nomes DNS da lista, eles carregarão um recurso em branco localizado no roteador / firewall e não no servidor do malware.
Veja algumas outras boas listas para adicionar:
- Outra lista através do projeto Abuse.ch:
https://zeustracker.abuse.ch/blocklist.php?download=domainblocklist
https://www.openphish.com/feed.txt
- Phishtank, uma parte do OpenDNS agora de propriedade da Cisco
http://data.phishtank.com/data/online-valid.csv
- Malwaredomains o oldie mas goodie
https://mirror1.malwaredomains.com/files/justdomains
https://raw.githubusercontent.com/Hestat/minerchk/master/minerlist-all.txt
Ah, e uma última etapa de resolução de problemas, se a sua lista não aparecer imediatamente, talvez seja necessário executar uma atualização manual dos feeds.
Firewall / pfblockerNG / Update

Não se esqueça da seção DNSBL da lista de permissões, para colocar na lista de permissões domínios que possam aparecer e que sejam analisados incorretamente, como google.com, amazon.com etc.
Um material complementar, excelente de como configurar o pfBlockerNG de modo eficaz foi registrado por Dallas Haselhorst nesse artigo – pfsense-using-pfblockerng-dnsbl e nesse outro ele faz uma explanação de como usar bloqueio de listas IPv4.