Você está na página 1de 62

Guia de Estudos

Curso pfSense Firewalling & Routing Administrator


Jackson Laskoski

Jackson Laskoski

Janeiro, 2012

Copyright 2012 Jackson Laskoski


Todos os direitos reservados. Nenhuma parte deste guia pode ser reproduzida, armazenada em um sistema de recuperao ou transmitida por qualquer forma ou por qualquer meio, sem a prvia autorizao por escrito do autor, exceto no caso
de breves citaes embutidas em artigos crticos ou revises. Este guia o resultado de uma compilao das experincias
tcnicas e mercadolgicas do prprio autor, alm de tomar como base uma srie de outras referncias bibliogrficas, mencionadas na seo Principais Referncias Bibliogrficas.
Todos os esforos foram realizados na preparao deste guia de estudos para garantir a preciso das informaes apresentadas. No entanto, a aplicao das informaes contidas no decorrer deste texto, bem como, suas respectivas conseqncias e implicaes so de responsabilidade nica e exclusiva do leitor. O autor no ser responsvel por quaisquer
danos causados ou supostamente causados direta ou indiretamente por este guia.

O que o pfSense?
O pfSense um software livre, licenciado sob BSD license (a marca pfSense em si tem Copyright
para o BSD Permiter), baseado no sistema operacional FreeBSD e adaptado para assumir o papel de
um firewall e/ou roteador de redes. Alm disso, ele possui atualmente dezenas de pacotes adicionais
que lhe permitem requisitar o posto de UTM (Unified Threat Management), j que podemos realizar
com o pfSense a imensa maioria das atividades que esperamos de sistemas com este ttulo.
O projeto pfSense foi concebido em meados de setembro de 2004 por Chris Buechler e Ullrich
Scott. Chris foi um colaborador assduo de cdigos por muito tempo do projeto m0n0wall. O m0n0wall
tem basicamente as mesmas pretenses tcnicas do pfSense, mas desde o seu surgimento at os
dias de hoje, focado em appliances.
O compromisso do m0n0wall sempre foi o de ser um sistema contido em si e voltado para dispositivos
que pudessem rod-lo diretamente da memria principal. No possvel instal-lo em um sistema de
arquivos comum em um disco rgido, por exemplo. Da muitas funes desejveis para sistemas mais
complexos (VPN, suporte a modems 3G, Autenticao de Usurios, Proxy, IDS, etc...) no podem ser
razoavelmente implementadas nele. Este foi o principal fator motivador para que Chris e Ullrich comeassem o projeto pfSense.
Sendo um projeto popular com mais de 1 milho de downloads desde o seu incio, a qualidade do pfSense pode ser comprovada pelas inmeras instalaes que vo desde pequenas redes grandes
corporaes, universidades e redes governamentais onde a segurana e robustez so fundamentais.
Curiosidade Saiba mais sobre a escolha do nome pfSense aqui: http://blog.pfsense.org/?p=114

O que mudou do pfSense 1.2.3 para a verso 2.0?


Durante vrios anos o pfSense manteve como sua verso estvel a 1.2.3. Estatsticas recentes do
conta de que boa parte da base instalada do pfSense no mundo ainda roda esta verso em produo.
Foi um longo perodo de desenvolvimento/homologao de cdigos e muito esforo do core team e da
comunidade pfSense em geral, mas em 2011 ns tivemos o lanamento da verso 2.0 final do pfSense
- que trouxe consigo um verdadeiro turbilho de novidades.
Na prtica o changelog to extenso, que ficaria mais simples citarmos o que no mudou de uma verso pra outra - Tanto verdade, que no possvel fazermos downgrade da verso 2.X para a
verso 1.2.3 ou anteriores. A lista completa com os novos recursos da srie 2.X pode ser conferida
na ntegra atravs do endereo eletrnico:
http://doc.pfsense.org/index.php/2.0_New_Features_and_Changes.
Alm dos novos recursos e a incorporao de pacotes novos ou nas suas verses mais recentes, o
pfSense corrigiu e aprimorou muito do seu cdigo da srie 1.2.X. No obstante, agora baseado na
verso 8.1 do FreeBSD, o que lhe deu uma compatibilidade de hardware e lhe garantiu uma robustez
muito maior do que seu antecessor (que baseado no FreeBSD 7.2). Olhando para o futuro, a verso
2.1 que provavelmente ser lanada entre 2012 e 2013 ser totalmente baseada no recm lanado
FreeBSD 9.0.

Antes de Instalar o pfSense...


O pfSense usado em quase todos os tipos de ambientes de redes que se possa imaginar. A
implantao mais comum do pfSense como um firewall de permetro, com uma conexo ligada
Internet e uma com a rede interna. Ele suporta vrias ligaes com Internet, bem como mltiplas
interfaces internas.
Compatibilidade de Hardware
Atualmente o pfSense 2.0 est disponvel nas arquiteturas de i386 (32 bits) e amd64 (64 bits) para
uma instalao completa e incorporada. Se voc no souber qual verso usar, ento use i386. a
arquitetura mais madura e bem testada, e ir funcionar em ambos os sistemas de 32-bit e 64-bit. Os
arquivos do Live CD so nomeados pfSense-2.0-RELEASE-arch.iso.gz onde arch i386 ou amd64.
Voc tambm pode obter o pfSense j incorporado uma mquina virtual VMware, pronto para ser
startado (at o presente momento, apenas o pfSense 1.2.3 est disponvel neste formato no site oficial
do projeto).

Nota importante sobre compatibilidade de hardware: Antes de adquirir ou selecionar o hardware


que ir rodar o pfSense, no deixe de checar a compatibilidade em nvel de drivers. O pfSense
uma soluo totalmente baseada no sistema operacional FreeBSD e mantm consigo todos os
drivers deste SO. A verso 1.2.3 do pfSense baseada no FreeBSD 7.2 J a verso 2.0 baseiase no FreeBSD 8.1 e a verso 2.1 (que neste exato momento est em franco processo de
desenvolvimento), utilizar muito provavelmente a recm lanada verso 9.0 do FreeBSD.
Para

checar

lista

de

compatibilidade

de

drivers,

visite

site

oficial

do

projeto

FreeBSD:

http://www.freebsd.org/releases/8.1R/hardware.html

Requisitos mnimos
Os requisitos mnimos que ir ser apresentado no so adequados para todos os ambientes de
implementao do pfSense.
Instalao Direta

CPU Pentium 100 Mhz

RAM 128 MB
3

1 GB para a instalao inicial no HD

Live CD

Drive de CD-ROM

Drive de USB Flash ou unidade de disquete para armazenar arquivos de configurao

Consideraes no nvel de dimensionamento de hardware


Com relao ao dimensionamento de hardware, h dois pontos em que devemos prestar muita
ateno:

Rendimento necessrio

Recursos que sero utilizados

Rendimento necessrio:
Este rendimento necessrio, est ligado a utilizao da placa de rede, para que ela vai ser utilizada,
qual a capacidade de transferncia de arquivos dentre outras necessidades.

20/10 Mbps - Nada menos que 266 MHz CPU

21-50 Mbps - Nada menos que 500 MHz CPU

51-200 Mbps - Nada menos do que 1.0 GHz CPU

201-500 Mbps - O hardware do servidor com adaptadores de rede PCI-X ou PCI-e ou hardware

de novos desktops com adaptadores PCI-e de rede. Nada menos do que 2.0 GHz CPU

501 + Mbps - o hardware do servidor de classe com PCI-X ou adaptadores PCI-e de rede. No

Inferiores a 3,0 GHz CPU

Recursos que sero utilizados:


Esta parte est ligada diretamente aos servios e recursos que sero disponibilizados pelo pfSense
aos segmentos de rede em que est conectado. comum encontramos ambientes complexos com
hardwares rodando pfSense sub-dimensionados. Nestes casos a performance e a coerncia dos
servios que rodam sob o pfSense sero negativamente afetados.
Por exemplo: Instalar/Rodar OpenVPN + Squid + SquidGuard + Captive Portal + Snort num setup de
hardware equivalente a configurao mnima (Pentium 100 com 128MB de memria RAM), certamente
no ser vivel.

Instalando o pfSense...
Efetuando o download da imagem correta
Para um download correto, acesse o site http://www.pfsense.org e clique em Downloads. Aps ter feita
essa etapa inicial, na pgina de Downloads clique em here on the mirrors (aqui nos espelhos) na
parte de New Installs, caso tenha dvida sobre a mais nova verso do pfSense, clique em Versions
(Verses) para ver qual a mais nova verso do pfSense disponvel, para um melhor desempenho.
Neste exato momento a verso 2.0.1 do pfSense a mais recente.

Depois de ter clicado em ''here on the mirrors'', voc ser direcionado para outra pgina, onde ir fazer
a escolha de um local geograficamente mais prximo a voc. Logo aps a seleo do local, aparecer
um diretrio com uma listagem dos arquivos para download do pfSense. Preferencialmente, baixe
arquivos com as extenses .iso, tambm h arquivos com extenses .md5, estes arquivos contm um
hash da ISO utilizado para verificar se o download foi finalizado com sucesso e est ntegro/confivel.

Para fazer a verificao da integridade do download .md5 finalizado, execute o seguinte comando no
terminal de qualquer distribuio Linux (os sistemas GNU Linux fornecem o aplicativo md5sum), por
exemplo:

:~$ md5sum /<caminho>/pfSense-2.0-RELEASE-i386.iso.gz

J nos sistemas Windows, podemos utilizar tambm o mesmo aplicativo disponibilizado para sistemas
Linux, o md5sum, temos que efetuar o download desse aplicativo e fazer a instalao. Finalizada a
instalao, seguimos para o Prompt de comando do Windows e executamos o seguinte comando:

>md5sum -b pfSense-2.0-RELEASE-i386.iso.gz

Para instalaes embarcadas, baixe o arquivo com extenses .img.gz. Este arquivo est compactado
com formato Gzip, no precisa se preocupar com a descompactao, porque o processo de instalao
j toma conta deste recado.
Nota: O procedimento de gravao ir depender do sistema operacional e do software
disponvel.

Instalando pelo CD
Aps o download da imagem .iso e gravado em um CD, hora de dar Boot para que o sistema
inicialize a partir do drive de CD, assim, damos incio ao processo de instalao do sistema pfSense.
Atribuio de interfaces de rede
Aps o Live CD ter inicializado depois da configurao de ordem do Boot, o sistema ir localizar e
apresentar a lista de interfaces de rede e seus respectivos endereos MAC (endereo fsico de 48bits
gravado em fbrica em cada interface de rede), ir tambm mostrar o estado do link com uma das
descries Up ou Down, caso um link seja detectado em alguma das interfaces, ele ir mostra o
estado da interface como Up, do contrrio, ir mostrar Down. Antes da atribuio de funes das
placas de rede, o sistema faz a seguinte pergunta: ''Do you want to set up VLANs now [y|n]?'' (Voc
deseja configurar VLANs agora [sim|no]?), nesta opo voc digita a letra n para especificar que
no quer configurar VLANs agora e pressione Enter para confirmar, do contrrio, digite y.

Feito o procedimento de resposta para configurao de VLANs, o prximo passo atribuir as funes
de WAN, LAN e opcional para cada uma das placas de rede existentes no sistema. A partir da verso
2.0 o pfSense passa a admitir uma nica interface de rede (o que no parece ser muito til para um
firewall/router, claro).

Para a configurao de funes das interfaces de rede, primeiramente o sistema pede que
6

especifiquemos a placa de rede que est diretamente conectada a WAN com a seguinte frase: ''Enter
the WAN interface name or 'a' for auto-detection:'' (Digite o nome da interface WAN ou 'a' para autodeteco:).

Caso saiba qual placa de rede est ligada diretamente WAN, voc pode especific-la usando uma
das descries dispostas pelo prprio sistema como le0, le1 e le2 (a nomenclatura baseada no
fabricante da interface de rede). A prxima configurao solicitada a indicao da interface de rede
que est conectada LAN com a seguinte frase: ''Enter the LAN interface name or 'a' for autodetection:'' (Digite o nome da interface LAN ou 'a' para auto-deteco:). Neste ponto, segue-se o
mesmo preceito utilizado para atribuir o link de dados WAN, respeitando-se as especificidades do
link LAN, claro.

Quando voc tem mais de duas placas de rede disponveis no seu sistema, aps voc ter configurado
qual placa de rede vai responder pela WAN e a outra como LAN, ir aparecer uma terceira opo de
configurao para uma interface opcional, no nosso caso (mquina utilizada como base para
confeco deste documento) temos trs placas de rede disponveis no servidor, a nica que restou
sem configurao foi a ''le2'', por isso, vou atribuir a essa placa de rede como a opcional.

Feito a configurao devida, o sistema ir mostra as seguintes frases de acordo com a imagem abaixo.

De acordo com a pergunta: ''Do you want to proceed [y|n]?'' (Voc deseja continuar [sim|no]?),
verifique se a configurao esta da forma esperada, caso esteja, digite 'y' e pressione Enter, do
contrrio digite 'n', pressione Enter e o processo de configurao ir voltar para o incio (aqui voc ter
a chance de repetir e acertar a atribuio dos links para as placas de rede).

Instalando no Disco Rgido


Feito o processo de atribuio das interfaces de rede, vamos dar incio ao processo de instalao do
pfSense. Finalizado todos os procedimentos citados acima, aparecer a seguinte tela com tarefas
adicionais que podem ser realizadas de acordo com a imagem abaixo:

Para iniciar a instalao do pfSense no Disco Rgido, escolha a opo: ''Install pfSense to hard drive,
etc.'' (Instale o pfSense no disco rgido, etc.) digitando o nmero 99 e pressionando Enter.
Podemos ver abaixo a prxima tela deste wizard:

Esta tela est relacionada a fazer ajustes do console, aconselhvel para a maioria dos casos que se
deixe as trs primeiras opes como ''Default'' (Padro). Se este for o seu caso, direcione a opo de
seleo com as setas do teclado at a opo ''Accept these Settings'' (Aceitar essas configuraes).

Na prxima janela sero apresentadas vrias opes de instalao. Caso tenha apenas um disco
rgido disponvel em seu sistema e voc no tenha nenhuma especificidade no seu ambiente
computacional, escolha a opo ''Quick/Easy Install'' (Instalao Rpida/Fcil), escolhendo essa
opo, o processo de instalao ir aceitar todas as opes de configurao como ''Default'' (Padro),
uma caixa de dilogo para a confirmao deste tipo de instalao ser apresentada, pressione OK
para continuar o processo.

Optando pelo processo de instalao quick/easy install, o processo s vai parar quando for pedir que
tipo de Kernel ser instalado no sistema. Daqui em diante todo o processo bastante automatizado
neste perfil de instalao.

Ao escolher e a opo ''Custom Install'', o primeiro passo selecionar o disco rgido para que o
pfSense seja instalado. Se a comunicao entre o pfSense e a sua controladora de disco ocorrer
normalmente, todo(s) disco(s) rgido(s) conectado(s) ao computador/vm devem ser exibidos na
seqncia. Neste ponto, voc deve selecionar a unidade que deseja instalar o sistema e pressionar
Enter para prosseguir com a instalao.

A prxima janela est relacionada formatao do disco rgido escolhido na etapa anterior. Esta janela
faz a seguinte pergunta ''Would you like to format this disk?'' (Gostaria de formatar este disco?), caso
10

queira realmente formatar o disco selecione a opo ''Format this Disk'' (Formatar este disco) e
pressione Enter, caso no queira formatar por conter informaes de sua autoria, selecione a opo
''Skip this step'' (Pule esta etapa).

Neste caso, fizemos a escolha da opo ''Format this Disk'' (Formatar este disco), para mostrarmos
como funciona. Quando pressionado Enter, seguimos para a prxima etapa, onde podemos
eventualmente fazer a escolha do tamanho da(s) partio(es). Neste ponto, na maioria das vezes o
padro estipulado pelo wizard de instalao atende a grande parte dos casos, mas pode ser
importante substituir esses valores para casos mais especficos. Feita a escolha da capacidade,
selecione ''Use this Geometry'' (Use esta Geometria) e pressione Enter.

11

Na prxima tela voc poder confirmar as suas configuraes e, se tudo estiver de acordo, escolher a
opo ''Format ad0'' (Formatar ad0). Do contrrio, voc pode voltar atrs selecionando ''Return to
Select Disk'' (Retornar para seleo de disco).

A prxima etapa faz a seguinte pergunta ''Partition Disk?'' (Particionar o Disco?). Servidores que fazem
muito cach HTTP, por exemplo e precisam do soft-updates ativado, exigem um particionamento
customizado. Voc tambm pode querer manter o pfSense junto de outro sistema operacional (no
mesmo disco rgido). Estes so apenas 2 exemplos que lhe dariam indicao de efetuar o
particionamento manual de discos. Para tanto, basta selecionar ''Partition Disk'' (Particionar disco).
Para aceitar os padres do wizard e prosseguir com a instalao sem customizar particionamento de
disco, selecione a opo ''Skip this step'' (Pule esta etapa).

12

A prxima tela est relacionada a instalao dos ''Bootblocks'' (Blocos de arranque), isto o que
permitir a inicializao do disco rgido. Por ''default'' (padro) o ''Bootblocks'' j est selecionado para
o disco correto. Com relao a opo ''Packet Mode'' (Modo de pacote), voc s ir ativar este modo,
caso o hardware de seu servidor seja atual, do contrrio deixe-a desmarcada. Para confirmar a
instalao destes incrementos, selecione a opo ''Accept and Install BootBlocks'' (Aceitar e instalar
BootBlocks).

Na janela seguinte, faz-se necessrio escolher a partio que vai receber o pfSense. Obviamente que
as opes relacionadas aqui, so o produto de um eventual particionamento manual. Se voc no
montou nenhum esquema especfico de particionamento, basta escolher a nica partio que se
apresenta.

13

Perceba que prxima tela (''Select Subpartitions''), mesmo sem ter criado uma partio especfica nas
etapas anteriores, o wizard sugere a adio de um espao reservado somente para a swap. Esta
uma caracterstica tpica e importante em sistema *NIX. Selecione a opo ''Accept and Create''
(Aceitar e criar).

Agora chegou a hora de escolher o tipo de Kernel que ser utilizado em seu sistema. Pr imeiramente
precisamos saber do que se trata um Kernel. De forma rpida e simples, o Kernel controla todo o
hardware do computador, cabendo a ele as tarefas de permitir que todos os processos sejam
executados pela CPU (Unidade central de processamento). Caso o seu servidor tenha mais de uma
CPU, escolha a opo ''Symmetric multiprocessing kernel (more than one processor)'' (Kernel de
multiprocessamento simtrico (mais de um processador)), do contrrio, escolha a opo ''Uniprocessor
kernel (one processor)'' ( Uniprocessador do kernel (um processador)). Feita a escolha, pressione
Enter para finalizar a instalao.

14

Finalizado, selecione a opo ''Reboot'' para reinicializar o sistema e pressione Enter para concluir.

15

Atualizao do pfSense
Todo sysadmin sabe que manter os sistemas operacionais dos seus servidores sempre devidamente
atualizados, com todos os paths de correo e segurana aplicados, salvo rarssimas excees,
absolutamente importante para manter a disponibilidade de todos os servios. Com o pfSense
isso naturalmente no diferente Portanto, procure rodar sempre a ltima verso estvel da
ferramenta, mas tome nota de alguns cuidados essenciais para que o update do seu pfSense no se
transforme em uma dor de cabea (principalmente se voc estiver realizando upgrade da verso 1.2.X
para 2.X):

1. Faa sempre um backup completo do XML em produo (este tpico abordado mais adiante
neste material);
2. Retire todos os acentos e caracteres especiais das descries de regras e aliases (existe um
pacote no pfSense 1.2.3 chamado "Upgrade Tool" que ajuda a identificar estes pontos);
3. Desinstale todos os pacotes adicionais;
4. Execute o upgrade via console ou via interface web (GUI);
5. Finalmente faa a reinstalao dos pacotes adicionais que rodam no seu cenrio (isso quase
sempre automtico, durante o primeiro boot).

Download do arquivo para atualizao


Acesse

URL

http://www.pfsense.org/mirror.php?section=updates

escolha

um

MIRROR

geograficamente mais prximo de voc. Tal qual o processo de download da imagem ISO, voc deve
selecionar o arquivo da verso condizente com o seu ambiente e propsitos. Embora no
obrigatrio, aconselhvel que voc execute as atualizaes intermitentes do sistema. Por exemplo,
para atualizar o seu pfSense 1.2.3, primeiro faa o upgrade para a verso 2.0RC e s depois repita o
processo para a verso 2.0.1 (sempre lembrando das premissas elencadas logo acima). Os arquivos
para atualizao do pfSense possuem a extenso .TGZ.

Atualizando o Firmware manualmente


Para atualizao do sistema manualmente, siga para o menu ''System->'Firmware'' e clique na aba
''Manual Update'', na seo ''Invoke pfSense Manual Upgrade'' (Invocar atualizao manual do
pfSense) clique em ''Enable firmware upload'' (Permitir o upload do firmware), em ''Firmware image
file:'' clique em ''enviar arquivo'', selecione o arquivo para atualizao com a extenso .TGZ obtido
anteriormente e finalmente clique em ''Upgrade firmware''.
16

Atualizando automtica do sistema via GUI


O processo de atualizao automtica no pfSense muito simples e completamente on-line, ou seja,
quando configurada, a prpria ferramenta (via Dashboard) avisa o sysadmin que precisa ser atualizada
e durante o processo o pfSense se conecta ao repositrio na Internet, efetua download da atualizao
e a executa.

Na prtica, voc s precisa escolher a arquitetura em que o pfSense est rodando (i386 ou amd64) e
informar a URL do repositrio (conforme tela abaixo). Depois s clicar na aba Auto Update e
iniciar/acompanhar o processo.

Atualizao do sistema via console


O processo de upgrade do pfSense via console se difere do mencionado anteriormente, somente
porque se d atravs da shell texto do sistema. Na prtica, os mtodos e os conceitos so exatamente
iguais. Voc pode executar a atualizao via console tanto pelo mtodo manual (onde voc informa o
local onde est o arquivo TGZ que voc baixou do repositrio), quanto automtico (onde voc
especifica a URL do repositrio).

Para realizar o update via console, voc pode acessar fisicamente o servidor (estando em enfrente ao
teclado e mouse) ou fazendo uma conexo SSH. Neste ponto, basta digitar a opo 13 e seguir com
o processo (conforme tela abaixo).

17

18

Configuraes Bsicas
Uma vez que o pfSense est instalado em seu equipamento ou vm, voc j pode efetuar o acesso
remotamente, a partir de outro micro da rede local, sua interface administrativa web (GUI). O
pfSense vem com algumas configuraes pr-definidas que facilitam este processo:

Endereo IPv4 da interface LAN: 192.168.1.1/24

Usurio Administrador: ''admin''

Senha: ''pfsense''

muito provvel que este setup inicial de configurao de endereamento IP no atenda ao vosso
cenrio. No raras vezes, a sua rede LAN est em outro escopo - o que lhe obrigar alterar o IP da
LAN. No obstante, voc tambm vai querer alterar/incluir um endereo IP na sua conexes WAN (se
for esttico, claro), afinal o papel comum de um firewall/router justamente ficar entre a sua Intranet e
sua Extranet. Para realizar estes procedimentos, acesse o console do sistema e escolha a opo 2
''Set interface(s) IP address'' (Conjunto de interface (s) endereo IP) depois informe o nmero da
respectiva interface que voc quer configurar e digite o endereo de host IPv4 que ser atribudo
(conforme tela abaixo).

Imediatamente aps a configurao do endereo IP da interface LAN, o wizard vai lhe questionar se
voc quer startar o servio de DHCP Server pra sua rede interna. Aqui obviamente que a resposta
deve variar de acordo com o vosso cenrio mas se sua resposta for y, poder configurar na
seqncia o comportamento do servio em si (conforme tela abaixo):
19

Configurando a interface WAN via WebGUI


Para configurar a sua interface WAN, pelo ambiente administrativo web, basta seguir os passos
mencionados abaixo. Veja que no pfSense voc pode ter quantas interfaces de rede (LAN, WAN,
DMZ) voc quiser. A limitao est no hardware e na capacidade de gerenciamento do FreeBSB
(que neste caso virtualmente infinito).

20

21

Uma vez conectado o cabo de rede, podemos verificar o status de conexo na porta WAN em Status |
Interfaces:

Configurando a interface LAN via WebGUI


Para configurar a sua interface LAN, pelo ambiente administrativo web, basta seguir os passos
mencionados abaixo. Voc pode ter seu pfSense ligado a vrios segmentos diferentes da rede local.
Inclusive pode utiliz-lo para implementar VLANs no seu ambiente computacional (para tanto, basta
configurar as respectivas interfaces Opt).

22

23

Configurando a interface OPT via WebGUI


Aqui voc vai configurar todas as interfaces de rede adicionais WAN e LAN. Voc pode utilizar este
recurso tanto para fazer com que seu pfSense se conecte a vrios segmentos da sua rede local, como
para fazer com que ele tenha vrios links de dados (WAN) ou DMZs.

24

Habilitando o Secure Shell (SSH)


O SSH um protocolo para acesso remoto seguro e outros servios contextualizados em redes
abertas. Ele prov uma camada de criptografia durante sua estadia no servidor, de modo que voc
possa efetuar acesso ao console do pfSense com menos preocupaes (j que preocupaes
fazem parte do dia-a-dia de qualquer syadmin). Para us-lo, voc precisa habilitar.

25

Configuraes Essenciais (DHCP + DNS)

Configurando o Servidor DHCP


O pfSense pode exercer o papel de servidor DHCP para qualquer segmento de rede que esteja
conectado. Em redes pequenas ou com poucos recursos, pode ser til integrar mais este servio ao
pfSense j guinando o seu trabalho para a concepo de um UTM e no mais um simples netfilter.
Em redes mais complexas ou que j tenham servidores DHCP, este recurso precisa ser avaliado.
Para efetuar a configurao do DHCP Server, obrigatrio que o seu pfSense esteja com IP fixo no
respectivo escopo.
O Exemplo abaixo aborda a configurao do servidor DHCP para a interface DMZ.

Criando um Servidor DHCP com Mapeamento Esttico


O mapeamento esttico permite que voc amarre um endereo IP a um host especfico, por
intermdio do endereo fsico da interface de rede (MAC ADDRESS). Ele s se aplica para as
interfaces que utilizam o servio de DHCP.

26

Especificando DNS Alternativo


Na maioria das vezes os servidores DNSs so fornecidos pelo seu provedor de aceso Internet ou
operadora de telefone. Neste sentido, por default no preciso definir nenhum DNS, porque
atribudo pelo prprio pfSense se a opo Allow DNS server list to be overridden by DHCP/PPP
on WAN estiver marcada. Mas no incomum os sysadmins preferirem informar manualmente os
servidores DNSs. Isso pode acontecer por vrios motivos, mas o principal deles utilizar servidores
mais rpidos e confiveis.

27

Configurando o recurso de DNS Forwarder


O DNS Forwarder permite que o PfSense haja como um servidor de DNS para a sua rede, com
uma srie de vantagens. Quando configurado, ele permite ao pfSense resolver as pesquisas DNS
usando o hostname obtido pelo servio de DHCP ou atravs das informaes inseridas
manualmente. O DNS Forwarder tambm pode encaminhar todas as pesquisas de DNS para um
determinado domnio especificado manualmente.

28

Configurando o recurso de DNS Dinmico


O pfSense possui integrao com os principais servios de DNS Dynamic existentes na
Internet - gratuitos ou proprietrios. Este recurso muito utilizado em links de dados que no
possuem um IP pblico fixo (ADSL domstica, por exemplo). Sempre que o endereo de IP da
interface muda, o pfSense automaticamente se conecta com o provedor de DNS dinmico
configurado (usando as credenciais cadastradas) e atualiza todos os dados.

Especificando um servio alternativo usando o RFC 2136


Adicionalmente aos servidores pr-cadastrados, voc tambm pode usar no pfSense qualquer
outro provedor de DNS dinmico - Desde que este obedea ao padro RFC 2136. Para faz-lo,
siga at Services | Dynamic DNS | na aba RFC 2136, em seguida preencha nos campos
apropriados os dados fornecidos pelo seu provedor de DNS dinmico.

29

30

Configuraes de Firewall
Trabalhando com Aliases
Um alias, como o prprio nome sugere, um pseudnimo, um apelido textual para valores diversos.
Em outras palavras, podemos considerar os Aliases como uma forma de trabalharmos com variveis
que podem referenciar, dependentemente do seu tipo, dezenas de IPs, URLs, portas de comunicao
ou redes inteiras. um jeito inteligente e racional de armazenar dados que vamos usar para compor
nossas regras de firewall, j que reduz exponencialmente o tempo e a complexidade de atualizao
destas rules.

Exemplificando:
Para demonstrarmos o poder do recurso do Alias, vamos usar um exemplo prtico. Digamos que a
nossa organizao tem um nico telefone IP que deve se comunicar com o nosso servidor VoIP
Portanto, precisamos criar uma regra que libere esta comunicao.
Exemplo desta regra sem a utilizao de Aliases:

Agora a mesma regra, usando Aliases:


31

Um exemplo ainda melhor, usando Sub-Aliases para uma regra mais genrica (vrios telefones IP):

O recurso de Sub-Aliases simplifica muito eventuais acrscimos, excluses ou alteraes nos IPs dos
telefones digitais que fazem parte da nossa regra:

Host Alias
Selecionando Host(s) como tipo do Alias, voc pode criar uma varivel que contenha um
ou mais endereos IPs.

32

Network Alias
Selecionando Network(s) como tipo do Alias, voc pode criar uma varivel que contenha
uma ou mais redes IP (na ntegra ou em intervalos):

Port Alias
Selecione Port(s) como tipo do Alias e informe um conjunto ou intervalo de portas de comunicao:

URL Alias
Selecionando URL como tipo do Alias voc pode especificar uma ou mais URL (aqui voc pode
informar uma URL completa). Selecionando URL Table como tipo do Alias, voc poder fornecer uma
URL (repositrio) que contenha uma lista grande de outras URLs ou endereos IPs/sub-redes, que
sero baixadas e importadas para compor a varivel em questo.

33

Usando o Alias:
Um Alias pode ser usado em qualquer lugar que voc veja uma caixa de texto na cor vermelha.
Basta comear a digitar o nome do Alias que o pfSense vai exibir todos os Aliases
correspondentes ao texto informado.

Importando dados em lotes no Alias


Para importar uma lista de vrios endereos IP, por exemplo, siga estes passos:

Criando NAT com regras de Port Forward


O Nat Port Forward recurso extremamente importante e utilizado em cenrios onde queremos
publicar na internet aplicaes e servidores que existem na nossa rede privada. O conceito bastante
simples e conhecido da maioria dos sysadmins vindos de outras plataformas operacionais. Na prtica,
o que fazemos realizar um SNAT, de modo que os pacotes com destino a uma determinada porta e,
sendo transportados por um determinado protocolo, que cheguem aos IPs pblicos do pfSense,
sejam redirecionados para o equipamento que atender a conexo em nossa LAN. No exemplo
abaixo, vamos efetuar um Nat Port Forward de conexes HTTP para um servidor na nossa rede local
previamente configurado para atender este tipo requisio.

34

Neste nosso exemplo, o trfego da conexo flui da seguinte forma:

A conexo gerada atravs da Internet (Interface: WAN)


A partir de qualquer cliente (Source) em qualquer porta (Source Port Range)

Com destino:

Nosso endereo de IP Pblico (Destination WAN address)


Com um pedido de website (Protocol: TCP, Destination Port Range:
HTTP)

Ser redirecionada para:

Um computador em particular na nossa LAN (Redirect Target IP: Webserver1)


Com a mesma solicitao (Protocol: TCP, Redirect Target Port: HTTP)

Port Redirection:
Uma regra de NAT comum encaminha uma conexo para um destinatrio na mesma porta lgica em
que foi solicitada (ou seja, Destination Port Range e Redirect target port se correspondem). No
entanto, no a nada que impea voc de redirecion-la para uma porta diferente. H basicamente
duas razes para voc querer fazer isso:
35

Segurana por Obscuridade: Todo mundo sabe que a porta padro HTTP a TCP/80, mas
vamos supor que voc tem um website secreto que voc no quer que seja acessado
facilmente. Voc pode encaminhar esta conexo para uma porta obscura (por exemplo:
54321). Neste exemplo, os internautas que quiserem acessar o seu site tero que digitar na
barra de endereos do navegador assim: http://www.exemplo.com:54321

Um nico endereo de IP pblico: Em ambientes menores com apenas um endereo


IP pblico, no possvel acessar duas mquinas da sua rede interna, a partir da
internet, atravs de uma conexo MS-RDP (TCP/3389). Neste exemplo voc pode
definir portas lgicas altas e distintas, que devero ser acionadas sempre que voc
queira acessar um, ou outro computador. Ambos os servidores Windows estaro
rodando o ambiente WTS na porta padro TCP/3389, e voc encaminhar as conexes
entrantes para o Server1 ou Server2, dependentemente da porta de origem:
Cliente TCP/50000 pfSense TCP/3389 Server1
Cliente TCP/50001 pfSense TCP/3389 Server2

NAT: 1:1
O NAT 1:1 pode ser muito til quando queremos fixar o mascaramento de uma determinada
estao ou rede local na Internet. Em outras palavras, quando temos o pfSense respondendo por
mais de um IP pblico na sua WAN (Virtual IPs), podemos utilizar um destes endereos para que
sempre seja usado na funo de NAT Outbound (NAT de sada) para uma determinada estao
ou servidor da nossa LAN. Um exemplo prtico seria especificarmos que o servidor de e-mails
192.168.0.5/24 deve sair para a internet, sempre mascarado pelo IP 200.200.200.2 Isso pode
facilitar a vida do syadmin quando do cadastro deste IP em recursos como SPF no servio de
DNS, por exemplo.

NAT: Outbound
O NAT Outbound (NAT de sada) o recurso co-irmo do NAT Port Forward (NAT de entrada). Ele
permite controlar como o trfego que est deixando o pfSense ser traduzido. Por padro o pfSense
aplica NAT automaticamente, ou seja, todo o trfego que chega por uma conexo do tipo LAN
traduzido para o endereo IP WAN antes de sair.
Existem muitas razes tcnicas que podem justificar a desativao do NAT Outbound automtico. Voc
pode querer que o trfego interno seja encaminhado para a WAN sem traduo porque suas estaes
j respondem por IPs pblicos e roteveis na Internet (aqui voc geralmente teria um roteador da
operadora/provedor na borda). Outro motivo plausvel quando voc quer forar o encaminhamento de
pacotes que teriam destino na web, para uma estao da rede local.
Para desativar completamente o NAT Outbound Automtico, siga at Firewall | NAT | Outbound e
clique em Manual Outbound NAT rule generation (AON - Advanced Outbound NAT). Em seguida,
elimine todas as regras que eventualmente apaream na tabela abaixo.
36

A partir de agora voc pode adicionar manualmente regras de NAT Outbound. Basta clicar clicar no
boto + para da tabela Mappings para comear a configurao do seu mapa esttico de traduo de
pacotes.

Criando regras de Firewall


O pfSense muito mais do que um simples Netfilter/Firewall, mas sem dvida alguma popular
justamente por este atributo. Isso acontece porque este foi o principal objetivo do projeto desde a sua
concepo. O conceito de Firewall est presente at mesmo no nome da soluo. pf uma
referncia ao termo Packet Filter (filtro de pacotes).
O Netfilter implementado pelo pfSense e herdado do prprio FreeBSD do tipo Statefull (Firewall de
Estado de Sesso), o que significa dizer que ele armazena o estado das conexes e filtra os pacotes
com base nesse estado. Existem basicamente trs estados para uma determinada conexo:
NEW: Novas conexes;
ESTABLISHED: Conexes j estabelecidas;
RELATED: Conexes relacionadas a outras existentes.
Ao especificarmos as regras de firewall no pfSense, muito importante lembrarmos que Source Port
Range quase sempre definida como any (qualquer uma) j que em geral as conexes so
geradas por portas aleatrias. Lembre-se que ao solicitar um site, voc est requisitado porta 80 no
servidor web, mas seu computador quem vai decidir que porta ser aberta para receber a o
resultado da requisio.
A ordem das regras do Firewall
A ordem em que as regras aparecem faz toda a diferena no comportamento do seu firewall. As
rules so interpretadas e julgadas sempre seqencialmente, da primeira para a ltima regra.
Isso quer dizer que se as condies da regra 1 forem satisfeitas, o pfSense a executa em
detrimento das demais. Em funo disso comum colocarmos as regras mais genricas
encabeando o nosso plano de regras. Para reordenar uma regra, selecione a rule em questo
e ento clique sob o boto (mo) na linha que voc deseja que fique imediatamente abaixo da
regra movida.

37

Duplicando regras de firewall


Este outro recurso extremamente popular no pfSense. Ele permite clonarmos uma regra
qualquer e alterarmos apenas os atributos que julgamos necessrio. Na prtica algo que nos
poupa tempo e possibilita reaproveitarmos parametrizaes j executadas. Para duplicar uma
rule basta clicar sob o respectivo boto +. Voc ser direcionado a uma tela idntica a de
criao de regra, porm com os dados clonados previamente preenchidos.

Recursos Avanados
A partir da verso 2.0, o pfSense incorporou uma srie de recursos condicionais avanados que
podem ser usados nas regras de firrewall. Na tela de criao/edio/clonagem de rules, agora temos
a seo Advanced Features com uma gama de recursos que podem ser especificados como
critrios para a execuo da regra. Se um recurso condicional avanado especificado, a regra s
ser executada se o mesmo for satisfeito. Dentre as opes podemos destacar:

Source OS: Esta opo ir comparar a fonte da conexo com sistema operacional do
dispositivo:

Diffserv Code Point: um mecanismo que visa fornecer CoS (Class of Service) de trfego de
rede. Ele fora a priorizao dos pacotes com base nos valores especificados:

Advanced Option: Permite aplicarmos filtros avanados sob pacotes IP (camada 3 do RM-OSI):

TCP Flags: Estes so bits de controle que indicam diversos estados de conexo ou
informaes sobre como um pacote deve ser tratado. Tambm conhecido como premissas de
conexo.

State Type: Especifica um mecanismo de rastreamento especial sobre o estado da conexo.

No XMLPRC Sync: Impede que a regra seja sincronizada com todos os ns do CARP:

38

Schedule: Adiciona um agendamento previamente cadastrado regra. Neste caso, a rule


ser vlida somente durante o perodo informado:

Gateway: Aqui podemos especificar um gateway previamente configurado no nosso sistema.


Este recurso ideal para quando queremos fixar a rota de sada de uma determinada conexo
ou aplicarmos LoadBalance/Failover (um grupo de gateways):

n/Out: Aqui podemos aplicar Limiters previamente cadastrados no sistema. Quando isso
acontece, o pfSense limita o consumo de banda, para a respectiva conexo/rule, nos valores
informados. In = Download / Out = Upload.

Ackqueue/Queue: Adiciona a conexo/rule a uma fila de Traffic Shaper previamente


configurada.

Layer7: Aplica um grupo de filtros de inspeo de camada 7 (camada de aplicao)


conexo/rule em questo. Este grupo precisa estar configurado previamente no sistema.

Trabalhando com Agendamentos


Os agendamentos ou schedules, como so conhecidos no pfSense, so aplicados basicamente nas
regras de firewall. Ns podemos criar vrios esquemas com faixas de horrios onde determinadas
rules so vlidas ou se invalidam. Um exemplo prtico criarmos uma regra em Firewall | Rules |
LAN que permita o acesso ao facebook.com pelos funcionrios da empresa somente durante o
horrio de almoo. Fora disso, a regra no vlida e o default (que seria negar este tipo de acesso)
aplicado.

39

40

Trabalhando com os Gateways


Um gateway um portal que liga duas redes distintas. Em infraestruturas de redes simples, onde
temos uma nica conexo WAN e um nica LAN, raramente precisamos alterar ou adicionar
qualquer configurao de gateways no pfSense. No entanto, em redes mais complexas que
possuem mais de uma conexo WAN ou se quer tirar proveito de algumas funcionalidades
avanadas (rotas estticas, por exemplo) comum definirmos gateways personalizados.

Grupos de Gateway
O pfSense 2.0 trouxe um novo conceito ao trabalharmos com grupos de gateways. Este
41

recurso nos permite juntar 2 ou mais gateways em grupos que podem ser invocados em regras
do firewall (na seo Advanced features da tela de criao/edio de regras). Dentro de
cada grupo, podemos definir a prioridade (Tier) que cada gateway ter quanto menor o Tier,
maior o peso/importncia do gateway dentro daquele grupo. Este esquema permite
implementarmos facilmente mecanismos de LoadBalance e FailOver com nossos links de
dados, agregando alta disponibilidade e racionalidade na utilizao dos mesmos pela rede
local.

Trabalhando com rotas estticas


As rotas estticas podem ser utilizadas para acessarmos redes que no so acessveis atravs do
default gateway (da WAN, por exemplo), mas podem ser alcanadas indiretamente atravs de uma
interface diferente (DMZ, por exemplo). Um case comum uma grande empresa com vrios
escritrios e usurios que usam uma impressora compartilhada. Aqui s precisamos criar uma rota
esttica no pfSense para a rede interna (na qual a impressora est conectada) ao invs de
configurarmos uma rota esttica diretamente em cada estao .
42

43

Configuraes de VPN (Virtual Private Network)


Criando VPN IPSec
O IPSEC um conjunto de protocolos (RFC 2401-2409). Com o IPSec utilizamos dois meios, AH Autenticao de cabealho garantindo a integridade e o ESP - Encapsulating Security Payload
criptografando os dados. IPSEC est entre os mais efetivos mtodos de se manter os dados seguros
durante a transmisso dos mesmos. Ele acaba prevenindo diversos tipos de ataque, entre eles
Spoofing Identity e o famoso Man-in-the-middle (algum capturando dados utilizando Sniffer).
Por estas razes, as VPNs do tipo IPSec so vastamente utilizadas na interligao entre filiais ou
campus de empresas. Este tipo de VPN, onde se busca conectar 2 ou mais stios geograficamente
distantes por meio da Internet pblica, conhecido tambm como VPN Site-to-Site.

44

45

Configurando o servio VPN PPTP


O servio permite que usurios externos estabeleam uma conexo segura e criptografada usando o
protocolo PPTP. Os usurios iro se conectar a rede usando um cliente PPTP comum (presente em
qualquer sistema operacional desktop moderno). Uma vez autenticado, o usurio ter acesso a rede
como se estivesse conectado no prprio local fsico. Este tipo de VPN conhecida como Site-to-Client
e voltada justamente para esta finalidade conectar clientes mveis ou remotos rede local de
forma segura (usurios de notebooks, smartphones, tablets, etc...).

46

Configurando o servio OpenVPN


O OpenVPN uma aplicao com verses disponveis para os mais diversos sistemas operacionais
tanto cliente quanto servidor e prov uma forma simples de configurarmos uma VPN (principalmente
do tipo Site-to-Site). Outras vantagens so que ele pode ser usado por clientes conectando atravs de
uma conexo compartilhada via NAT (apenas o servidor precisa de portas abertas) e a boa tolerncia
contra conexes ruins, ou ao uso de conexes com IP dinmico. A VPN pode ser configurada para ser
restabelecida de forma automtica em caso de interrupo na conexo, o que torna o link bastante
confivel.
Com relao segurana, o OpenVPN pode ser configurado para utilizar chaves estticas, que
oferecem um nvel mediano de segurana, em troca de uma configurao mais simples, ou para utilizar
certificados X509, onde a configurao um pouco mais complexa, mas, em compensao, a
segurana muito maior (bem superior da maioria das solues comerciais). Isso permite que voc
escolha a melhor relao entre praticidade e segurana de acordo com a situao.

47

48

49

50

51

Exportando Cliente OpenVPN


H um pacote de instalao no pfSense 2.0 chamado OpenVPN Client Export Utility, que
simplifica o processo de exportao da chave e certificado OpenVPN para os clientes. Para
instal-lo basta seguir os seguintes passos:

52

Traffic Shaper
No pfSense 2.0, o mdulo de Traffic Shaper trs uma srie de wizards e recursos para priorizarmos
ou limitarmos determinados tipos de pacotes da nossa rede que passem pelo firewall. possvel
criarmos filas que penalizam ou priorizam certos tipos de conexo em detrimento de outras, criarmos
limitadores de consumo de banda e at mesmo aplicarmos filtros impeditivos de camada 7 (Layer 7).
Em cenrios onde temos VoIP, videomonitoramento, streaming de udio e vdeo e outras aplicaes
que geram bastante trfego entre a LAN e a WAN, este tipo de recuso muito utilizado.

No exemplo a seguir vamos usar o pfSense para priorizar os acessos externos do tipo MSRDP
(tambm conhecido como WTS) que entram em nossa rede. Assim podemos nos assegurar que
ser possvel administrar nossos servidores Windows remotamente mesmo quando o trfego de
rede estiver muito intenso.

53

54

55

56

57

Backup/Restore das Configuraes


1- Clique em Diagnostics: Backup/restore. A primeira opo que se apresenta
Backup configuration. Na caixa de seleo Backup area voc pode selecionar uma
coisa ou outra, porm vamos selecionar ALL que far o backup de tudo, evidentemente.

2- Clique no boto Download Configuration e, na interface que se apresenta, selecione


a opo Download e clique em OK.

3- O nome padro do arquivo tem um formato semelhante ao listado abaixo, mas voc pode renome-lo como bem entender:

58

4- Para Restaurar um backup clique em Diagnostics: Backup/restore. A segunda opo que se apresenta Restore configuration. Na caixa de seleo Restore area voc
pode selecionar uma coisa ou outra, porm vamos selecionar ALL que far
a restaurao de tudo se voc selecionou essa mesma opo no passo 1. Feito isso,
clique no boto Selecionar arquivo, selecione o arquivo salvo no passo 3 e, finalmente, clique no boto Restore configuration.

59

Principais Referncias Bibliogrficas:


[1] pfSense: The Definitive Guide: http://www.amazon.com/pfSense-The-DefinitiveGuide-ebook/dp/B004OYTMPC/ref=sr_1_2?ie=UTF8&qid=1327354322&sr=8-2
[2] pfSense 2 Cookbook: http://www.amazon.com/pfSense-2-Cookbook-MattWilliamson/dp/1849514860/ref=sr_1_3?ie=UTF8&qid=1327354322&sr=8-3
[3] http://www.pfsense.org/ Acessado Janeiro/2012
[4] http://doc.pfsense.org Acessado Janeiro/2012
[5] http://www.nextsense.com.br/blog/ - Acessado Janeiro/2012
[6] http://www.pfsense-br.org Acessado Janeiro/2012
[7] http://forum.pfsense.org/index.php/board,12.0.html - Acessado Janeiro/2012
[8] http://doc.fug.com.br/handbook/ - Acessado Janeiro/2012
[9] http://www.hardware.com.br/ - Acessado Janeiro/2012
[10] http://www.jack.eti.br - Acessado Janeiro/2012

60