Você está na página 1de 7

Muito a

al
alm
l
m d
de
e um
u firewall

Mil e uma utilidades


primeira vista, o pfSense parece uma
ferramenta comum mas torna-se
impressionante quando analisado
de perto. Mesmo os recursos mais
avanados como alta disponibilidade
fazem parte de seu repertrio.
Nada mau para um pequeno firewall.
por Tim Schrmann

hris Buechler e Scott Ullrich estavam infelizes. Embora a distribuio FreeBSD


m0n0wall desse a eles uma opo prtica
e rpida para configurar um firewall e um roteador, a ferramenta era projetada para sistemas
embarcados. Uma vez que deveria ser executada diretamente na memria RAM, era difcil
usar extenses. A situao fez com que ambos
os desenvolvedores trabalhassem em sua prpria distribuio, batizada de pfSense [1].
O ncleo da verso 2.0 lanada no final de
setembro de 2011 abrange o FreeBSD 8.1, que
customizado para o uso como um firewall e um
roteador. Caso o usurio decida, o pfSense pode
atuar tambm como um servidor DHCP, um provedor de dados para sniffers como o Wireshark,

Figura 1 A maioria das imagens disponveis do pfSense


so voltadas para sistemas embarcados.

48

um ponto de acesso VPN, um servidor DNS e


at mesmo um ponto de acesso para conexes
sem fio. Apesar de tudo isso, o sistema completo
possui apenas 100MB e para ser iniciado, necessita somente de um pendrive de 128MB.
Agora, se os recursos includos no forem
suficientes para suas necessidades, possvel
expandir o pfSense ao adicionar pacotes. Por
exemplo, possvel adicionar um proxy web
ou um sistema de deteco de intrusos (cortesia da Snort). Os componentes so configurados de forma conveniente em uma sofisticada interface web. Alm disso, graas licena
BSD, o pacote todo seu sem nenhum custo.

Para todas as finalidades


O pfSense tirou seu nome esquisito do firewall PF do OpenBSD. Esse firewall oferece
o recurso de relembrar ao usurio quem abriu
determinada conexo. Assim, o firewall pode
usar regras para no somente bloquear portas
individuais e protocolos como tambm para
restringir o nmero de conexes simultneas
para computadores especficos, roteando o
trfego por meio de gateways predefinidos.
Graas ferramenta p0f, o pfSense pode at
distinguir entre sistemas operacionais, o que
pode ser til se voc quiser, por exemplo, evitar que todos os computadores com Windows
acessem a Internet. O pfSense tenta automaticamente corrigir ou normalizar pacotes que
paream estranhos (scrubbing), alm de evitar
ataques potenciais vindos desses pacotes [2].
www.admin-magazine.com.br

SEGURANA

Muito alm de um firewall

Figura 2 No exemplo, os PCs do escritrio usam o pfSense para acessar a Internet.

Para melhorar a disponibilidade, voc pode


combinar mltiplos firewalls pfSense ativos.
Se um firewall falhar por conta de um erro de
hardware, outro firewall toma seu lugar automaticamente. Para tanto, o protocolo de redundncia CARP (Common Address Redundancy
Protocol) usado em segundo plano [3]. Se necessrio, a instalao do pfSense pode transferir
sua configurao para todos os outros firewalls
e, posteriormente, executar a ferramenta pfsync
para manter todas as tabelas de estados de todos os firewalls ativos sincronizadas.
Alm do firewall, o pfSense inclui um servidor
DHCP e suporta NAT (Network Address Translation) de forma natural combinado com redirecionamento de portas e mltiplos endereos IP.
O pfSense pode ser usado como ponto de
acesso para uma VPN, presumindo que a VPN
use o protocolo IPsec, OpenVPN ou PPTP. O
recurso Captive Portal particularmente interessante para operadores de hotspots (pontos
de acesso sem fio): quando habilitado, os usurios precisam se autenticar por meio de um
website especial (que pode ser customizado)
para acessar a rede ou a Internet [4].
O balanceamento de carga remove algumas das dores de cabea em grandes redes. O pfSense distribui o trfego de dados
de sada para mltiplas interfaces WAN. Se
uma delas falhar, o pfSense automaticamente
redireciona o trfego para as interfaces que
funcionam. De forma similar, o firewall pode
distribuir requisies e conexes de entrada
para mltiplos servidores. Esse recurso til
se voc executa um website visitado com frequncia. Se um de seus servidores falhar, o
pfSense automaticamente encaminha as requisies para os servidores disponveis.
A ferramenta s funciona em processadores
x86 ou AMD64, o que seu lado negativo. Se
o usurio vai operar pequenas redes e precisa
de uma soluo de firewall simples, os recursos
necessrios so mnimos. No entanto, se o computador precisar manipular 200 megabits por
Admin Magazine #5 | Maro de 2012

Figura 3 O menu de boot do FreeBSD d as boas vindas


ao administrador aps iniciar do CD ou de
um pendrive.

Figura 4 Voc tem dez segundos para decidir se quer iniciar


a instalao do programa ou iniciar a partir do CD.

Figura 5 Normalmente voc no precisar mudar a fonte,


mapa de tela e teclado, a menos que tente interagir com o pfSense em um terminal, por exemplo.

49

Muito alm de um firewall

Figura 6 Nesse caso, a primeira placa de rede, em0, a


interface WAN ou Internet.

segundo, o pfSense vai precisar de ao menos


1GHz de CPU. Quaisquer pacotes adicionais
vo requerer memria RAM adicional. Os desenvolvedores da ferramenta publicaram uma
tabela de clculo bastante til para ajudar na
definio dos requisitos necessrios [5].

Download e requisitos
Ao visitar a pgina de downloads para procurar um espelho de onde possa baixar a
ferramenta, talvez fique espantado com a
quantidade de arquivos disponveis (figura 1).
Normalmente, no entanto, tudo de que voc
vai precisar da imagem ISO de 100 MB com
o nome pfSense-2.0-RELEASE-i386.iso.gz, que
est no final da pgina. Se voc tem um sistema AMD64, faa o download da verso pfSense-2.0-RELEASE-amd64.iso.gz. Se voc gravar a
imagem em um CD, poderr fazer boot a partir
desta mdia tanto para chegar ao programa de
instalao quanto para executar um sistema diretamente do CD (modo Live, ou seja, sem necessidade de instalao). Neste segundo modo,
alguns recursos ficam indisponveis, de forma
que faz mais sentido instalar a distribuio no
computador ou em uma mquina virtual.
Voc tambm pode encontrar verses especficas para pendrives. Essas verses oferecem

Figura 7 Esse menu para uso emergencial se a interface web


falhar. Para ter acesso SSH, por exemplo, digite 14.

50

o mesmo contedo do CD e so projetadas


para computadores sem um leitor de CD. Os
arquivos pfSense-memstick-2.0-RELEASE-i386.
img.gz ou pfSense-memstick-2.0-RELEASE-amd64.
img.gz so os necessrios nesse caso.
Alm do sistema Live, os desenvolvedores tambm oferecem uma variante embarcada que faz boot a partir de um carto
compact flash e executada totalmente na
memria RAM. Algumas imagens existem
para essa verso embarcada, cada uma para
uma combinao de arquitetura de processador, tamanho do carto compact flash
(ou memria flash interna) e do adaptador
grfico do sistema em questo. O pacote
pfSense-2.0-RELEASE-1g-amd64-nanobsd_vga.
img.gz, por exemplo, inclui uma imagem para

um carto compact flash com capacidade de


1GB, o qual dever ser ligado em um sistema
com um processador AMD64 que possui uma
placa grfica. Pacotes que no possuem o sufixo _vga tm todas as sadas de telas e podem
ser acessados somente por meio de uma porta
serial na mquina. Alm disso, uma mquina
virtual pr-configurada para VMware est
disponvel, embora essa mquina contenha
somente a verso 1.2.3, que antiga, pelo
menos at a data de impresso desta edio.
Para demonstrar como fcil implementar e
configurar uma mquina pfSense, usarei como
exemplo a substituio de um roteador Fritz!Box,
ou seja, vamos conectar a LAN de uma pequena
empresa de forma segura com a Internet (figura 2).
Nesse cenrio, os usurios s tero acesso aps
realizar sua autenticao no pfSense com uma
senha pessoal em uma pgina de portal.

Instalao
Aps fazer boot do Live CD, deixe o menu FreeBSD ao pressionar [Enter] ou espere por dez
segundos (figura 3). Se um problema ocorrer durante o processo de boot, tente outras opes de
boot. A opo 2 tenta fazer boot com os switches
ACPI desligados; a opo 4 o faz em modo de
segurana; e a opo 6 faz com que o FreeBSD
que alicera o boot entre em modo verbose (exibe na tela todos os passos que est realizando), de forma que voc identifique quaisquer
hardwares com comportamento inadequado.
Se tudo funcionar, o pfSense perguntar se
voc quer iniciar a instalao ou executar o sistema direto no CD (figura 4). uma boa ideia fazer
a escolha dentro do limite de dez segundos. Se
no o fizer, o pfSense automaticamente executar o sistema direto do CD. Se isso acontecer, voc
www.admin-magazine.com.br

ter de responder as mesmas perguntas que respondeu no primeiro boot feito no disco.
Ao escolher a opo de instalao, ser iniciado um assistente. Na primeira tela, possvel
aceitar os padres de fonte e teclado ao pressionar Accept these Settings (figura 5). Na verso Quick/Easy Install, confirme o prompt de segurana
e o assistente apagar o primeiro disco rgido,
configurando o pfSense no espao disponvel.
Essa a escolha certa no exemplo, uma vez que
vou instalar o pfSense em um computador de
laboratrio. Voc s precisar de uma instalao
personalizada (Custom) se quiser particionar e
configurar o disco manualmente.
Uma vez tendo o pfSense instalado no disco,
necessrio decidir qual kernel usar. Em um
PC padro, o primeiro item, Symmetric multiprocessing kernel, ser a escolha certa. O modo
Embedded kernel usado em sistemas embarcados que no tm tela (ou uma placa grfica) ou
teclado e o modo Developers kernel s interessante para desenvolvedores do pfSense.
Finalmente, voc precisa reiniciar a mquina, remover o CD e esperar que o pfSense
faa boot do disco. Voc ver um menu de
boot familiar, o qual pode pular pressionando
[Enter]. Aps um tempo, o pfSense mostrar
uma lista de interfaces de rede e perguntar
qual voc quer configurar como VPN. Isso s
ser necessrio se voc implementar o pfSense exclusivamente entre ou com VPNs. J que
voc pode configurar o recurso VPN de forma mais conveniente na interface web posteriormente, responda n para essa questo.
A prxima coisa que o pfSense quer saber
o nome da interface WAN (figura 6). A lista com
as interfaces de rede de grande ajuda aqui. Se
voc estiver em dvida, pode dizer ao pfSense
para identificar a interface correta sozinho. Para
tanto, desconecte todos os cabos de rede do computador, pressione a tecla [a], conecte o cabo da
WAN, pressione a tecla [Enter] e veja se o pfSense identificou a interface automaticamente. No
prximo passo, ser necessrio inserir o nome
das interfaces LAN com um procedimento similar. Se voc tem vrias interfaces, simplesmente
repita os passos tantas vezes quanto necessrio.
Novamente, o pfSense tem uma opo para deteco automtica. Aps registrar todos as placas
de rede, pressione a tecla [Enter] quando o sistema pedir uma nova placa. O pfSense lista todas
as configuraes. Se todas estiverem corretas,
pressione y. Quando o menu da figura 7 aparecer, voc conseguiu completar a instalao com
sucesso. O pfSense agora funcionar como uma
Admin Magazine #5 | Maro de 2012

SEGURANA

Muito alm de um firewall

Figura 8 Aps completar a instalao, possvel utilizar essa


pgina para acessar o painel de controle do pfSense.

Figura 9 A primeira coisa que voc deve mudar sua


senha na janela do User Manager.

Figura 10 O painel de controle oferece diversas informaes teis sobre a situao atual do sistema.
Voc pode reorganizar os widgets clicando e
arrastando-os com o mouse.

51

Muito alm de um firewall

Fritz!Box. Embora os servidores DHCP, NAT e


componentes de firewall j estejam instalados
e em execuo, a implementao precisar de
uma ateno manual na interface web (figura 8).

Com a mo na massa

Figura 11 No exemplo, um cliente executando Ubuntu fez


download de uma srie de atualizaes e depois
visualizou somente algumas pginas.

Figura 12 O reset do provedor ocorre por volta das 4h30


da manh, horrio em que, provavelmente, no
h ningum no escritrio.

Em seu estado padro, o servidor DHCP


do pfSense atribui endereos IP na faixa de
192.168.1.100 at 192.168.1.199 para todos os
computadores conectados rede por meio da
primeira interface LAN. Na rede, entre no endereo 192.168.1.1 via navegador para chegar a interface web do pfSense. Aceite o certificado autoatribudo que o pfSense emite para si mesmo.
O acesso inicial para a interface web usa uma
combinao com o nome do usurio admin e a
senha pfsense. Essas so as credenciais do administrador, que tem o poder de alterar qualquer
parmetro do sistema. Assim, uma das primeiras coisas a se fazer mudar esta senha. Para
tanto, acesse System, selecione User Manager,
clique no cone na direita da linha admin e digite uma nova senha em Password (figura 9). Voc
sempre precisar salvar as mudanas realizadas
ao pressionar Save na parte inferior da tela.
Ao clicar no logo do pfSense no canto superior esquerdo, voc levado de volta ao painel de controle. Isso d a voc a visualizao
inicial do sistema e sua carga atual (figura 10).
Se precisar de mais informao, pode adicionar widgets. Para tanto, clique no cone com
sinal +) abaixo de Status e escolha uma nova
fonte de informao. Uma das coisas que eu
considero teis o widget Traffic Graphs, que
oferece uma visualizao geral em forma de
grficos do trfego da rede (quadro 1).

Nmeros

Figura 13 Essas configuraes evitam que o computador


com o endereo IP 192.168.1.66 acesse a porta
TCP 22, ou seja, o servio SSH.

52

Por padro, o pfSense usa um cliente DHCP


para buscar um endereo IP para a interface
WAN. De acordo com a RFC 1918, ele recusa endereos IP de reas reservadas para LANs privadas, como 10/8, 172.16/12 e 192.168/16. Em
alguns casos, como no acesso UMTS, os provedores vo atribuir exatamente esses endereos
IP rede. Para dizer ao pfSense para aceit-los,
necessrio desmarcar a opo Block private networks na parte de baixo de Interfaces/WAN. Se
marcar a caixa Block bogon networks, voc vai
bloquear endereos no atribudos pela IANA,
como 0.0.0/8. Ambas os recursos aumentam a
segurana e s devem ser desabilitadas se voc
tiver uma razo muito boa para isso.
Se voc quer que o pfSense use o ADSL
para criar uma conexo com a Internet,
www.admin-magazine.com.br

necessrio ensinar a interface WAN a usar o


protocolo PPPoE. Para tanto, simplesmente
configure Type para PPPoE e entre com suas
credenciais de acesso nos campos embaixo
de PPPoE configuration. Muitos provedores
de ADSL interrompem a conexo automaticamente aps 24 horas se voc tem uma banda ilimitada de donwload. O pfSense pode
fazer um reset durante um tempo especificado para garantir a vida da conexo. Para
tanto, v para Periodic Reset, selecione Custom
no menu de seleo e, ento, defina o tempo
desejado nos dois campos (figura 12).
Todos os computadores conectados na rede
recebem automaticamente um endereo IP por
meio do servidor DHCP embutido. Se voc
quer atribuir uma faixa especfica de endreos
IP para suas mquinas, v a Services/DHCP Server e ento atribua a faixa de endereos. A parte de baixo da tela mostrar uma tabela (vazia
por padro). Voc pode atribuir endereos IP
especficos nessa tabela. Para criar uma regra
do tipo, clique no pequeno cone com sinal de
mais, inclua o endereo MAC da mquina, o
endereo IP desejado e o nome do host.

Regras
Ao analisar os campos Firewall/Rules, note que
o firewall bloqueia todos os pacotes de entrada da WAN por padro. De forma similar, todos os PCs na LAN possuem a permisso de
abrir conexes de sada. Para criar uma nova
regra, pressione o pequeno boto com sinal de
mais no canto superior direito. Isso o leva ao
formulrio onde ser possvel criar regras com
apenas alguns cliques (figura 13).
Tome cuidado, nesse caso, com duas armadilhas: todas as mquinas na LAN sempre
tm acesso ao computador com o pfSense por
conta de uma regra Anti-Lockout, que no editvel. Mesmo com a regra exibida na figura 13,
o computador com o endereo IP 192.168.1.66
ainda tinha a possibilidade de usar SSH para
logar na mquina servidora do pfSense (isso
presume que exista um acesso SSH habilitado).
Para evitar isso, voc pode desabilitar a regra
Anti-Lockout em System/Advanced ao desmarcar
a caixa correspondente. No entanto, isso significa correr o risco de bloquear seu prprio acesso ao sistema por conta de algum erro.
Alm disso, o firewall processa todas as regras de cima para baixo. A primeira regra vlida prevalece e o pfSense ignora todas as outras. Voc pode mover uma regra nessa lista ao
selecion-la e pressionar o cone com a seta at
Admin Magazine #5 | Maro de 2012

SEGURANA

Muito alm de um firewall

Figura 14 A opo Expiration Date permite que voc defina a data em que o pfSense automaticamente
desabilitar a conta de usurio.

a regra chegar a primeira posio. Se voc tem


a ordem correta, mas alguma regra de bloqueio
parece no fazer efeito, talvez voc precise checar Diagnostics/State e resetar tambm o estado
ao clicar em Reset na aba Reset states. O navegador pode sofrer com um recarregamento infinito da pgina. Se isso acontecer, simplesmente recarregue o endereo do pfSense manualmente.

Departamento pessoal
Antes que seus usurios LAN comecem a
acessar a Internet, precisam estar autenticados
em uma pgina especial de portal digitando o
nome de usurio e senha. Para que isso acontea, primeiramente necessrio armazenar
essas credenciais no pfSense. Para as coisas ficarem mais fceis, vou usar o User Manager, um
gerenciador de usurios includo no pfSense,

Figura 15 Um usurio LAN precisa digitar um nome de usurio e senha para ter acesso Internet. Voc pode,
claro, modificar a aparncia dessa pgina.

53

Muito alm de um firewall

que voc encontrar em System/User Manager.


Nesse caso, pressione o cone com o sinal de
mais em User Manager e adicione uma nova
conta para cada usurio. O formulrio requer
apenas um nome de usurio e senha (figura 14).
A pgina de login oriunda do Captive Portal. Para habilitar a pgina, marque a
caixa Enable captive portal em Services/Captive
Portal. Se voc quiser que a pgina de login
aparea quando o usurio da rede LAN quiser acessar a Internet, marque a opo LAN
em Interfaces. Se o usurio ficar ocioso por
um certo perodo de tempo, o pfSense faz logoff automtico do usurio. Voc pode definir quantos minutos ele precisa estar ocioso
para que isso acontea em Idle Timeout. Se
esse campo estiver vazio, no h limite. A op-

Quadro 1: Informao sobre tudo


O pfSense faz log de suas aes em mltiplos arquivos de
log, que podem ser visualizados em Status/System logs.
Na aba Firewall, voc pode clicar em um dos cones para
definir uma nova regra de exceo. As conexes monitoradas pelo firewall so exibidas em uma tela separada, em
Diagnostics / States.
Alm disso, o pfSense coleta dados estatsticos,
como o nmero de pacotes inspecionados. Esses dados so armazenados em um banco de dados do tipo
round-robin (RRD), de forma que as informaes mais antigas so descartadas quando uma nova chega.
O pfSense usa esses dados para gerar alguns grficos e estatsticas interessantes. Alguns deles so encontrados no painel
de controle e outros podem ser encontrados no menu Status/
RRD Graphs. Com isso, voc fica sabendo quanto trfego e
quantos pacotes passaram por meio de placas de redes individuais nas ltimas horas e dias (figura 11), dando a voc uma
viso geral sobre a qualidade da conexo WAN (aba Quality).
Finalmente, o menu Status/Services diz quais servios esto em execuo. Voc pode usar os botes do menu para
iniciar ou interromper um servio (botes Start e Stop).

Mais informaes
[1] pfSense: http://www.pfsense.org
[2] PF e Scrubbing: http://docstore.mik.ua/
manuals/openbsd/faq/pf/scrub.html
[3] Protocolo CARP: http://en.wikipedia.org/
wiki/Common_Address_Redundancy_Protocol
[4] Captive portal: http://en.wikipedia.
org/wiki/Captive_Portal
[5] Requisitos de hardware para o pfSense: http://
www.pfsense.org/index.php?option=com_
content&task=view&id=52&Itemid=49
[6] Wiki do pfSense: http://doc.pfsense.
org/index.php/Main_Page
[7] Dispositivos pfSense: http://www.pfsense.
org/index.php?option=com_content&task=
view&id=44&Itemid=50

54

o Hard Timeout deixa as coisas mais rgidas:


aps o tempo definido, o pfSense faz logoff
do usurio, mesmo que ele no esteja ocioso.
Quando o usurio faz login, o pfSense automaticamente o leva URL definida em After
Authentication Redirection URL. O nome de usurio e senha so armazenados no gerenciador de
usurios, e isso explica porque a autenticao
configurada em Local User Manager/Vouchers.
Como o nome sugere, essa opo permite que
voc crie vouchers para dar acesso temporrio
Internet a alguns usurios. Isso til para hotis,
por exemplo, onde os usurios podem comprar
vouchers para obter determinado tempo de navegao. Aps pressionar Save, sempre que um
cliente na LAN tentar acessar a Internet, o usurio recebe automaticamente a tela de login exibida na figura 15. O usurio precisa ingressar com
as credenciais armazenadas no gerenciador de
usurios para acessar a Internet. Nunca deixe de
salvar as mudanas antes de abrir um novo item
de menu na interface web, a menos que voc
queira descarregar todas as mudanas.
Em alguns casos, como por exemplo, com
as configuraes do servidor DHCP, voc
ainda precisa necessariamente aplicar as novas regras explicitamente, recarregando o
sistema. Se voc est instalando o pfSense em
uma mquina de produo, uma boa ideia
executar o assistente localizado em System/
Setup Wizard. O assistente lhe pede algumas
informaes necessrias, como nome do host,
que por padro pfsense.dominio_local.

Concluso
Nesse artigo, ofereci apenas uma viso geral sobre os recursos bsicos do pfSense, que muito
mais abrangente. Infelizmente, a documentao ainda fraca e o wiki um pouco pobre em
informaes [6] e tanto esse artigo quanto os
livros disponveis no mercado abordam verses mais antigas. Muito do contedo ainda
aplicvel e se voc est familiarizado com servios do tipo, encontrar os recursos de que
necessita intuitivamente. Alm disso, muitas
empresas comearam a oferecer hardware ou
dispositivos com o pfSense pr-instalado. Uma
lista de empresas recomendadas pelos desenvolvedores est disponvel no endereo [7].

Gostou deste artigo?


Veja este artigo em nosso site:
http://www.lnm.com.br/admin/article/6586
Queremos ouvir sua opinio. Fale conosco em:
cartas@admin-magazine.com.br

www.admin-magazine.com.br