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

  1. Faça o download da imagem ISO mais recente em pfsense.org.
  2. Grave a ISO em um pendrive usando ferramentas como Rufus (Windows) ou dd (Linux/Mac).
  3. Inicialize o hardware a partir do pendrive e siga o assistente de instalação:
  4. Aceite a licença BSD.
  5. Escolha o tipo de teclado (padrão: US).
  6. Selecione o disco de instalação.
  7. 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)

  1. Acesse Firewall > Rules, aba LAN.
  2. Clique em Add (ícone de "+").
  3. Configure:
  4. Action: Pass
  5. Protocol: Any
  6. Source: LAN net
  7. Destination: Any
  8. Description: "Permitir todo tráfego LAN para WAN"
  9. 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

  1. Acesse VPN > OpenVPN > Servers e clique em Add.
  2. Em General Information:
  3. Server mode: Remote Access (SSL/TLS)
  4. Protocol: UDP on port 1194
  5. Device mode: tun
  6. Em Cryptographic Settings:
  7. TLS Configuration: Use a TLS key (gerar automaticamente)
  8. Certificate: Crie uma Autoridade Certificadora (CA) e um certificado de servidor em System > Cert Manager.
  9. Em Tunnel Settings:
  10. IPv4 Tunnel Network: 10.0.8.0/24
  11. Redirect Gateway: marcado (força todo tráfego pela VPN)
  12. Salve e aplique.

Criando cliente

  1. Acesse VPN > OpenVPN > Clients e clique em Add.
  2. Exporte o perfil do cliente em VPN > OpenVPN > Client Export.
  3. Importe o arquivo .ovpn no 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):

  1. Em Status > System Logs > Settings, marque "Enable Syslog" e informe o IP do servidor.
  2. No servidor, configure o recebimento de logs UDP na porta 514.

7. Recursos avançados para home lab

Segmentação com VLANs

  1. Em Interfaces > Assignments, aba VLANs, crie VLANs (ex.: VLAN 10 para IoT, VLAN 20 para servidores).
  2. Atribua cada VLAN a uma interface física.
  3. 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