O que é PfSense

O que é PfSense?

O pfSense é um dos mais conhecidos e provavelmente mais rico, em recursos, entre os sistemas para appliance pré-configurado, pronto amigável, amistoso e facilitado uso por interface Web de uma versão customizada do FreeBSD que oferece inúmeros recursos, focado para ambiente de roteamento e firewalling, bem como segurança de networking, com excelente solução para VPN, entre outros diversos recursos. É um projeto decendente do famoso m0n0wall, e que provavelmente, você já ouviu falar. Ao lado do (mais específico) FreeNAS, e recentemente colocado por Patrick Tracanelli na FUG o artigo sobre o AskoziaPBX, são os principais e grandes projetos derivados do m0n0wall.

Características

PfSense inclui a maior parte das características disponíveis em firewalls comerciais de alto custo, e algumas a mais em muitos casos. A seguir está uma lista de recursos disponíveis na versão 1.2 do pfSense. Todas estas configurações estão disponíveis via interfase web, sem tocar em nada na linha de comando.

Além dos recursos, esta página inclui todas as limitações do sistema de que temos conhecimento. À partir da nossa experiência e a contribuição das experiências de milhares de nossos usuários, nós entendemos muito bem o que o software pode ou não fazer. Todo pacote de software tem limitações. O que nos diferencia dos outros é que nós as comunicamos claramente. Convidamos também as pessoas a contribuir para ajudar a eliminar essas limitações. Muitas das limitações constantes são comuns a vários sistemas de código aberto e firewalls comerciais. Limitações já corrigidas no código que vai se tornar o próximo grande lançamento serão divulgadas.

Firewall

  • Filtragem por endereço IP de origem e destino, protocolo IP, porta de origem e destino para tráfego TCP e UDP
  • Capaz de limitar as conexões simultâneas para cada regra
  • pfSense utiliza p0f, um avançado utilitário de detecção de Sistemas Operacionais e Redes que lhe permite filtrar conexões baseado no Sistema Operacional que a iniciou.Deseja permitir acesso de máquinas Linux e FreeBSD à internet, mas bloquear de máquinas Windows? O pfSense pode fazê-lo (entre muitas outras possibilidades) passivamente detectar o sistema operacional em uso.
  • Opção para registrar (log) ou não registrar o tráfego correspondente a cada regra.
  • Política de roteamento altamente flexível, sendo possível selecionar o gateway associado com a regra (para balanceamento de carga, failover, múltiplas WAN, etc)
  • Permite criação de grupos de IPs, redes e portas e usá-los na criação de regras. Isso ajuda a manter limpas suas regras de firewall e de fácil compreensão, especialmente em ambientes com múltiplos IPs públicos e diversos servidores..
  • Capacidade para operar em modo transparente na camada 2 – pode ligar interfaces em modo bridgee filtrar o tráfego entre elas, podendo configurar um firewall sem endereço IP (embora você provavelmente queira um IP para fins de administração)
  • Normalização de pacotes – Descrição da documentação do PF scrub – “scrubbing” é a normalização de pacotes para que não haja ambiguidades na interpretação pelo destino final do pacote. A diretivascrub também remonta pacotes fragmentados, protegendo alguns sistemas operacionais de algumas formas de ataque, e descarta pacotes TCP que têm combinações de flag inválidas
    • Ativado por padrão no pfSense.
    • Pode ser desabilitado, se necessário. Esta opção causa problemas para algumas implementações de NFS, mas é seguro e deve ser deixado habilitado na maioria das instalações
  • Desativar filtro – você pode desligar o filtro de firewall completo se você deseja transformar pfSense em um roteador puro..

Tabela de Estados

A tabela de estados do firewall mantém informações sobre as conexões de rede abertas. O pfSense é um firewall completo, por padrão, todas as regras são stateful.

A maioria dos firewalls têm a capacidade de controlar com precisão a sua tabela de estados. O pfSense tem inúmeros recursos, possibilitando o controle granular de sua tabela de estados, graças às habilidades do PF do OpenBSD.

  • Tamanho da tabela de estados ajustável – existem várias instalações de produção pfSense usando centenas de milhares de membros. O tamanho padrão da tabela de estados é de 10.000, mas pode ser aumentada em tempo real para o tamanho desejado.Cada estado tem cerca de 1KB de memória RAM, você deve ter em mente o uso de memória na hora de dimensionar a sua tabela de estados e não definí-la arbitrariamente alta.
  • Baseado por regra:
    • Limite de conexões simultâneas de clientes
    • Limite de estados por host
    • Limite de novas conexões por segundo
    • Definir timeout de estado
    • Definir tipo de estado
  • Tipos de estados – O pfSense oferece múltiplas opções para manipulação dos estados.
    • keep state – Funciona com todos os protocolos. Padrão para todas as regras
    • Modulate state – Funciona apenas com TCP. O pfSense irá gerar uma Seqüência Inicial Numérica (ISNs) para o host.
    • Synproxy state – Faz um proxy das conexões TCP de entrada, serve para proteger os servidores de ataques de TCP SYN falsos. Esta opção inclui a funcionabilidade de keep statemodulate state combinadas.
    • Nenhum – Não mantém nenhuma entrada na Tabela de Estados para este tráfego. Isso é muito pouco desejável, mas está disponível porque pode ser útil em algumas circunstâncias limitadas..
  • Opções de otimização da Tabela de Estados – O PF oferece quatro opções para a otimização da tablea de estados..
    • Normal – O algoritmo padrão
    • Alta latência – Útil para links de alta latência, como conexões via satélite. Expira conexões inativas mais tarde que o normal..
    • Agressivo – Expira conexões ociosas mais rapidamente. Uma utilização mais eficiente dos recursos de hardware, mas pode derrubar conexões legítimas..
    • Conservador – Tenta evitar quedas de conexões legítimas, em detrimento do uso de memória e maior utilização da CPU.

Network Address Translation (NAT)

  • Redirecionamento de Portas, incluindo faixas e a utilização de múltiplos IPs públicos.
  • Redirecionamento 1:1 para o IP ou sub-redes inteiras..
  • NAT de saída
    • A configuração padrão mascara todo o tráfego de saída usando o endereço IP da interface WAN. Em cenários com múltiplas WANs, as configurações padrão fazem NAT do tráfego de saída para IP utilizado na interface WAN..
    • As configurações avançadas de NAT de saída permitem que esse comportamento padrão seja desativado, e permite a criação de regras de NAT (ou nonat) muito flexíveis.
  • Reflexão NAT – Em algumas configurações, a reflexão NAT é possível para que os serviços possam ser acessados pelo IP público à partir de redes internas.

Limitações do NAT

  • Limitações para PPTP e GRE – O código que monitora o status no pf para protocolo GRE só pode controlar uma única sessão por IP público por servidor externo. Isto significa que se você usar conexões PPTP VPN, apenas uma máquina interna pode se conectar simultaneamente a um servidor PPTP na internet. Mil máquinas podem conectar até mil diferentes servidores PPTP, mas um simultaneamente a um único servidor. O único jeito disponível de driblar essa situação é usar múltiplos IPs públicos no seu firewall, um por cliente, ou usar múltiplos IPs públicos no servidor PPTP externo. Este não é um problema com outros tipos de conexões VPN. Uma solução definitiva para isso está em desenvolvimento.
  • Limitação SIP – Por padrão, todas as portas TCP e UDP com tráfego diferente SIP e IPsec tem a porta de origem sobrescrita. Mais informações podem ser encontradas na documentação sobre portas estáticas. A porta de origem é sobrescrita pois é assim que o PF gerencia qual IP interno fez a ligação ao servidor de dados externo, e todo o tráfego SIP utiliza a mesma porta de origem, apenas um dispositivo SIP pode se conectar simultaneamente a um único servidor na internet. A menos que os seus dispositivos SIP possam operar com a porta de origem sobrescrita (a maioria não pode), você não pode usar vários telefones com um único servidor sem usar um IP público específico por aparelho. O pacote sipproxd agora fornece uma solução para este problema no pfsense 1.2.1 e superior.
  • Limitações da reflexão NAT – Reflexão NAT só pode ser usado com intervalos de portas menores de 500 portas, e não pode ser usado com hosts 1:1 NAT..

Redundância

CARP do OpenBSD permite falha do hardware. Dois ou mais firewalls podem ser configurados como um grupo failover. Se uma interface, principal ou primária, fica offline completamente, a interface secundária é ativada, o pfSense também inclui capacidades de sincronização de configuração, para que você faça as alterações de configuração no primário elas sejam sincronizadas automaticamente o firewall secundário.

pfsync garante a tabela de estados do firewall seja replicada para todos os firewalls configurados no failover. Isto significa que as conexões existentes serão mantidas em caso de falha, que é importante para evitar quedas nas conexões ativas.

Limitações

  • Só funciona com IPs estáticos públicos, não funciona com DHCP, PPPoE, PPTP ou WANs tipo BigPond (será resolvido em uma versão futura)
  • Requer um mínimo de três endereços IP públicos (será resolvido em uma versão futura)
  • Os firewalls de backup ficam inativos (failover ativo-passivo), cluster do tipo ativo-ativo é possível neste momento
  • Failover não é instantâneo, demora cerca de 5 segundos para elevar uma máquina de backup ao status de master. Durante esse tempo, o trânsito não será aprovado, mas os estados existentes mantém a conectividade após o processo de failover estar concluído. Essa interrupção de cinco segundos durante uma falha sequer é perceptível na maioria dos ambientes.

Balanceamento de carga

Balanceamento de carga de saída

Balanceamento de carga de saída é utilizado com várias conexões WAN para fornecer balanceamento na carga e failover. O tráfego é direcionado para o getaway desejado ou um pool de balanceamento de carga, configuração feita para cada regra de firewall

Balanceamento de carga de entrada

Balanceamento de carga de entrada é usado para distribuir a carga entre vários servidores, isto é comumente usado em servidores web, servidores de email e outros. Os servidores que não respondem às solicitações ping ou conexões da porta TCP são removidos do pool.

Limitações
  • Nem todo os recursos do OpenVPN são suportados, suporte para praticamente e todos os recursos VPN serão incluídos na próxima versão.
  • Filtragem de Tráfego OpenVPN ainda não é possível. O suporte está no 2.0

VPN

O pfSense oferece três tipos de conexões para VPN, IPsecOpenVPN, e PPTP.

IPsec

IPsec permite conexão com qualquer outro dispositivo que suporte o seu protocolo. É normalmente usado para conexões lan-to-lan com outras instalações de pfSense, outro firewalls de código aberto (m0n0wall, etc.) e a maioria das soluções comerciais de firewall (Cisco, Juniper, etc.). Ele também pode ser usado para conexões com equipamentos móveis.

Limitações
  • NAT-T não é suportado, o que significa que clientes móveis que estão atrás de um NAT não podem se conectar. Isto rotna o pfSense inutilizável com equipamentos móveis com suporte à IPsec. OpenVPN ou PPTP são uma solução melhor para esses casos.
  • Apenas uma das pontas de um túnel IPsec pode usar endereço IP dinâmico.
  • Albumas funções avançadas do ipsec-toolsnão são suportadas ainda , incluindo DPD, XAuth, NAT-T, e outras.

OpenVPN

OpenVPN é uma solução de VPN flexível, com bom suporte à SSL que é suportado por uma vasta lista de Sistemas Operacionais. Veja o site do OpenVPN para mais detalhes.

Limitações
  • Nem todas as opções do OpenVPN são suportadas ainda. O suporte será adicionado na próxima versão do pfSense.
  • Filtrar pacotes do tráfego OpenVPN ainda não é suportado, o suporte será adicionado à versão 2.0 do pfSense.

Servidor PPTP

PPTP é uma opção popular de VPN pois muitos Sistemas Operacionais possuem em sua instalação um cliente PPTP, incluindo todas as versões de Windows desde o 96 OSR2. Veja this Wikipedia article para mais informações sobre o protocolo PPTP.

O servidor PPTP do pfSense pode usar uma base local de usuários ou um servidor RADIUS para autenticação. RADIUS accounting é também suportado. As regras de firewall da interface PPTP controlam o tráfego iniciado pelos clientes PPTP.

Limitações

  • Devido às limitações no NAT do pf, quando um servidor PPTP é habilitado, clientes PPTP não podem usar o mesmo IP público para conexões de saída PPTP. Isto significa que se você possui apenas um IP público, e usa um servidor PPTP, clientes PPTP dentro da sua rede não irão funcionar. A solução possível seria usar um segundo IP público para mascarar a saída dos seus usuários internos. Veja também PPTP limitações na sessão NAT nessa página.

Servidor PPPoE

O pfSense oferece um servidor PPPoE. Para maiores informações sobre o protocolo PPPoE, veja este artigo na Wikipedia. Uma base de dados local pode ser usada, assim como RADIUS para autenticação com suporte opcional para accounting.


Reportando e Monitorando

RRD Gráficos

Os gráficos pfSense RRD matem o histórico das informações sobre o seguinte:.

  • Utilização da CPU
  • Throughput total
  • Estados do firewall
  • Throughput individual para todas as interfaces
  • Taxa de pacotes por segundo de todas as interfaces
  • Tempo de resposta a ping do(s) gateway(s) da interface WAN
  • Filas de traffic shaper em sistemas com priorização de tráfego permitido

Informação em tempo Real

Informações históricas são importantes, mas às vezes é mais importante ver as informações em tempo real.

Gráficos SVG estão disponíveis para mostrar em tempo real o throughput de cada interface.

Para usuários do traffic shapper a tela Status -> Filas permite visualização em tempo real da utilização de filas usando gráficos em AJAX.

A primeira página inclui indicadores AJAX, para exibir em tempo real uso de CPU, memória, swap em disco e tamanho da tabela de estado .

DNS Dinâmico

Um cliente DNS Dinâmico está incluído para que você possa registrar seu endereço IP público com um número de prestadores de serviço DNA dinâmico.

  • DynDNS
  • DHS
  • DyNS
  • easyDNS
  • No-IP
  • ODS.org
  • ZoneEdit

Um cliente também está disponível para RFC 2136 atualizações dinâmicas de DNS, para uso com servidores de DNS como o BIND, que suporta esta forma de atualização.

Limitações

  • Funciona apenas na interfase WAN primária – o suporte a multi-WAN está disponível na versão 2.0
  • Pode atualizar apenas uma conta com um único provedor. 2.0 permite a utilização de contas ilimitadas
  • Só funciona quando pfsense tem o IP público atribuído a uma de suas interfaces. Se você tiver um modem que obtém seu endereço IP público e dá ao pfSense um IP privado, o IP privado será registrado com o provedor. No 2.0, há uma opção para determinar o seu endereço IP públicp real e registrá-lo corretamente.

 

Captive Portal

O Captive Portal permite que você force a autentificação, ou o redirecionamento ara uma página de acesso à rede. Isto é comumente usado em redes de hotspot, mas também é amplamente utilizado em redes corporativas como uma camada adicional de segurança em wireless e acesso a internet. Para mais informações sobre a tecnologia Captive Portal em geral consulte o Artigo da Wikipédia sobre o tema. A seguir está uma lista de recursos no pfSense Captive Portal. .

  • Máximo de conexões simultâneas – Limita o número de conexões para o próprio portal por IP. Este recurso evita uma negação de serviço a partir de PCs clientes enviando tráfego repetidamente na rede sem autenticação ou clicando através da página inicial.
  • Idle timeout – Desligua os clientes que estão inativos por mais que o número definido de minutos.
  • Hard timeout – Força a desconexão de todos os clientes após o número definido de minutos.
  • Janela pop-up de logon – opção para abrir uma janela com o botão de log off.
  • Redirecionamento de URL – Após a autenticação ou clicando através do portal, os usuários podem ser redirecionados para uma URL definida.
  • Filtragem MAC – Por padrão, o pfSense fitra usando endereços MAC. Se você tem um sub-rede atrás de um roteador em uma interface com captive portal habilitado, cada máquina atrás do roteador será autorizada após um usuário ser autorizado. Filtragem por MAC pode ser desligada para cenários como este.
  • Opções de autenticação – há três tipos de autenticação disponíveis:
  • Sem autenticação – isso significa que o usuário clicará através de sua página no portal, sem informar suas credenciais.
  • Gerenciador local de usuários – um banco de dados local pode ser configurado e usado para autenticação.
  • Autenticação RADIUS – este é o método preferido de autenticação para ambientes corporativos e provedores de acesso. Ele pode ser usado para autenticar a partir do Microsoft Active Directory e vários outros servidores RADIUS
  • Recursos RADIUS
    • Re-autenticação forçada
    • Capaz de enviar atualizações de conta
    • Autenticação MAC do RADIUS permite o captive portal autenticar um servidor RADIUS usando o endereço MAC do cliente como nome de usuário e senha.
    • Permite a configuração de servidores redundantes RADIUS.
  • HTTP ou HTTPS – A página do portal pode ser configurada para usar HTTP ou HTTPS.
  • MAC e endereços IP – MAC e endereços IP podem fazer parte de uma whitelist para contornar o portal. Todas as máquinas com redirecionamento de portas NAT terão de contornar para que o tráfego de resposta não atinja o portal. Você pode desejar excluir algumas máquinas por outras razões.
  • Gerenciador de arquivos – Isso lhe permite fazer upload de imagens para uso em suas páginas do portal.

Limitações

  • Só pode ser executado em uma interface.
  • Portal “reverso”, ou seja, capturar o tráfego proveniente da internet que entra em sua rede, não é possível
  • Apenas IP e endereços MAC inteiros podem ser excluídos do portal, protocolos e portas individuais não.
  • Atualmente não compatíveis com regras multi-WAN. Esperamos que isto seja resolvido na versão 2.0.

DHCP Servidor e Relay

PfSense inclui as funcionalidades DHCP server e relay

E mais …

Esta não é de forma alguma uma lista conclusiva. Ela será ampliada conforme o tempo permitir.

 

Em breve postarei algumas configurações que uso no dia a dia.

Fonte: www.pfsense.org

About Jost Dayan

Jost Dayan, Analista de Suporte e consultor autônomo na área de infra-estrutura de servidores, sou fundador, criado e administrador do Fórum GuiaCNC e ShopCNC.(alguns tentam me tirar isso). Alguns dizem que sou louco de jogar pedra e rasgar dinheiro :-) - Nerd, Geek, Anti-Social (segundo minha esposa e alguns amigos) tenho apenas 3 amigos :-). Mais informações sobre a minha pessoa, pode acessar aqui -> http://www.jostdayan.com.br/sobre/