O que é?
O Firewall é o módulo responsável por gerenciar o controle de acesso à rede. Ele faz o direcionamento do tráfego de entrada de todas as interfaces para diferentes níveis de segurança (chamados de zonas) e cada zona possui seu próprio conjunto de regras.
O encaminhamento de tráfego para as zonas é baseado no fluxo de rede (interfaces de entrada e saída) e segue uma ordem específica, partindo das zonas consideradas menos seguras para as mais seguras, na seguinte ordem:
- 1º GLOBAL
- Tráfegos de Entrada do Firewall e Saída do Firewall são processados e filtrados neste nível (destinado ou originado pelo firewall);
- Tráfegos de Encaminhamentos de todas as redes são processados neste nível;
- Se nenhuma regra casar com o tráfego encaminhado, o fluxo segue para a zona específica, seguindo a ordem;
- 2º DMZ
- Tráfegos de Encaminhamentos de origem da zona DMZ (que entrou pela interface de rede DMZ);
- Tráfegos de Encaminhamentos de destino à zona DMZ (que será roteado através da interface de rede dmz);
- 3º Visitantes
- Tráfegos de Encaminhamentos de origem da zona Visitantes (que entrou pela interface de rede guest);
- Tráfegos de Encaminhamentos de destino à zona Visitantes (que será roteado através da interface de rede guest);
- 4º VPN Site2Site
- Tráfegos de Encaminhamentos de origem da zona VPN Site2Site (que entrou pela interface de rede vpn);
- Tráfegos de Encaminhamentos de destino à zona VPN Site2Site (que será roteado através da interface de rede vpn);
- 5º LAN
- Tráfegos de Encaminhamentos de origem da zona LAN (que entrou pela interface de rede lan);
- Tráfegos de Encaminhamentos de destino à zona LAN (que será roteado através da interface de rede lan).
Exemplos:
- Uma máquina na LAN acessa um fileserver na DMZ. Este fluxo será direcionado para a Zona DMZ.
- Um visitante tenta acessar uma impressora na LAN. Este fluxo seŕa direcionado para Visitantes.
- Um usuário remoto (VPN s2s) acessa um servidor web na DMZ. Este fluxo será direcionado para a Zona DMZ.
O critério de encaminhamento para as zonas serão sempre as interfaces de rede (entrada ou saída), respeitando a ordem acima.
Funcionalidades
- Gerenciar regras de controle de acesso
- Gerenciar regras de tradução de endereços (NAT)
- Habilitar verificações de segurança
- Habilitar tradução de endereços no tráfego de saída das conexões (Masquerade / NAT overload)
- Ativar bloqueio de redes privadas (RFC 1918) na entrada ou saída das conexões de rede
- Configurar Grupos de Hosts
- Configurar Exceções de Segurança
- Listar regras de NAT e encaminhamentos
- Gerenciar regras de bloqueio baseadas em DPI (Deep Packet Inspection)
Casos de uso
Gerenciar regras de controle de acesso
As regras de controle de acesso podem ser criadas para tráfegos de entrada, saída ou encaminhamento do Firewall e possuem os seguintes recursos:
- Habilitar/Desabilitar
- Informa se a regra está ativa ou não. Quando ativa, provisiona a regra no iptables.
- Grupo
- Agrupamento de regras dispostas em tela (melhor organização e visualização)
- Descrição
- Ação
- Aceitar - permite o tráfego, ação ACCEPT do iptables
- Rejeitar - bloqueia o tráfego e retorna uma pacote ICMP type icmp-port-unreachable, ação REJECT do iptables
- Descartar - bloqueia e descarta o tráfego, ação DROP do iptables
- Log - somente gera log no iptables para o tráfego, ação LOG do iptables
- Regra de log
- Opção de ativar regra de log no iptables para as regras tipo Aceitar, Rejeitar ou Descartar
- Fluxo
- Define as conexões de entrada e/ou saída do tráfego
- Permite qualquer conexão, uma conexão específica ou todas as conexões de uma Zonas
- Parâmetros
-i
e-o
do iptables - Quando selecionado Zona, cria uma regra para cada fluxo possível (
-i
e-o
de todas as conexões)
- Filtros
- Endereços de origem e destino
- 0/0 - Qualquer (
0.0.0.0/0
no iptables) - Aplicação - IPSET de aplicações (pode ser um conjunto de IPs ou IPs+portas dependendo da aplicação selecionada)
- IPs da conexão - Todos os IPs atribuídos à conexão (primário e secundários)
- Redes da conexão - Todas as redes da conexão/enlace + rotas da conexão
- IPs da zona - Todos os IPs atribuídos de todas as conexões da zona selecionada
- Redes da zona - Todas as redes e rotas de todas as conexões da zona selecionada
- IP - Endereço IP
- Rede - Endereço de rede IP e tamanho do prefixo
- Hosts - Seleciona um grupo de hosts criado no FWFLEX (IPSET de endereços IP)
- Instância do SSO - Todos os usuários autenticados na instância selecionada (IPSET de endereços IP de todos os usuários que autenticaram)
- 0/0 - Qualquer (
- Protocolo
- Porta ou range de portas (quando TCP ou UDP)
- Endereços de origem e destino
Gerenciar regras de tradução de endereços (NAT)
As regras de NAT fazem a tradução de endereços no pacote de rede (modificam os cabeçalhos TCP/IP do pacote e alteram os campos). NATs de origem modificam o endereço IP de origem do pacote encaminhado pelo firewall. NATs de destino modificam o endereço de destino (IP e porta quando protocolo for TCP ou UDP) do pacote encaminhado pelo firewall. Regras de NAT não liberam ou bloqueiam tráfegos no Firewall. Este papel é das regras de controle de acesso (encaminhamentos do Firewall). Portanto, para que um NAT seja eficaz, deve sempre existir uma regra de encaminhamento liberando o tráfego.
Os NATs de origem possuem os seguintes recursos:
- Habilitar/Desabilitar
- Informa se a regra está ativa ou não. Quando ativa, provisiona a regra no iptables.
- Grupo
- Agrupamento de regras dispostas em tela (melhor organização e visualização)
- Descrição
- Ação
- NAT - traduz o IP de origem para o IP especificado, ação SNAT do iptables
- Mascarar - traduz o IP de origem para o IP da conexão de saída, ação MASQUERADE do iptables
- Aceitar - não traduz o IP de origem, regra explícita na tabela NAT para que este fluxo não tenha NAT (serve como um skip de um Masquerade, por exemplo), ação ACCEPT do iptables
- Log - somente gera log no iptables para o tráfego, ação LOG do iptables
- Regra de log
- Opção de ativar regra de log no iptables para as regras tipo Mascarar, NAT ou Aceitar
- Fluxo
- Mesma lógica de fluxos das regras de encaminhamento (citado acima)
- Filtros
- Mesma lógica de filtros das regras de encaminhamento (citado acima)
- Endereço de origem traduzido
- Somente quando a ação for NAT
- Especifica qual IP de origem deve ser inserido no cabeçalho IP
OBS: No fluxo de chains do iptables, os NATs de origem são realizados por último, após decisão de roteamento do firewall e após passarem por liberações de controle de acesso (regras de encaminhamento / tabela filter do iptables).
Os NATs de destino possuem os seguintes recursos:
- Habilitar/Desabilitar
- Informa se a regra está ativa ou não. Quando ativa, provisiona a regra no iptables.
- Grupo
- Agrupamento de regras dispostas em tela (melhor organização e visualização)
- Descrição
- Ação
- NAT - traduz o endereço de destino (IP e porta quando protocolo for TCP ou UDP) para o endereço especificado, ação DNAT do iptables
- Aceitar - não traduz o endereço de destino, regra explícita na tabela NAT para que este fluxo não tenha NAT (serve como um skip de um DNAT ordenado mais abaixo, por exemplo), ação ACCEPT do iptables
- Log - somente gera log no iptables para o tráfego, ação LOG do iptables
- Regra de log
- Opção de ativar regra de log no iptables para as regras tipo NAT ou Aceitar
- Criação automática de regra de encaminhamento de destino
- Quando habilitado, requer que seja informado em qual grupo de regras a regra de encaminhamento deve ser criada
- Recurso opcional. Cria a regra de encaminhamento (tipo Aceitar) para que o fluxo seja liberado
- As regras NAT e encaminhamento ficam vinculadas uma à outra. Ação deletar apaga ambas as regras
- Fluxo
- Mesma lógica de fluxos das regras de encaminhamento (citado acima)
- Filtros
- Mesma lógica de filtros das regras de encaminhamento (citado acima)
- Endereço de destino traduzido
- Somente quando a ação for NAT
- IP e porta quando protocolo for TCP ou UDP
- IP quando for outros protocolos
OBS: No fluxo de chains do iptables, os NATs de destino são realizados primeiro, antes da decisão de roteamento do firewall e antes de passarem por liberações de controle de acesso (regras de encaminhamento / tabela filter do iptables). Por este motivo, a regra de encaminhamento deve ser criada com o IP de destino traduzido. Quando a criação automática de regra de encaminhamento estiver habilitada, esta ação será realizada automaticamente pelo firewall.
Habilitar verificações de segurança
As verificações de segurança estão disponíveis na tela de Configuração > Serviço. As seguintes verificações estão disponíveis:
- Verificação de pacotes inválidos
- Pacotes inválidos destinados ao Firewall serão descartados
- Gera log no iptables com prefixo
Drop - Invalid Packet:
- Quando ativo, regra é criada na chain
KEEP-STATE
do iptables - Descarta pacotes com state INVALID do iptables
- Verificação de varredura de porta
- Pacotes de varredura de porta (nmap e afins) destinados ao Firewall serão descartados
- Não gera log no iptables
- Quando ativo, regra é criada na chain
CHECK-FLAGS
do iptables - Descarta pacotes com flags tcp específicas que indicam a varredura de porta
- Verificação de spoofing
- Pacotes de entrada na WAN (internet) com IP’s de origem mascarados (fake) das redes internas do firewall serão descartados
- Pacotes de entrada na DMZ com IP’s de origem mascarados (fake) das redes internas, exceto a rede da própria conexão DMZ, serão descartados
- Quando ativo, regra é criada na chain
ZONES-SPOOFING
do iptables - Gera log no iptables com prefixo
Drop - Spoofing:
do iptables
Habilitar tradução de endereços no tráfego de saída das conexões (Masquerade / NAT overload)
- O NAT Masquerade pode ser habilitado diretamente na conexão de rede, disponível na tela Configuração > Conexões
- Este recurso traduz o IP de origem (SNAT) para o IP da conexão em todo o tráfego de saída por esta interface
- Recurso útil para que não seja necessário criar regras de NAT de Origem no Firewall
- Quando habilitado, todo trafégo de saída é traduzido
- Quando desabilitado, o tráfego de saída só é traduzido se uma regra de NAT de Origem for criada para tradução do tráfego
- As regras de NAT de Origem são processadas acima do Masquerade geral na tabela NAT
Ativar bloqueio de redes privadas (RFC 1918 e multicasts) na entrada ou saída das conexões de rede
Disponível na tela Configuração > Conexões
Bloqueio de rede RFC1918 - Entrada:
- Pacotes de entrada na WAN com IP’s de origem sendo redes internas (RFC 1918 e multicasts), exceto a rede da conexão, serão descartados
- Quando ativo, regra é criada na chain
CHECK-SRC-RESERVED
do iptables - Gera log no iptables com prefixo
Drop - Reserved network:
do iptables
- Quando ativo, regra é criada na chain
Bloqueio de rede RFC1918 - Saída:
- Pacotes de saída na WAN com IP’s de destino sendo redes internas (RFC 1918 e multicasts), exceto a rede da conexão, serão descartados
- Quando ativo, regra é criada na chain
CHECK-DST-RESERVED
do iptables - Gera log no iptables com prefixo
Drop - Reserved network:
do iptables
- Quando ativo, regra é criada na chain
Entendimento: Tudo que vem da WAN (Internet) e sai para WAN (Internet) é IP público, exceto a rede da conexão. O recurso é opcional, pois em topologias mais complexas podem existir exceções.
Configurar Grupos de Hosts
Grupos de hosts podem ser criados para facilitar a criação de regras de firewall. Eles também são usados nos módulos de Webfilter e SD-WAN (roteamento).
Especificações de um grupo de host:
- Nome
- Obrigatório. Somente letras, números, pontos e traços. Este nome é usado como sufixo no IPSET.
- Descrição
- Hosts
- IP ou Rede
- Descrição
O Grupo de Hosts cria um ipset no iptables com o prefixo hosts-group
. Exemplo: Grupo teste-01 cria o ipset hosts-group-teste-01.
Entendimento: O grupo de hosts é útil para que não seja necessário criar múltiplas regras de firewall. Apenas uma regra é criada associada a um grupo de hosts.
Configurar Exceções de Segurança
Este recurso simplifica algumas liberações para o administrador da rede e pode ser útil em algumas situações.
Especificações de uma exceção de segurança:
- Nome
- Tipo
- IPs de origem ou destino
- Grupo de Hosts
- Flags de exceção disponíveis para serem habilitadas:
- Firewall
- Garantir que determinados IPs estejam sempre liberados no firewall, independentemente se uma regra tipo Descartar for criada no Firewall
- Quando ativo, regra é criada na chain
SECURITY-EXCEPTIONS-FW
da tabela filter
- Webfilter
- Garantir que o webfilter não faça nenhum tipo de controle de acesso para este IP
- Quando ativo, regra de RETURN é criada na chain
WEBFILTER-REDIRECTS
da tabela nat (somente quando Webfilter ativo)
- Single Sign On
- Garantir que determinados IPs não precisem passar pela autenticação do SSO
- Quando ativo, regra de RETURN é criada na chain
FW-SSO-INSTANCES-NAT
da tabela nat (somente quando SSO ativo)
- Firewall
Entendimento: Como o próprio nome já diz, é uma exceção à segurança, deve ser usado com cautela e para fins muito específicos. Por este motivo as exceções são sempre atreladas a grupos de hosts. Exemplos de uso:
- Câmeras IP que não conseguem se autenticar no SSO
- Sistemas que não funcionam bem quando intermediados pelo Webfilter
- IPs de sistemas internos críticos, estarão sempre liberados, ainda que uma regra tipo Descartar seja criada erroneamente
Listar regras de NAT e encaminhamentos
A listagem de regras NAT e encaminhamento consolidam todas as regras criadas no Firewall, listando na ordem correta em que foram criadas, de acordo com lógica de ordenação das Zonas citadas acima (GLOBAL > DMZ > Visitantes > VPN Site2Site > LAN).
Este recurso é útil para entendimento de como as ACLs do firewall são processadas e para resolução de problemas.