O pfBlockerNG é um dos pacotes mais úteis do pfSense e também um dos que mais geram problema quando configurado no impulso. Ele bloqueia tráfego por listas de IP, por país e por domínio, o que reduz ruído e superfície de ataque. Mal ajustado, ele bloqueia o cliente, o fornecedor e o serviço em nuvem que a empresa usa, e ninguém entende por quê.
Este guia explica o que o pfBlockerNG faz, como funcionam o bloqueio por IP, o GeoIP e o DNSBL, e como usar cada recurso sem quebrar acesso legítimo. A meta é ganhar proteção real sem transformar o firewall em fonte de chamados.
O que é o pfBlockerNG
O pfBlockerNG é um pacote adicional do pfSense que traz filtragem baseada em listas. Ele consome feeds de endereços IP e de domínios com má reputação, mantém essas listas atualizadas de forma automática e aplica o bloqueio no firewall e no resolvedor de DNS. Em vez de você catalogar ameaças à mão, ele usa listas mantidas pela comunidade e por projetos de inteligência de ameaças.
Ele atua em duas frentes que vale separar na cabeça. A parte de IP e GeoIP trabalha na camada de firewall, decidindo quais endereços podem trocar pacotes com a sua rede. A parte de DNSBL trabalha na resolução de nomes, impedindo que domínios maliciosos sequer sejam resolvidos.
Bloqueio por lista de IP
O bloqueio por IP usa feeds de endereços associados a atividade maliciosa: redes de ataque conhecidas, fontes de spam, servidores de comando e controle e afins. O pfBlockerNG baixa essas listas, junta em tabelas e cria regras que barram o tráfego de e para esses endereços. Isso corta uma fatia grande do ruído automatizado que bate na WAN o tempo todo.
A força do recurso depende da qualidade das listas escolhidas. Listas boas e bem mantidas agregam proteção com pouco falso positivo. Empilhar dezenas de feeds duvidosos infla o consumo de memória e aumenta a chance de bloquear algo legítimo. Comece com poucas listas confiáveis e cresça com critério.
GeoIP: bloquear ou permitir por país
O GeoIP permite decidir tráfego com base no país de origem ou destino do endereço. Se a sua empresa não faz negócio com determinadas regiões e não espera acesso vindo delas, bloquear esses países reduz a superfície exposta de serviços publicados. É um filtro grosso, mas eficaz contra varredura em massa.
Dois cuidados são importantes. O primeiro é que o GeoIP usa a base de geolocalização da MaxMind, que hoje exige uma chave de licença gratuita para manter os dados atualizados. Sem essa chave, os dados envelhecem. O segundo é lembrar que serviços em nuvem, CDNs e provedores de e-mail podem originar tráfego de países que você não esperava. Bloquear por país sem mapear essas dependências gera falha difícil de diagnosticar.
DNSBL: barrar domínios maliciosos na resolução
O DNSBL trabalha junto com o resolvedor de DNS do pfSense. Ele usa listas de domínios ligados a malware, phishing, rastreamento e publicidade agressiva, e responde a essas consultas com um endereço nulo. Na prática, quando um dispositivo da rede tenta acessar um domínio malicioso, o nome simplesmente não resolve, e a conexão morre antes de começar.
Esse mecanismo é eficiente porque age cedo, na resolução do nome, antes de qualquer pacote sair para o destino. Ele complementa o bloqueio por IP: um cobre o endereço, o outro cobre o nome. Para ambientes que já usam DNS filtrado, o DNSBL soma bem com o que o guia sobre DNS seguro para empresas descreve.
O risco real: falso positivo
O maior problema do pfBlockerNG não é técnico, é operacional. Uma configuração agressiva demais bloqueia um serviço legítimo, e o sintoma chega disfarçado: um sistema que parou de sincronizar, um e-mail que não sai, um fornecedor que "está fora do ar". Como o bloqueio é silencioso, ninguém liga o problema ao firewall de imediato.
A defesa contra isso é método. Ative os recursos em modo de observação antes de bloquear de fato, acompanhe os relatórios para ver o que seria barrado, mantenha uma lista de permissões para destinos críticos conhecidos e documente cada feed ativado. Segurança que derruba a operação não é segurança, é indisponibilidade com outro nome.
Como implantar sem quebrar a rede
- Comece com poucas listas de IP confiáveis, não com dezenas de feeds de uma vez.
- Ative primeiro em modo de alerta e observe os relatórios antes de bloquear.
- Mapeie dependências de nuvem, e-mail e CDN antes de aplicar GeoIP.
- Mantenha a base MaxMind atualizada com a chave de licença gratuita.
- Crie uma lista de permissões para destinos críticos e conhecidos.
- Revise periodicamente o consumo de memória e o volume de bloqueios.
Onde o pfBlockerNG se encaixa na defesa
O pfBlockerNG é uma camada de reputação, não uma solução completa. Ele corta ruído e barra fontes conhecidamente ruins, o que libera atenção e recursos para o que realmente importa. Ele não inspeciona o conteúdo do tráfego nem detecta ataque direcionado, tarefa que fica com IDS e IPS como o Suricata.
A combinação é o que dá resultado. O pfBlockerNG reduz o volume de tentativas, o hardening fecha o que não precisa estar aberto e o IDS e o IPS olham o que sobra com mais profundidade. Cada camada faz uma parte, e nenhuma substitui a outra.
Custo em desempenho e memória
Filtragem por listas custa recurso. Cada feed de IP ocupa memória nas tabelas do firewall, e listas muito grandes de DNSBL pesam no resolvedor. Em hardware modesto, empilhar feeds sem critério degrada o desempenho e, no limite, chega a instabilizar o equipamento. Dimensionar a memória contando com o pfBlockerNG evita essa surpresa.
A recomendação prática é proporcional ao ambiente: use o conjunto de listas que o hardware sustenta com folga e cresça observando o consumo. Mais feeds não é sinônimo de mais proteção, principalmente quando a máquina não aguenta manter tudo carregado com estabilidade.
Onde a OpenSourceBrasil entra
Configurar o pfBlockerNG para proteger sem atrapalhar exige conhecer as dependências da empresa e ajustar as listas ao risco real do ambiente. A OpenSourceBrasil implanta e ajusta o pfBlockerNG dentro do trabalho de segurança de redes, com listas escolhidas a dedo, período de observação antes do bloqueio e revisão contínua para evitar falso positivo.