Introdução ao pfSense como firewall doméstico e de home lab
1. O que é pfSense e por que usá-lo em casa?
O pfSense é uma distribuição de firewall e roteador baseada no sistema operacional FreeBSD, desenvolvida e mantida pela Netgate. Trata-se de uma solução de código aberto que oferece recursos de nível empresarial — como VPN, balanceamento de carga, inspeção de pacotes e filtragem de conteúdo — sem custos de licenciamento.
Diferentemente dos roteadores domésticos comuns (como os fornecidos por operadoras de internet), que combinam modem, roteador, switch e ponto de acesso Wi-Fi em um único dispositivo limitado, o pfSense permite separar e controlar cada função da rede. Enquanto um roteador residencial típico oferece configurações superficiais de firewall (como "ativar/desativar SPI"), o pfSense expõe regras granulares por interface, porta, protocolo e horário.
Os principais cenários de uso para o ambiente doméstico e de home lab incluem:
- Segurança de rede doméstica: isolar dispositivos IoT, câmeras e convidados em redes separadas com regras restritivas.
- Segmentação de home lab: criar VLANs para servidores, estações de trabalho e experimentos, evitando que falhas em um laboratório comprometam a rede principal.
- Aprendizado prático: estudar conceitos de redes, firewalls, VPNs e monitoramento em um ambiente real, sem depender de equipamentos corporativos caros.
2. Requisitos de hardware e instalação
Especificações mínimas e recomendadas
| Componente | Mínimo | Recomendado para home lab |
|---|---|---|
| CPU | 1 GHz (single-core) | 2+ GHz (dual-core ou superior) |
| RAM | 512 MB | 2 GB a 4 GB |
| Armazenamento | 4 GB (CF ou SSD) | 16 GB+ SSD |
| NICs | 2 interfaces Ethernet | 3+ interfaces (para VLANs) |
Opções de instalação
- Hardware dedicado: PCs antigos, mini PCs (ex.: Protectli, HP T620) ou appliances da Netgate.
- Máquina virtual: hipervisores como Proxmox, VMware ESXi ou VirtualBox — ideal para home lab com recursos compartilhados.
- Appliance virtual: imagens prontas para importar em hipervisores (formato OVF).
Passos básicos de instalação
- Faça o download da imagem ISO mais recente em pfsense.org.
- Grave a ISO em um pendrive usando ferramentas como Rufus (Windows) ou
dd(Linux/Mac). - Inicialize o hardware a partir do pendrive e siga o assistente de instalação:
- Aceite a licença BSD.
- Escolha o tipo de teclado (padrão: US).
- Selecione o disco de instalação.
- Após a instalação, reinicie e remova a mídia.
Exemplo de saída do console durante a configuração inicial:
Welcome to pfSense
Press Enter to boot.
...
Do you want to proceed? [y]: y
3. Configuração inicial da rede e interfaces
Após a instalação, o pfSense solicitará a atribuição das interfaces. Normalmente, a primeira placa de rede é configurada como WAN e a segunda como LAN.
Atribuição de interfaces
No console, selecione a opção 1 (Assign Interfaces) e siga:
Enter the WAN interface name or 'a' for auto-detection: em0
Enter the LAN interface name or 'a' for auto-detection: em1
Do you want to proceed? [y]: y
Configuração de IP estático para a LAN
Selecione a opção 2 (Set Interface IP address) e escolha a LAN. Configure um IP fixo, por exemplo 192.168.1.1/24:
Enter the new LAN IPv4 address: 192.168.1.1
Enter the new LAN IPv4 subnet bit count: 24
Do you want to enable the DHCP server on LAN? [y]: y
Enter the start address of the DHCP range: 192.168.1.100
Enter the end address of the DHCP range: 192.168.1.200
Acesso à interface web
Com um computador conectado à porta LAN (configurado para DHCP), abra o navegador e acesse https://192.168.1.1. O login padrão é admin com senha pfsense. Altere a senha imediatamente.
4. Regras de firewall e segurança básica
O pfSense opera com uma política padrão de "bloquear tudo" nas interfaces. Para liberar tráfego, é necessário criar regras explícitas.
Criando regra para navegação (LAN → WAN)
- Acesse Firewall > Rules, aba LAN.
- Clique em Add (ícone de "+").
- Configure:
- Action: Pass
- Protocol: Any
- Source: LAN net
- Destination: Any
- Description: "Permitir todo tráfego LAN para WAN"
- Salve e aplique as mudanças.
Bloqueio de tráfego indesejado
Para proteger contra varreduras de porta, adicione uma regra no topo da lista da interface WAN:
Action: Block
Protocol: TCP
Source: Any
Destination: WAN address
Destination Port Range: (from) 1 (to) 65535
Description: "Bloquear varreduras externas"
Permitindo acesso SSH ao home lab
Suponha que você tenha um servidor Linux no IP 192.168.1.50 e queira acessá-lo via SSH externamente (pela WAN). Crie uma regra na interface WAN:
Action: Pass
Protocol: TCP
Source: Any
Destination: 192.168.1.50
Destination Port: 22
Description: "SSH para servidor home lab"
5. Configuração de VPN para acesso remoto seguro
O pfSense suporta nativamente OpenVPN e WireGuard. Abaixo, um resumo para configurar o OpenVPN como servidor.
Passos para configurar servidor OpenVPN
- Acesse VPN > OpenVPN > Servers e clique em Add.
- Em General Information:
- Server mode: Remote Access (SSL/TLS)
- Protocol: UDP on port 1194
- Device mode: tun
- Em Cryptographic Settings:
- TLS Configuration: Use a TLS key (gerar automaticamente)
- Certificate: Crie uma Autoridade Certificadora (CA) e um certificado de servidor em System > Cert Manager.
- Em Tunnel Settings:
- IPv4 Tunnel Network:
10.0.8.0/24 - Redirect Gateway: marcado (força todo tráfego pela VPN)
- Salve e aplique.
Criando cliente
- Acesse VPN > OpenVPN > Clients e clique em Add.
- Exporte o perfil do cliente em VPN > OpenVPN > Client Export.
- Importe o arquivo
.ovpnno cliente (Windows, macOS, Linux ou mobile).
6. Monitoramento e logs no pfSense
O dashboard do pfSense exibe gráficos de tráfego, conexões ativas e uso de recursos em tempo real.
Visualizando logs de firewall
Acesse Status > System Logs, aba Firewall. Para filtrar eventos de uma interface específica, use:
# Exemplo de log filtrado no console
tail -f /var/log/filter.log | grep "WAN"
Integração com Grafana
Para monitoramento avançado, envie logs para um servidor syslog externo (ex.: uma VM com Grafana + Loki):
- Em Status > System Logs > Settings, marque "Enable Syslog" e informe o IP do servidor.
- No servidor, configure o recebimento de logs UDP na porta 514.
7. Recursos avançados para home lab
Segmentação com VLANs
- Em Interfaces > Assignments, aba VLANs, crie VLANs (ex.: VLAN 10 para IoT, VLAN 20 para servidores).
- Atribua cada VLAN a uma interface física.
- Crie regras de firewall por VLAN para isolar tráfego.
Balanceamento de carga e failover
Com duas conexões WAN (ex.: fibra e 4G), acesse System > Gateways e configure grupos. Depois, em Firewall > Rules, use o gateway group como destino.
Plugins essenciais
- pfBlockerNG: bloqueia anúncios, malware e geolocalização.
- Snort/Suricata: sistema de detecção e prevenção de intrusões (IDS/IPS).
Instalação via System > Package Manager:
# Exemplo de instalação via console
pkg install pfSense-pkg-pfBlockerNG
8. Manutenção, atualizações e boas práticas
Atualização segura
No console, use a opção 13 (Update pfSense) ou, via web, System > Update. Sempre faça backup antes.
Backup e restauração
Acesse Diagnostics > Backup & Restore e baixe o arquivo XML com toda a configuração.
Recomendações de segurança
- Desabilite o acesso WAN ao webConfigurator em System > Advanced > Admin Access.
- Utilize chaves SSH para login no console.
- Altere a porta padrão do webConfigurator e use HTTPS com certificado válido.
Referências
- Documentação oficial do pfSense — Guia completo de instalação, configuração e manutenção do pfSense.
- pfSense: Configuring OpenVPN Remote Access Server — Tutorial passo a passo para configurar servidor OpenVPN no pfSense.
- pfBlockerNG Package Documentation — Documentação oficial do pacote de bloqueio de conteúdo e geolocalização.
- Artigo: "Building a Home Lab with pfSense" no Medium — Guia prático para montar um home lab com pfSense, incluindo VLANs e monitoramento.
- Tutorial: "pfSense VLAN Configuration for Home Networks" no YouTube (Lawrence Systems) — Vídeo explicativo sobre configuração de VLANs no pfSense para segmentação de rede doméstica.