Firewall · Roteamento

pfSense: Guia Completo — Squid, SquidGuard, OpenVPN, IPSec, pfBlockerNG e Zabbix

Um roteiro consolidado para colocar o pfSense em produção: acesso via console e SSH, autenticação em Active Directory/LDAP, proxy Squid com SquidGuard, Portal Cativo, VPNs OpenVPN e IPSec, Traffic Shaper, bloqueio com Snort e pfBlockerNG, sincronização NTP, alertas por e-mail e monitoramento com Zabbix Agent.

Acesso inicial: console e SSH

No primeiro boot, o console texto do pfSense permite atribuir as interfaces WAN/LAN pelo menu numérico. Após isso, habilite o SSH em System > Advanced > Admin Access, marcando "Enable Secure Shell". Para acesso root direto via linha de comando:

ssh [email protected]
# menu do console: opção 8 para shell
pfSsh.php playback svc sshd

Recomenda-se trocar a porta padrão do SSH e restringir por IP de origem em Firewall > Rules na interface WAN, caso o acesso remoto seja necessário.

Notificações por e-mail e NTP

Configure o envio de alertas em System > Notifications > Email, informando servidor SMTP, porta (587 com STARTTLS é o mais comum) e credenciais. Isso é essencial para receber avisos de falha de gateway, atualização de pacotes e eventos do pfBlockerNG.

Para o relógio do sistema, ajuste o serviço NTP em Services > NTP, apontando para servidores confiáveis (ex: a.st1.ntp.br, pool.ntp.org). Um clock dessincronizado quebra a validação de certificados do OpenVPN e do IPSec.

Integração com Active Directory / LDAP

Em System > User Manager > Authentication Servers, crie um servidor do tipo LDAP apontando para o Controlador de Domínio:

Hostname: dc01.empresa.local
Port: 389 (ou 636 para LDAPS)
Base DN: DC=empresa,DC=local
Bind DN: CN=svc-pfsense,OU=Servicos,DC=empresa,DC=local

Com o servidor LDAP configurado, é possível usá-lo como backend de autenticação do Portal Cativo, do OpenVPN e do próprio acesso administrativo à interface web, centralizando credenciais no AD.

Portal Cativo

Em Services > Captive Portal, crie uma zona vinculada à interface de rede desejada (ex: Wi-Fi de visitantes), defina o tempo de sessão, redirecionamento HTTPS e o backend de autenticação (local, RADIUS ou LDAP configurado anteriormente). É possível customizar a página de login com HTML próprio e exigir aceite de termos de uso.

Squid e SquidGuard: proxy e filtro de conteúdo

Instale os pacotes via System > Package Manager:

pkg install pfSense-pkg-squid
pkg install pfSense-pkg-squidGuard

Configure o Squid em modo transparente (Services > Squid Proxy Server > General) para interceptar tráfego HTTP na porta 3128 sem exigir configuração manual nos clientes. O SquidGuard adiciona categorização de sites (blacklists) e permite criar ACLs por grupo de usuários ou faixa de horário, bloqueando categorias como "adult", "gambling" ou "socialnet".

Snort e pfBlockerNG: IDS/IPS e reputação de IP

O Snort atua como IDS/IPS analisando assinaturas de tráfego malicioso nas interfaces configuradas. Após instalar o pacote, é necessário cadastrar as regras da Snort VRT ou da Emerging Threats (algumas exigem Oinkcode gratuito).

O pfBlockerNG complementa bloqueando por reputação de IP e DNSBL (listas de domínios maliciosos/anúncios). Ative o modo DNSBL para funcionar como um Pi-hole embutido, bloqueando domínios de telemetria e malware direto na resolução DNS:

# Habilitar em Firewall > pfBlockerNG > DNSBL
# Selecionar feeds: EasyList, EasyPrivacy, Malware Domains

Traffic Shaper (QoS)

Em Firewall > Traffic Shaper, use o assistente (wizard) para priorizar tráfego de VoIP e videoconferência sobre downloads e streaming. O pfSense usa ALTQ/dummynet para limitar banda por fila, essencial em links com upload limitado onde OpenVPN e VoIP competem com o tráfego geral.

OpenVPN: acesso remoto e site-to-site

Para VPN de acesso remoto (road warrior), gere a CA e o certificado do servidor em System > Cert Manager, depois configure o servidor em VPN > OpenVPN > Servers:

Protocolo: UDP
Porta: 1194
Modo: SSL/TLS + User Auth
Tunnel Network: 10.10.10.0/24
Backend de autenticação: LDAP (AD)

Exporte o perfil do cliente com o pacote openvpn-client-export, gerando um .ovpn pronto para importar no cliente OpenVPN Connect ou Viscosity.

IPSec: túnel site-to-site

Em VPN > IPsec > Tunnels, configure a Fase 1 (IKE) com o IP público do peer remoto, método de autenticação (PSK ou certificado) e algoritmo de criptografia (AES256-GCM é recomendado). Na Fase 2, defina as redes locais e remotas que trafegarão pelo túnel:

Fase 1: IKEv2, AES256-GCM, SHA256, DH Group 14
Fase 2: Rede local 192.168.10.0/24 <-> Rede remota 192.168.20.0/24

Verifique o status do túnel em Status > IPsec e, em caso de falha de negociação, consulte o log em Status > System Logs > IPsec.

Monitoramento com Zabbix Agent

Instale o Zabbix Agent via pacote no pfSense (pfSense-pkg-zabbix-agent ou zabbix6-agent, dependendo da versão) e habilite o serviço em Services > Zabbix Agent, apontando o servidor Zabbix autorizado a coletar métricas. Do lado do servidor Zabbix, use os templates de "FreeBSD" combinados com itens customizados via SNMP (também suportado nativamente pelo pfSense em Services > SNMP) para acompanhar throughput de WAN, uso de estado do firewall (states table) e falhas de gateway com triggers de failover.

Recursos Adicionais

pfSense Firewall OpenVPN IPSec Zabbix
pfSense Firewall OpenVPN Squid Zabbix
← Voltar para o blog