Capítulo 16 – Regras de Firewall
Introdução
A criação de regras de firewall é um dos pontos mais importantes na administração do OPNsense.
É neste estágio que se define o que será permitido ou bloqueado entre diferentes segmentos de rede — como LAN ↔ Internet, DMZ ↔ Internet ou VLANs internas.
A forma como as regras são estruturadas impacta diretamente a segurança, disponibilidade e até o volume de incidentes de suporte.
Antes de implementá-las, é essencial compreender o funcionamento do mecanismo de avaliação de regras do OPNsense.
Conceitos Fundamentais
Ordem de Processamento
O OPNsense avalia o tráfego seguindo uma hierarquia fixa:
- NAT
- Regras Floating
- Grupos de Interfaces
- Regras Específicas por Interface
Importante
O NAT (Network Address Translation) é processado antes das regras de firewall.
Assim, o filtro de pacotes atua sobre os endereços já traduzidos, o que pode alterar o comportamento esperado de algumas regras.
Processamento de Regras por Interface
O OPNsense processa as regras associadas à interface em que o tráfego foi recebido.
Por exemplo, uma conexão que se inicia por um PC na LAN com destino à Internet será avaliada pelas regras da interface LAN.
As regras são processadas de cima para baixo, e a primeira correspondente ao tráfego é aplicada.
Boas práticas de ordenação
Coloque regras específicas acima das genéricas.
Regras de exceção devem sempre preceder políticas amplas de permissão.
Regras Floating
As regras Floating podem ser aplicadas a múltiplas interfaces simultaneamente e são avaliadas antes das demais.
São úteis para políticas globais, como inspeções de tráfego, bloqueios transversais ou marcações de pacotes.
Atenção com Multi-WAN
Em ambientes com múltiplos links de Internet, as regras Floating podem causar comportamento inesperado.
O retorno dos pacotes pode sair por outro link, quebrando conexões.
Para evitar isso, crie regras separadas por interface WAN, garantindo que o reply-to preserve o caminho original de retorno.
Onde Criar as Regras
As regras devem ser criadas na interface de entrada do tráfego.
Exemplo: se um host na LAN acessa o IP 8.8.8.8 na Internet, a regra deve ser criada em Firewall → Rules → LAN, pois o tráfego entra pela LAN.
Regras Implícitas
Por padrão, o OPNsense bloqueia qualquer tráfego que não seja explicitamente permitido.
Na instalação inicial, a interface LAN inclui regras que liberam todo o tráfego, facilitando as configurações iniciais — mas que posteriormente devem ser ajustadas.
Criando Aliases
O uso de aliases (agrupamentos de hosts, redes e portas) simplifica e padroniza as regras, reduzindo erros e facilitando futuras manutenções.
Menu: Firewall → Aliases
| Alias | Tipo | Conteúdo | Descrição |
|---|---|---|---|
REDES_LOCAIS |
Networks | 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 |
Redes privadas (RFC1918) |
INTERNET |
Networks | 0.0.0.0/0, !10.0.0.0/8, !172.16.0.0/12, !192.168.0.0/16 |
Redes públicas (Internet) |
EXT_SERVIDORES_DNS |
Host(s) | 1.0.0.3, 1.1.1.1, 1.1.1.3, 8.8.4.4, 8.8.8.8, 9.9.9.9, 208.67.220.220, 208.67.222.222 |
Servidores DNS externos confiáveis |
EXT_SERVIDORES_NTP |
Host(s) | a.ntp.br, b.ntp.br, c.ntp.br, time.google.com |
Servidores NTP externos |
PORTAS_NAVEGACAO_WEB |
Port(s) | 80, 443, 8080, 8081, 9090, 8443, 8006, 8007, 7070, 7071 |
Portas de navegação web |
IP_SERV_ACTIVEDIRECTORY |
Host(s) | 192.168.10.10 |
Servidor Active Directory |
PORTAS_ACTIVEDIRECTORY |
Port(s) | 53, 88, 135, 445, 389, 3268, 636, 3269, 49152:65535 |
Portas do Active Directory |
IP_SERV_FILESERVER |
Host(s) | 192.168.10.20 |
Servidor de arquivos |
Importante
Utilize descrições padronizadas para os aliases.
Criação das Regras de Firewall Base
Com os aliases definidos, é possível configurar regras segmentadas para cada rede.
Os exemplos a seguir apresentam uma política inicial de liberação para tráfego essencial (DNS, HTTP/HTTPS, NTP e acesso a servidores internos).
Menu: Firewall → Rules → [Interface]
Rede SERVIDORES
-
Libera DNS Externo
- Protocol:
UDP - Destination:
EXT_SERVIDORES_DNS - Destination Port:
53 - Log: desmarcado
- Description:
Libera DNS externo
- Protocol:
-
Libera Navegação Web
- Protocol:
TCP/UDP - Destination:
any - Destination Port:
PORTAS_NAVEGACAO_WEB - Log: marcado
- Description:
Libera Navegação Web
- Protocol:
-
Libera Ping (ICMP)
- Protocol:
ICMP - ICMP type:
Echo request - Destination:
any - Log: marcado
- Description:
Libera ICMP Servidores
- Protocol:
-
Libera NTP Externo
- Protocol:
UDP - Destination:
EXT_SERVIDORES_NTP - Destination Port:
123 - Log: opcional
- Description:
Libera NTP externo
- Protocol:
Rede CORPORATIVO
-
Libera Active Directory
- Protocol:
TCP/UDP - Destination:
IP_SERV_ACTIVEDIRECTORY - Destination Port:
PORTAS_ACTIVEDIRECTORY - Log: marcado
- Description:
Corporativo → Active Directory
- Protocol:
-
Libera Navegação Web
- Protocol:
TCP/UDP - Destination:
any - Destination Port:
PORTAS_NAVEGACAO_WEB - Log: marcado
- Description:
Libera Web Corporativo
- Protocol:
-
Libera File Server (SMB)
- Protocol:
TCP/UDP - Destination:
IP_SERV_FILESERVER - Destination Port:
445 - Log: marcado
- Description:
Corporativo → Fileserver
- Protocol:
-
Libera Ping (ICMP)
- Protocol:
ICMP - ICMP type:
Echo request - Destination:
any - Log: marcado
- Description:
Libera ICMP Corporativo
- Protocol:
Rede WIFI (Corporativo)
-
Libera Active Directory
- Protocol:
TCP/UDP - Destination:
IP_SERV_ACTIVEDIRECTORY - Destination Port:
PORTAS_ACTIVEDIRECTORY - Log: marcado
- Description:
Wi-Fi → Active Directory
- Protocol:
-
Libera Navegação Web
- Protocol:
TCP/UDP - Destination:
any - Destination Port:
PORTAS_NAVEGACAO_WEB - Log: marcado
- Description:
Libera Web Wi-Fi
- Protocol:
-
Libera File Server (SMB)
- Protocol:
TCP/UDP - Destination:
IP_SERV_FILESERVER - Destination Port:
445 - Log: marcado
- Description:
Wi-Fi → Fileserver
- Protocol:
-
Libera Ping (ICMP)
- Protocol:
ICMP - ICMP type:
Echo request - Destination:
any - Log: marcado
- Description:
Libera ICMP Wi-Fi
- Protocol:
Rede CONVIDADOS
-
Libera DNS Local (Firewall)
- Protocol:
UDP - Destination:
This firewall - Destination Port:
53 - Log: desmarcado
- Description:
Convidados → DNS local
- Protocol:
-
Bloqueio de Acesso Interno
- Action:
Reject - Protocol:
any - Destination:
REDES_LOCAIS - Log: marcado
- Description:
Bloqueia Convidados → Redes internas
- Action:
-
Libera Navegação Web
- Protocol:
TCP/UDP - Destination:
any - Destination Port:
PORTAS_NAVEGACAO_WEB - Log: marcado
- Description:
Libera Web Convidados
- Protocol:
-
Libera Ping (ICMP)
- Protocol:
ICMP - ICMP type:
Echo request - Destination:
any - Log: marcado
- Description:
Libera ICMP Convidados
- Protocol:
Observações Importantes
- Habilite logs apenas onde necessário, evitando sobrecarga.
- Utilize Firewall → Log Files → Live View para validar a ordem e o match das regras.
- Crie uma regra de bloqueio geral com log ao final de cada interface, se desejar mais visibilidade.
- Regras genéricas acima de regras específicas podem liberar tráfego indevido.
- Floating rules mal aplicadas em ambientes Multi-WAN podem quebrar sessões.
- O NAT altera os endereços antes do filtro — valide sempre o IP efetivo.
Boas Práticas
- Padronize nomenclaturas de aliases, regras e descrições.
- Aplique o princípio do menor privilégio: comece permissivo apenas em testes e restrinja progressivamente.
- Documente alterações (ordem, exclusões e novos aliases).
- Revise periodicamente regras sem uso ou com baixo volume de hits.
- Separe políticas por VLAN/função, mantendo coerência entre redes.
- Ao usar IPv6, replique políticas equivalentes às do IPv4, se aplicável.
- Valide com ferramentas (
ping,nslookup,curl) para confirmar o comportamento das regras.
Conclusão
A estrutura modular de regras no OPNsense permite controle granular, manutenção facilitada e melhor rastreabilidade.
A aplicação correta da hierarquia (NAT → Floating → Grupo → Interface) e o uso de aliases padronizados garantem previsibilidade, segurança e escalabilidade para futuras integrações como proxy, IDS/IPS e políticas baseadas em identidade.