Você está na página 1de 6

Tutorial Firewall em Linux Acadmicos

Firewall
Firewall um quesito de segurana com cada vez mais importncia no mundo da computao.
medida que o uso de informaes e sistemas cada vez maior, a proteo destes requer a aplicao
de ferramentas e conceitos de segurana eficientes. O firewall uma opo praticamente
imprescindvel.
Firewall o nome dado ao mecanismo de uma rede de computadores que tem por o!"etivo aplicar
uma poltica de segurana a um determinado ponto de controle da rede. #eu o!"etivo permitir
somente a transmisso e a recepo de dados autorizados.
$ste mecanismo atua como uma defesa de um computador ou de uma rede, controlando o acesso ao
sistema por meio de regras e a filtragem de dados. % vantagem do uso de firewalls em redes, que
somente um computador pode atuar como firewall, no sendo necess&rio instal&'lo em cada
m&quina conectada. % figura a!ai(o ilustra a idia de Firewall.
)Funcionamento do Firewall
*& varias formas de funcionamento de um firewall. $stas formas variam de acordo com o sistema,
aplicao ou do desenvolvedor do programa. $ntretanto, e(istem dois conceitos !&sicos de
utilizao de firewall+
' Firewall em nvel de ,acotes
' Firewall em nvel de %plicao
-este tutorial o enfoque ser& dado ao conceito de Firewall em nvel de pacotes com a utilizao da
Ferramenta .pta!les em sistemas /inu(.
.pta!les
O .pta!les uma ferramenta de edio da ta!ela de filtragem de pacotes, ou se"a, com ele voc0
capaz de analisar o ca!eal1o e tomar decises so!re os destinos destes pacotes.
O ipta!les um firewall com estado, ou se"a, um firewall stateful. Os anteriores eram stateless. O
modo de filtragem 2#tateless2 tende a tratar cada pacote roteado pelo firewall como pacotes
individuais, sendo mais simples de implementar e por terem uma resoluo mais r&pida que um do
tipo stateful, podem ser usados para o!terem um desempen1o mel1or em determinadas situaes
onde e(istem regras de nvel de rede !em simples.
%travs destas regras poderemos fazer com que os pacotes possam ser ou no rece!idos a rede toda,
a determinada m&quina, interface ou mesmo porta de cone(o. O .pta!les tra!al1a atravs de
3a!elas , 41ains e 5egras +
).nstalao .pta!les
Os requerimentos !&sicos para o funcionamento do .pta!les so um computador so!re a arquitetura
678 com, no mnimo, 9:; de 5%: e um <ernel da srie =.9 ou superior.
,ara a realizao deste tutorial, fora utilizado a sistema operacional /inu(, sendo a distri!uio
>e!ian.
4omo este e(perimento fora realizado na rede interna da ?niversidade $stadual do Oeste do
,aran&, necess&rio realizar a e(portao do pro(@ utilizado pela faculdade, para que assim se"a
possvel realizar o download do pacote de instalao do .pta!les, lem!rando que a maioria dos
releases atuais do /inu( "& possui o .pta!les no seu Aernel.
B e(port 1ttpCpro(@D1tpp+EEpro(@.unioeste.!r+7F7F
,ara realizar a instalao de determinados programas, o /inu( permite que o pacote de instalao
destes se"am o!tidos por download atravs do comando+
B apt'get install ipta!les
5egras no .pta!les
%s regras so como comandos passados ao ipta!les para que ele realize uma determinada ao
Gcomo !loquear ou dei(ar passar um pacoteH de acordo com o endereoEporta de origemEdestino,
interface de origemEdestino,
etc. %s regras so armazenadas dentro dos 41ains e processadas na ordem que so inseridas.
$(emplo de 5egra+ !loqueia qualquer acesso indo ao endereo I=J.F.F.I
B ipta!les 't filter '% .-,?3 'd I=J.F.F.I '" >5O,
41ains
Os 41ains so locais onde as regras do firewall so definidas pelo usu&rio e armazenadas para
operao do firewall. $(istem dois tipos de 41ains+ os em!utidos Gcomo os 41ains .-,?3 ,
O?3,?3 e FO5K%5>H e os criados pelo usu&rio. Os nomes dos 41ains em!utidos devem ser
especificados sempre em maiLsculas Gnote que os nomes dos 41ains so case'sensitive, ou se"a, o
41ain input completamente diferente de .-,?3H.
3a!elas
%s 3a!elas armazenam os 41ains e o con"unto de regras com uma determinada caracterstica em
comum. $(istem 6 ta!elas disponveis no .pta!les+
)3a!ela Filter
M a ta!ela padro do .pta!les, composto por 6 41ains+
N .-,?3 ' 4onsultado para dados que c1egam O m&quina. N O?3,?3 ' 4onsultado para dados que
saem da m&quina. N FO5K%5> ' 4onsultado para dados que so redirecionados para outra
interface de rede ou outra m&quina.
)3a!ela -at
?tilizada para dados que geram outra cone(o Gmasquerading, source nat, destination nat, port
forwarding, pro(@ transparente so alguns e(emplosH. $la composta por 6 41ains+
N ,5$5O?3.-P ' 4onsultado quando os pacotes precisam ser modificados logo que c1egam. M o
41ain ideal para realizao de >-%3 e redirecionamento de portas. N O?3,?3 ' 4onsultado
quando os pacotes gerados localmente precisam ser modificados antes de serem roteados. $ste
41ain somente consultado para cone(es que se originam de .,s de interfaces locais. N
,O#35O?3.-P ' 4onsultado quando os pacotes precisam ser modificados apQs o tratamento de
roteamento. M o 41ain ideal para realizao de #-%3 e ., :asquerading.

)3a!ela :angle
% ta!ela :%-P/$ implementa alteraes especiais em pacotes em um nvel mais comple(o. %
ta!ela mangle capaz, por e(emplo, de alterar a prioridade de entrada e sada de um pacote !aseado
no tipo de servio G3O#H o qual o pacote se destinava. $la ,ossui = 41ains padres+
N O?3,?3 ' %ltera pacotes de forma especial gerados localmente antes que os mesmo se"am
roteados. N ,5$5O?3.-P R :odifica pacotes dando'l1es um tratamento especial antes que os
mesmos se"am roteados.
S -este tutorial o enfoque ser& dado O ta!ela padro do .pta!les, ou se"a, a ta!ela Filter .
Fazendo o ., :asquerading
%ntes de manipular as regras necess&rio que o <ernel ten1a suporte ao ipta!les e ipCforward. 4om
os dois comandos a!ai(o 1a!ilitado o masquerading para todas as m&quinas da rede IT=.I87.I.S+
B ipta!les 't nat '% ,O#35O?3.-P 's IT=.I87.I.FE=9 R" :%#U?$5%>$
B ec1o VIV WEprocEs@sEnetEipv9EipCforward
% configurao do servidor /inu( est& completa, agora os clientes da rede precisaro ser
configurados para usar o endereo ., do servidor /inu( como gatewa@
:anipulao de 41ains
-esta sesso sero mostrados alguns dos comandos mais utilizados para a manipulao de regras.
) /istar 5egras R /
?tilizando a sinta(e a!ai(o possvel e(i!ir todas as regras "& criadas.
B ipta!les X 't ta!ela Y '/ X 41ain Y X opes Y
-o e(emplo a!ai(o o comando lista as regras do 41ain .-,?3
Bipta!les 't filter '/ .-,?3
,odem'se utilizar tam!m algumas opes para pra listar o conteLdo dos 41ains+
N 'v ' $(i!e mais detal1es so!re as regras criadas nos 41ains
N 'n ' $(i!e endereos de m&quinasEportas como nLmeros ao invs de tentar a resoluo >-# e
consulta ao EetcEservices. % resoluo de nomes pode tomar muito tempo dependendo da quantidade
de regras que suas ta!elas possuem e velocidade de sua cone(o. N '( ' $(i!e nLmeros e(atos ao
invs de nLmeros redondos. 3am!m mostra a fai(a de portas de uma regra de firewall. N ''line'
num!ers ' $(i!e o nLmero da posio da regra na primeira coluna da listagem.
) %dicionando regras R %
%diciona uma regra na 3a!ela e 41ain determinados.
4omo e(emplo ser& acrescentado uma regra no 41ain .-,?3 G'% .-,?3H que !loqueie G '" >5O,H
qualquer acesso indo ao endereo I=J.F.F.I G' d I=J.F.F.I H+
B ipta!les 't filter '% .-,?3 'd I=J.F.F.I '" >5O,
) %pagando 5egras R >
% e(cluso de regras pode ser feita de duas formas, Uuando sa!emos qual o nLmero da regra no
41ain Glistado com a opo '/H podemos referenciar o nLmero diretamente, como no e(emplo
a!ai(o+
B ipta!les 't filter '> .-,?3 I
,orem, Os vezes o con"unto de regras pode ser muito e(tenso, o que dificulta sa!er o numero da
regra. -este caso usamos a mesma sinta(e para criar a regra no 41ain, mas trocamos '% por '>+
B ipta!les 't filter '> .-,?3 'd I=J.F.F.I '" >5O,
) .nserindo 5egra em uma /in1a $specifica R .
$ste comando Ltil no caso do usu&rio necessitar inserir uma regra em uma determinada posio,
pois quando adicionada uma nova regra, ele sempre vai ter prioridade menor em relao Os regras
anteriores.
B ipta!les 't filter '. .-,?3 I 's IT=.I87.I.IZ 'd I=J.F.F.I '" %44$,3
-o e(emplo acima o trafego vindo de IT=.I87.I.IZ no ser& re"eitado porque est& definido na
primeira lin1a do 41ain .nput, e por isso tem prioridade em relao Os outras regras.
) #u!stituir 5egras R5
$(istem duas alternativas+ apagar a regra e inserir uma nova no lugar ou modificar diretamente a
regra "& criada sem afetar outras regras e(istentes e mantendo a sua ordem no 41ain .?se o seguinte
comando+
B ipta!les '5 .-,?3 = 'd I=J.F.F.I 'p icmp '" >5O,
O nLmero = o nLmero da regra que ser& su!stituda no 41ain .-,?3.
) 4riando -ovos 41ains ' -
M importante ressaltar que em firewalls organizados com um grande nLmero de regras, a criao de
41ains individuais primordial para organizar regras de um mesmo tipo ou que ten1a por o!"etivo
analisar um tr&fego de uma mesma categoria Ginterface, endereo de origem, destino, protocolo,
etcH, pois podem consumir muitas lin1as e tornar o gerenciamento do firewall confuso.% definio
de novos 41ains utiliza a seguinte sinta(e+
Bipta!les X 't ta!ela Y X '- novo41ain Y
4omo e(emplo pode'se criar um 41ain denominado ?nioeste Gque pode ser usado para agrupar as
regras de internet da ?niversidadeH+
Bipta!les 't filter '- ?nioeste
,ara inserir regras no 41ain ?nioeste !asta especifica'lo apQs a opo '%+
Bipta!les 't filter '% ?nioeste 's =FF.IZ=.I8I.I6= '" >5O,
/ogo, necess&rio fazer uma ligao G'"H do 41ain .-,?3 para o 41ain ?nioeste +
Bipta!les 't filter '% .-,?3 '" internet
$sta ligao necess&ria indicar que outro 41ain foi criado possi!ilitando a leitura das novas regras
do 41ain ?nioeste.

) $specificando o ,oliciamento ,adro de um 41ain R ,
Uuando um pacote c1ega ao fim das regras contidas em um 41ain, o policiamento padro determina
se ele %44$,3 ou >5O,, ou se"a, se o pacote aceito ou re"eitado. .sto deve ser feito utilizando
a seguinte sinta(e.
Bipta!les X 't ta!ela Y X ', 41ain Y X %44$,3E>5O, Y
-o e(emplo a!ai(o, o pacote no ser& re"eitado apQs passar pelas regras. O!viamente se a regras
anteriormente definidas no !loquearem ele.
Bipta!les 't filter ', .-,?3 %44$,3
#alvando e 5estaurando regras
%s regras que esto sendo criadas pelo usu&rio enquanto manipula o ipta!les podem ser salvas
usando as ferramentas ipta!les'save e ipta!les' restore !aseada na idia do ipc1ains'save e ipc1ains'
restore. O ipta!les'save deve ser usado sempre que modificar regras no firewall ipta!les da seguinte
forma+
Bipta!les'save WEdirEipta!les'regras
,ara restaurar as regras salvas, utilize o comando+
Bipta!les'restore [EdirEipta!les'regras