Criando regras de Firewall no pfSense

Criando regras de Firewall no pfSense

 

Nessa aula vamos fazer a configuração de regra de Firewall no pfSense, acesse Firewall -> Rules.

As regras de firewall do pfSense são feitas baseadas em interfaces, como WAN, LAN e DMZ.

Essas 2 regras que constam na interface WAN, são definidas automaticamente devido a configuração feita em ‘Interfaces -> WAN -> Reserver Networks’ onde podemos bloquear redes específicas para que não interajam com o pfSense. As opções são:

Block private networks and loopback addresses?: bloqueia o tráfego de redes que pertençam a endereços de redes privadas definidas pela RFC 1918, como 172.16/12, 192.168/16, etc. Assim como também o endereço de loopback (127/8).

Block bogon networks?: bloqueia o tráfego de endereços reservados, e que não fazem parte da RFC 1918 (como os anteriores).

Nenhuma regra está atualmente definida (exceto as 2 automáticas) para interface WAN logo todas as conexões de entrada nesta interface serão bloqueadas até que as regras de aprovação sejam adicionadas.

Na interface LAN, temos 3 regras iniciais.
A primeira regra é para permitir o acesso ao pfSense pela interface LAN é uma regra criada automaticamente e não é possível excluir pois ela permite acesso ao pfSense (Regra Anti-Bloqueio).

A segunda regra permite todo tráfego de entrada da rede LAN que utiliza IPv4. (Sem ela os computadores não vão ter acesso a Internet por exemplo)

A terceira regra é igual a segunda porém utilizo IPv6,

Na interface DMZ nenhuma regra está atualmente definida logo todas as conexões de entrada nesta interface serão bloqueadas até que as regras de aprovação sejam adicionadas.

Na aba Floating temos as Regras flutuantes são regras avançadas de firewall que podem ser aplicadas em qualquer direção e em qualquer uma ou várias interfaces. Regras flutuantes são definidas em Firewall> Regras na guia Floating.

Muitos firewalls não precisam de regras flutuantes ou podem tê-los apenas para o modelador de tráfego. Para aqueles que optam por usá-los, eles podem facilitar alguns cenários complexos de filtragem.

Temos uma opção de legenda dos símbolos utilizados nas regras de firewall.

O botão Add com uma seta para cima cria a regra acima de todas as outras, e o botão Add com uma seta para baixo cria a regra abaixo de todas as outras, porém depois de criadas é possível movimentar essas regras.

O botão Delete vai deletar as regras selecionadas, já o botão Save vai salvar a ordem das regras, o botão Separator cria um separador apenas para melhorar a organização das regras.

Para criar uma regra de firewall clique no botão Add. temos as seguintes opções para criar uma regra de Firewall:

Em Edit Firewall Rule:

Action: É a ação da regra, pode ser escolhido Pass, Block e Reject.

Disabled: Marque para desabilitar a regra.

Interface:  Podemos selecionar a interface em que a regra será criada. (vem predefinida com a interface que estava selecionada na tela anterior)

Address Family: Devemos selecionar a versão do protocolo IP, pode ser escolhido IPv4, IPv6 ou IPv4+IPv6.

Protocol: Devemos escolher o protocolo que a regra vai utilizar, é possível escolher diversos protocolos, dentre eles o TCP, UDP e ICMP.


Em Source (Origem):

Source - Inverte match.:  Se marcado a regra é invertida e acaba virando uma exceção (negação).

Source - Opções: As opções listadas abaixo para os endereços de origem são:
(Algumas dessas opções aparecem apenas em campos ou circunstâncias específicas ou se determinados recursos estiverem ativados.)

any: 0.0.0.0 a 255.255.255.255 ou todos os endereços IPv6. (qualquer/todos).

Single host or alias: Iinsira um endereço IP (1.2.3.4, aa:bb:cc:dd::1) ou digite o nome de um Alias ??que já tenha sido configurado (Firewall -> Aliases).

Network: Insira uma rede e uma máscara (10.99.0.0/16, aa:bb:cc:dd::0/64).

PPPoE clientes: Localiza e utiliza automaticamente os endereços dos clientes PPPoE.

L2TP clientes: Localiza e utiliza automaticamente os endereços dos clientes L2TP.

WAN net: Por favor, note que esta não é a internet, é apenas a rede que a wan está conectada, assim como a lan. Se o seu ISP o coloca em uma rede x.x.x/21, ou um /29 ou um /24 que é a rede, isso se refere também. Não é toda a internet.

WAN address: O endereço IP configurado na interface da WAN em Interfaces -> WAN.

LAN net: A sub-rede configurada na interface LAN em Interfaces -> LAN.

LAN address: O endereço IP configurado na interface da LAN em Interfaces -> LAN.

DMZ net: A sub-rede configurada na interface DMZ em Interfaces -> DMZ.
DMZ address: O endereço IP configurado na interface da DMZ em Interfaces -> DMZ.

Source port range: Especifique a porta de origem ou o intervalo de portas para esta regra. O campo "To/Para" pode ficar vazio se filtrar apenas uma única porta.
OBS: O intervalo da porta de origem para uma conexão é geralmente aleatório e quase nunca igual à porta de destino. Na maioria dos casos, essa configuração deve permanecer em seu valor padrão, any.

Em Destination:

Destination - Inverte match.:  Se marcado a regra é invertida e acaba virando uma exceção (negação).

Destination - Opções: As opções listadas abaixo para os endereços de destino são:
(Algumas dessas opções aparecem apenas em campos ou circunstâncias específicas ou se determinados recursos estiverem ativados.)

any: 0.0.0.0 a 255.255.255.255 ou todos os endereços IPv6. (qualquer/todos).

Single host or alias: Iinsira um endereço IP (1.2.3.4, aa:bb:cc:dd::1) ou digite o nome de um Alias ??que já tenha sido configurado (Firewall -> Aliases).

Network: Insira uma rede e uma máscara (10.99.0.0/16, aa:bb:cc:dd::0/64).

This firewall (self): Qualquer endereço IP atribuído a qualquer interface neste firewall.

PPPoE clientes: Localiza e utiliza automaticamente os endereços dos clientes PPPoE.

L2TP clientes: Localiza e utiliza automaticamente os endereços dos clientes L2TP.

WAN net: Por favor, note que esta não é a internet, é apenas a rede que a wan está conectada, assim como a lan. Se o seu ISP o coloca em uma rede x.x.x/21, ou um /29 ou um /24 que é a rede, isso se refere também. Não é toda a internet.

WAN address: O endereço IP configurado na interface da WAN em Interfaces -> WAN.

LAN net: A sub-rede configurada na interface LAN em Interfaces -> LAN.

LAN address: O endereço IP configurado na interface da LAN em Interfaces -> LAN.

DMZ net: A sub-rede configurada na interface DMZ em Interfaces -> DMZ.
DMZ address: O endereço IP configurado na interface da DMZ em Interfaces -> DMZ.

Destination port range: Especifique a porta de destino ou o intervalo de portas para esta regra. O campo "To/Para" pode ficar vazio se filtrar apenas uma única porta.

Em Extra Options:

Log:  Se marcado será gerado registrado em log os pacotes manipulados por esta regra.

Dica: o firewall tem espaço de log local limitado. Não ative o log de tudo. Se fizer muito logging, considere usar um servidor syslog remoto (veja a página Status-> System Logs: Settings).

Description: É a descrição da regra.

Uma descrição pode ser inserida aqui para referência administrativa. No máximo 52 caracteres serão usados no conjunto de regras e exibidos no log do firewall.

Advanced Options: Exibe as opções avançadas.

Em Advanced Options:

Source OS: É um filtro de sistemas operacionais, usando ele é possível fazer com que a regra funcione para um determinado sistema operacional.

Nota: isso só funciona para regras TCP. A escolha geral do sistema operacional corresponde a todos os subtipos.

Diffserv Code Point: Marcação de pacote para garantia de QoS com provedor (se o provedor comportar).

Allow IP options: Permitir que pacotes com opções IP passem. Caso contrário, eles são bloqueados por padrão. Isso geralmente é visto apenas com o tráfego multicast.

Disable reply-to: Se marcos desativa resposta automática para esta regra.

Tag: Um pacote que corresponde a essa regra pode ser marcado e essa marca usada para corresponder a outras regras de NAT/filter. Chama-se filtragem de política.

Tagged: É a identificação do pacote marcado.

Um pacote pode ser correspondido em uma marca colocada antes em outra regra.

Max. states: Delimita o máximo de estados de conexão.

Max. src nodes: Delimita o máximo de hosts de origem exclusivos.

Max. connections: Delimita o máximo de conexões estabelecidas por host (somente TCP).

Max. src. states: Delimita o máximo de entradas de estado por host.

Max. src. conn. Rate: Delimita o máximo de novas conexões por host (somente TCP).

Max. src. conn. Rates: O tempo da regra anterior.

State timeout: Tempo limite de estado em segundos (somente TCP).

TCP Flags: Use isso para escolher as flags TCP que devem ser definidos ou desmarcados para que essa regra corresponda.

No pfSync: Evita que os estados criados pela regra em caso de sincronismo entre pfSense.

State type: Tipo de estados de conexão.

No XMLRPC Sync: Impede a regra em caso de sincronismo entre pfsense.

VLAN Prio: Prioridade da VLAN, escolha a prioridade 802.1p para combinar.

VLAN Prio Set: Prioridade da VLAN, escolha a prioridade 802.1p para aplicar.

Schedule: É o agendamento de regras.

Deixe como 'nenhum' para deixar a regra ativada o tempo todo.

Gateway: Serve para escolher outro gateway para a regra.

Deixe como 'padrão' para usar a tabela de roteamento do sistema. Ou escolha um gateway para utilizar o roteamento baseado em políticas.

A seleção do gateway não é válida para a família de endereços "IPV4 + IPV6".

In / Out pipe: É a limitação de banda.

A seleção Out é aplicada ao tráfego que sai da interface onde a regra é criada, a seleção In é aplicada ao tráfego que entra na interface escolhida.

Se estiver criando uma regra flutuante, se a direção for In, as mesmas regras serão aplicadas. Se a direção for Out, as seleções serão invertidas, Out será para entrada e In será para saída.

Ackqueue / Queue: É a fila (QoS).

Escolha Acknowledge Queue somente se houver uma Queue/Fila selecionada.


Como exemplo vamos criar uma regra que faz o bloqueio do acesso a Internet  da rede LAN como exemplo. Vamos criar a regra em ‘Firewall -> rules’ na aba LAN.

Action: Block.

Interface: LAN. (pois vamos bloquear o acesso da rede LAN para a Internet)

Address Family: IPv4.

Protocol: Any. (que quer dizer qualquer protocolo.)

Em Source (Origem):

Vamos utilizar a opção ‘LAN net’ que representa a sub-rede configurada na interface LAN.


Em Destination:

Vamos utilizar a opção ‘any’ que quer dizer qualquer destino.

Em Extra Options:

Log:  Não vamos gerar log nesta regra.

Description: Bloqueia todo o acesso da rede LAN.

As regras de Firewall são lidas de cima para baixo, portanto devemos ter muita atenção na posição das regras, se uma regra de bloqueio estiver abaixo de uma regra que libera o tráfego a regra de bloqueio não vai ser utilizada (pois o acesso foi liberado primeiro).

Para a regra de bloqueio funcionar e realmente bloquear todo o acesso da rede LAN para a Internet essa regra deve estar acima das regras que liberam o acesso.

A Interface DMZ não tem regra configurada, logo todo o acesso da rede DMZ para qualquer destino está bloqueado.

Uma DMZ ou zona desmilitarizada, também conhecida como rede de perímetro, é uma sub-rede física ou lógica que contém e expõe serviços de fronteira externa de uma organização a uma rede maior e não confiável, normalmente a Internet. Quaisquer dispositivos situados nesta área, isto é, entre a rede confiável (geralmente a rede privada local) e a rede não confiável (geralmente a Internet), está na zona desmilitarizada.

A função de uma DMZ é manter todos os serviços que possuem acesso externo (tais como servidores HTTP, FTP, de correio eletrônico, etc) junto em uma rede local, limitando assim o potencial dano em caso de comprometimento de algum destes serviços por um invasor. Para atingir este objetivo os computadores presentes em uma DMZ não devem conter nenhuma forma de acesso à rede local. (Fonte)

Vamos realizar o controle de acesso entre a rede local, a internet e a DMZ. Os equipamentos que estão na DMZ não vão ter acesso a rede local (LAN) neste exemplo. Vamos criar a regra em ‘Firewall -> rules’ na aba LAN.

Action: Pass.

Interface: DMZ. (pois vamos bloquear o acesso da rede DMZ para a rede LAN)

Address Family: IPv4.

Protocol: Any. (que quer dizer qualquer protocolo.)

Em Source (Origem):

Vamos utilizar a opção ‘DMZ net’ que representa a sub-rede configurada na interface DMZ.

Em Destination:

Vamos utilizar a opção ‘LAN net’ que representa a sub-rede configurada na interface LAN.
E Vamos marcar a opção ‘Invert match.’ (negação)

Em Extra Options:

Log:  Não vamos gerar log nesta regra.

Description: Libera acesso da DMZ exceto para a rede LAN.
(Libera acesso da DMZ para a Internet e bloqueia acesso da rede DMZ para a rede LAN)

Essa regra está liberando o tráfego da DMZ para qualquer destino com exceção da rede LAN.