pfSense 2.3 – Configurações iniciais.


Fala pessoal de TI, como estão ?

Em um post anterior (ESTE), mostrei como instalar o pfSense 2.3, versão atualizada desta fantástica ferramenta de segurança. Neste momento, uma atualização ( 2.3.1 ) já esta em beta teste e é bem possível que ainda este mês (Maio de 2016) saia a release.

Neste post, vou mostrar as primeiras e importantes configurações a serem realizadas após a instalação.

Logando.

Em navegador, digite o endereço IP configurado na LAN do seu pfSense.

Digite usuário e senha e clique em Login.

01/

Dashboard.

Dashboard tem como uma de suas funções o monitoramento do servidor.

No pfSense podemos adicionar mais ferramentas de monitoramento além das padrões. Uma delas e muito importante é a de monitoramento do(s) Gateways.

Para adicionar ferramentas clique no ícone com sinal de + (mais) em vermelho no cabeçalho.

"02/

Monitoramento do Gateway.

Para adicionar uma ferramenta, basta clicar no ícone + (mais) ao lado da ferramenta de monitoramento. Procure então por Gateway e clique no ícone + (mais) a sua frente.

"03/

Automaticamente será inserido no Dashboard um novo item. O monitoramento do Gateway.

Conforme necessidade, outros poderão ser inseridos, como por exemplo o Firewall Logs.

"04/

System/Advanced.

Clique no menu System e logo após no submenu Advanced.

"05/

Admin Acess.

O primeiro menu mostrado será o menu Admin Acess.

Procure no final do formulário os itens, Secure Shell e Options Console.

"05_b/

Secure Shell e Options Console.

Em Secure Shell, clique na caixa de seleção logo a frente de Secure Shell Server (Enable Secure Shell).

Em Console Options, clique na caixa de seleção logo a frente de Console Menu (Password protect the console menu)

Com estas duas ações estamos habilitando o SSH e protegendo o console do servidor com autenticação.

É possível a partir deste memento, via cliente SSH conectar-se ao servidor para administração remota.

Para finalizar, clique no ícone SAVE no rodapé do formulário.

"06/

One Moment = 20 seconds.

Aguarde os scripts serem aplicados.

"07/

Notices.

No cabeçalho, no canto direito, há um ícone de sino que informa todos os alertas do pfSense. Ao ativar o Secure Shell recebemos duas mensagens, uma de criação de uma chave de criptografia e outra de start do serviço.

Clique em Mark All as Read, para sinalizar leitura das mesmas.

"08/

Notifications.

Ainda em System, Advanced, navegue até a aba Notifications.

Localize no formulário o item E-mail.

"09_a/

E-mail.

É possível configurar o pfSense para enviar notificações por e-mail. Com suporte a autenticação, é possível utilizar seu servidor de e-mails ou até mesmo servidores como Gmail / Hotmail para o envio.

Na imagem abaixo há um exemplo de configuração com Gmail.

"09/

General Setup.

Em System, localize o menu General Setup.

Durante o assistente de configuração na instalação, passamos por estas opções. Note que é possível adicionar mais dois servidores DNS para resolução de nomes.

Apesar de não aparecer na imagem ( isso foi intencional ), é possível no caso de mult-links WAN segmentar o uso do DNS por Gateway, mas isso é assunto para outro post.

"10/

Localization e WebConfigurator.

É possível alterar o idioma do pfSense, inclusive deixando em Português-BR.

Em WebConfigurator, é possível alterar o tema de apresentação.

É possível adicionar mais colunas das divisões do Dashboard, melhorando assim a organização do mesmo.

"11/

Interfaces.

Em interfaces, selecione a opção WAN

"12/

WAN.

O formulário trás inúmeras configurações. É possível alterar valores de MTU, MISS, velocidade de link e etc.

No momento nosso objetivo é apenas configurar o endereço IP. Localize no formulário o item Static IPv4 Configuration.

"13/

Static IPv4 Configuration.

Adicione o endereço IP de acordo com sua topologia.

Para adicionar o gateway clique no botão verde Add a new gateway.

"14/

Gateway.

Adicione o endereço IP de acordo com sua topologia.

Digite nome e descrição. Após, clique no botão + Add.

A flag Default Gateway habilitada, obviamente torna o link como principal saída. Se em uma regra um gateway não for especificado, o default será utilizado.

"15/

Reserved Networks.

Por padrão, o pfSense utiliza regras de bloqueios na WAN para redes com IPs privados. Existem RFCs ( Request for Coments ) nas quais listam esses IPS.

RFCs são documentos técnicos mantidos pelo IETF. Uma lista de todas elas estão disponíveis no site do IETF ou AQUI no Wikipedia.

Se tirar as flags, as regras em interface WAN serão removidas. Mostro mais a frente onde elas estão.

Após clique no botão Save no fim da página.

"16/

LAN.

Configurar um IP na interface LAN e ou mudar parâmetros é exatamente igual a WAN. Somente não ative as flags de Reserved Networks (como no exemplo da imagem anterior), pois, se não você perdera o acesso a WebGUI.

Por questões obvias de endereçamento IP para firewall, a interface LAN não precisa de Gateway. Ela funciona basicamente como uma bridge e por isso não precisa de um.

DHCP Server.

No post anterior, durante a instalação, disse que não iria ativar o DHCP na interface LAN, pois, tinha a preferência de mostrar a ativação do serviço pela WebGUI. A intenção era simplesmente mostrar mais opções de configuração que não são mostradas na instalação.

Clique no menu Services. Após, clique no menu DHCP Server.

"17/

General Options.

A primeira flag Enable, ativa o serviço de distribuição de endereços IP.

Em Range, digite o intervalo de IP que serão distribuídos (inicial e final) há dois campos para isso. É importante fazer um planejamento antes e lembre-se que servidores devem ser configurados com IP fixo. Então reserve uma faixa de IPs para seus servidores.

"18/

Servers.

É possível indicar servidores nas configurações DHCP, como WINS e DNS. Estes endereços IPs serão entregues como configuração as estações.

Se estiver em branco, os endereços serão preenchidos com o endereço IP de LAN do pfSense.

Após clique no botão Save no fim da página.

"19/

DNS Resolver.

Um serviço de Resolução de Nomes vem por padrão ativo no pfSense.

Caso você não possua um Domínio Active Directory e respectivamente um DNS integrado ao domínio em sua rede,  ou seja, trabalhando em Workgroup, este serviço pode lhe auxiliar na resolução de nomes das suas estações, tanto internos, quando externos.

"20/

General DNS Resolver Options.

Devemos restringir as consultas DNS apenas para a rede interna. Para tal em Network Interfaces, selecione pressionando o SHIFT as opções LAN e Localhost.

Em Outgoing Network Interfaces, selecione as suas interfaces WAN apenas.

Após clique no botão Save no fim da página.

"21/

Rules.

Falar de regras pode virar um curso. São muitas variáveis a serem pensadas e muita teoria a ser absorvida para dominar de fato construção de regras.

O pfSense tem muitos recursos neste quesito, o que facilita para quem domina mas ao mesmo tempo, torna um desafio para quem quer aprender. A principio vou falar do obvio e no decorrer dos posts vou aprofundando o assunto.

Na instalação standard, são 02 as regras padrões criadas para WAN e 03 para LAN 

"22/

WAN – Rules.

Quando demonstrei como configurar IP na interface WAN, falei sobre dois flags em Reserved Networks, nos quais criam duas regras de bloqueios de endereçamentos IP. A duas flags criam as duas regras padrões da WAN. 

Dependendo da situação ( propositalmente deixei para falar agora), pode ser necessário desabilita-las.

Ex. Sua WAN é proveniente de uma VPN e não de um link de dados convencional.

Dificilmente criamos regras para WAN, ou seja, liberar acesso externo para o firewall (host). O mais comum são regras de NAT, nas quais uma regra de encaminhamento, mas para não confundir por hora não irei demonstrar manipulação de regras na WAN, apenas mantenha as regras padrões habilitadas para garantir segurança.

"23/

LAN – Rules.

As regras padrões de LAN (explicando na ordem de cima para baixo), ordem esta na qual as regras são lidas pelo pfSense são:

Regra 01 – Permite conexão com a porta 80 (http) e, após habilitado, porta 22 (ssh) do firewall (host), para todas as estações da rede (LAN NET). Essa regra é descrita como Anti-Lockout Rule.

Regra 02 e 03 – Permitem conexão dos host internos a qualquer endereço externo. São regras que liberam conexões sem quaisquer bloqueios a quaisquer portas IPv4 e IPv6 respectivamente a quaisquer hosts, ou seja, acesso liberado.

"24/

Disable Default Rules.

Não é possível desabilitar a regra Anti-Lockout Rule pela administração de regras e neste momento não vamos fazer esta alteração, pois, primeiramente precisamos escrever uma regra (mais SEGURA), para esta função, sem obviamente bloquear o acesso a quem precisa administrar o firewall. É um assunto para um post especifico sobre regras.

Vamos desabilitar as outras duas regras utilizando e criar regras de liberações especificas (como tem que ser). Para tal vamos utilizar ícones disponíveis em Actions. Clique no ícone representado por um circulo cortado ao meio para desabilitar as regras. Demais ícones são para: Mover, Editar, Copiar e Excluir.

Clique no ícone desabilitar nas duas regras.

"25/

Add Rule.

Para criar um regra, acima ou abaixo utilizamos os dois primeiros botões (verdes).

O vermelho apaga a regra, Azul para salvar e um boa novidade, um separador (botão amarelo) no qual gera uma faixa entre regras com direito a descrição para organizar melhor as regras.

Clique no botão Add verde para criar uma regra. Pode ser o acima ou abaixo.

"26/

UDP 53.

A primeira regra que vou demonstrar, é como criar uma liberação para consultas DNS.

Após clicar no botão verde, a tela abaixo será apresentada.

Em Edit Firewall Rules, preencha os campos com os exemplos a seguir:

Action – Selecione Pass, ou seja, permite a passagem.

Interface – Selecione LAN, ou seja, é uma regra que tem origem da rede, tendo com origem os hosts da rede.

Address Family – Selecione IPv4.

Protocol – Selecione UDP. UDP porque a consulta DNS utiliza este protocolo através da porta TCP/IP 53.

"27/

Source.

Em Source (Origem) selecione LAN Net (Rede Interna).

"28/

Destination.

Em Destination (Destino) selecione ANY (Todos). Any, permitira consultas ao firewall, bem como consultas a servidores DNS externos.

Se não for necessário que nenhum host interno consulte DNS externos, selecione LAN Addres (Interface do Firewall). 

Em Destination port range, no campo From, selecione na lista DNS5 (53). Note que há outros dois campos (To  e Custom) para preenchimento. Quando escolhido um protocolo/porta listados, automaticamente ele preenche-rá o campo To. Esta situação é para liberação de intervalo de portas.

Ex: Liberar portas de 1 a 10. Então não é preciso criar uma regra para cada porta, basta digitar 1 em From e 10 em To, que ele entenderá que é um intervalo.

"29/

Extra Options.

Por padrão, regras de liberação não tem logs. Se precisar então ative a flag a frente de Log

Description é o campo utilizado para descrever o que a regra esta liberando. Não há regra, escreva de uma forma que você entenda.

Advanced Options trás inúmeras outras formas de customizar as regras, como criar Schedule, Quotas, Filtros avançados e etc.

Foco no básico neste momento e no futuro haverá aprofundamento.

Após, clique no botão Save para criar a regra

"30/

Mensagem.

Não se preocupe com a mensagem abaixo neste momento, criaremos mais duas regras e então daremos atenção a ela.

"35/

Rules.

A principio ao criar a regra de consulta DNS, teremos o Dashboard desta forma.

"31/

Aliases.

Este recurso ajuda e muito na hora de construir uma regra. Igualmente ajuda na hora de administrar e manter organizada o Dashboard.

Uma aplicação prática é para quando temos muitos endereços IPs ou muitas portas TCP/IP para liberar ou bloquear, ou seja, ao invés de termos inúmeras regras onde cada uma trata um IP ou Porta, criamos apenas um regra e alimentamos os IPs e Portas através de aliases.

Vou demonstrar o uso deste recurso para criar a regra que vai liberar acesso a páginas web.

Clique em Firewall. Após clique em Aliases.

"32/

IP / Port / URLs

IP, Port e URLs são os 03 tipos de Aliases que podem ser criados.

Vou criar um Aliases para duas portas (HTTP e HTPS). A criação segue o mesmo conceito para todos e intuitivamente é fácil perceber a diferença entre eles.

"33/

Add Aliases.

Selecione Ports no menu superior. Após, em Properties, digite o nome e a descrição para seu Aliases.

Em Port(s), digite no campo Port o número 80, que é o número que corresponde a porta https. No campo ao lado digite uma descrição para a porta.

Clique no botão + Add Port para adicionar uma segunda porta.

No segundo campo, digite o número 443, que é o número que corresponde a porta https.  No campo ao lado digite uma descrição para a porta.

Após, clique no botão Save para criar o Aliases.

Obs. Neste LINK, há uma lista de portas TCP/IP que podem ser consultadas.

"34/

Aliases PortasWeb.

Aliases criado.

"35/

Regra WWW

Vou criar uma nova regra utilizando o aliases criado.

Acesse o menu Firewall, menu Rules e escolha a aba LAN.

Clique no botão Add verde (seta para baixo) para criar uma regra.

É importante respeitar a ordem das regras, por isso temos que cria-la abaixo.

A regra que libera consulta DNS, ou seja, resolve o nome, não pode estar depois da regra que libera o acesso a página. Primeiro resolve o nome ( regra DNS ) e depois acesso a página ( regra Página ).

"26/

Regra WWW

Note que agora escolhi o Protocolo TCP, pois, as portas 80 e 443 adicionadas ao Aliases são TCP e não UDP como a porta 53 de DNS.

"36/

Source.

Em Source (Origem) selecione LAN Net (Rede Interna).

"37/

Destination.

Em Destination (Destino) selecione ANY (Todos). 

Em Destination port range, no campo From, selecione na lista (other) e no campo Custom, digite o nome de seu Aliases criado para portas web.

Note que quando digitar as primeiras letra do nome dado ao Aliases no campo From, o pfSense automaticamente carrega os Aliases com nomes coincidentes. Neste caso é preciso repetir a entrada no campo To.

"38/

Extra Options.

Digite uma descrição para regra.

Após, clique no botão Save para criar a regra

"38_a/

Rules.

Ao criar a segunda regra com o Aliases, teremos o Dashboard desta forma.

Note que em Port aparece o nome do Aliases.

"38_b/

Mensagem no cabeçalho.

A primeira mensagem apresentada, após a inserção das regras, solicita que você aplique a alteração. Até então apenas foi criada a regra.

Clique então no botão Apply Changes.

"39/

Background.

A segunda mensagem apresentada diz que caso você tenha interesse em ver o script rodando segundo plano aplicando as regras, que você clique no link Monitor para tal.

"40/

Filter Reload.

Tela de Status.

"41/

Temos até o momento 3 regras ativas, das quais duas foram criadas do zero neste tutorial. A primeira liberando consultas DNS, internas e externas e a segunda liberando o acesso a requisição de páginas http e https externas, para todos os host da rede.

Para completar, vou apenas deixar as instruções para que você construa uma regra para acesso a servidores de e-mails externos através de um cliente de e-mail como o Microsoft Outlook por exemplo. Em uma rede básica seria o ultimo passo.

São 03 os tipos de servidores para este tipo de acesso: IMAP, POP e SMTP.

Para construir a regra, primeiramente crie um Aliases com todas as portas para servidores de e-mails. Pesquise na lista quais são.

Depois construa a regra liberando corretamente, Origem, Destino e Portas.

Abaixo deixei dois links para imagens de apoio a essa “tarefa”. Consulte os links abaixo somente se tiver dúvidas e ou queira comparar com a seu Aliases e Regras criados.

Vou deixar ESTE LINK no qual mostro o Aliases com as portas necessárias e ESTE LINK que mostro a regra criada.

Bom, 42 imagens depois, chegamos a mais um final de post. Espero que aproveitem.

Bons estudos e até o próximo post.

Dúvidas/Sugestões/Reclamações: ricardo.santos@adminderedes.com.br