Академический Документы
Профессиональный Документы
Культура Документы
INTRODUO
Com a evoluo da Internet surgiram novas formas promscuas de obter informaes ou simplesmente
afetar outras pessoas ou corporaes.
Da mesma forma que surgiram mtodos e ferramentas de invaso, pichao, dentre outras, surgem de
forma mais lenta verdade, ferramentas para evitar esses vandalismos virtuais. Uma destas formas o
firewall, que visa impedir que um invasor consiga acesso no autorizado a uma mquina ou rede na
Internet.
Um dos inmeros firewalls o Netfilter/Iptables, que o firewall padro do Linux desde a verso 2.4.0 do
kernel.
LINUX E FIREWALLS
Nas verses anteriores ao kernel 2.2.0, o firewall padro do Linux era o Ipfwadm. Este firewall funcionava
como o firewall atual (iptables), construindo regras de filtragem dos pacotes que trafegam pelo host, mas
a construo dessas regras no Ipfwadm era muito complexa.
J no kernel 2.2.0, o Ipfwadm foi substitudo, ou melhor, atualizado para o ipchains. A idia da criao
do ipchains foi facilitar a construo de regras do Ipfwadm, mantendo o mesmo estilo do seu
antecessor, mas facilitando a criao de regras.
A partir do kernel 2.4.0, o ipchains foi melhorado, surgindo assim o Netfilter/Iptables. Nesta nova
gerao de firewall para o Linux foram implementadas facilidades para NAT (Network Address
Translation) e foi flexibilizada a filtragem de pacotes do ipchains, criando novas tabelas para NAT.
NETFILTER/IPTABLES
O Netfilter e o iptables so um s, mas Netfilter relacionada parte do kernel que trata as conexes IP
com as interfaces de rede e Iptables refere-se estrutura de tabelas e a definio de regras de filtragem
de pacotes, tratadas pelo Netfilter no kernel do Linux.
Estabelecendo esta diviso entre parte do kernel e parte do usurio, as regras do firewall
Netfilter/Iptables conseguem ser de mais fcil implementao. Como o tratamento de conexes passa
pelo kernel do Linux, com esta separao, a cada nova solicitao de regra de firewall no necessrio
habilitar novo mdulo ou at mesmo recompilar o kernel, bastando somente atualizar o arquivo com as
regras desejadas.
Quando os pacotes vindo da rede (Internet) chegam ao host, eles passam pela cadeia PREROUTING,
onde so encaminhados para o roteamento do kernel. No roteamento interno do kernel, os pacotes
podem ir para INPUT, seguindo para o processamento local, ou podem ir para FORWARD, onde so
encaminhados para POSTROUTING, saindo em seguida para a rede (Internet).
Os pacotes que so gerados localmente vo para a cadeia OUTPUT, onde so encaminhados para
POSTROUTING, saindo em seguida para a rede (Internet).
Essas duas seqncias de passos dos pacotes no Netfilter so mostradas na figura abaixo.
(/imagens/artigos/comunidade/iptables.jpg)
4.1 TABELAS
As tabelas so parte da diviso do Netfilter onde as regras do Iptables so colocadas. Elas so utilizadas
de acordo com a utilizao do computador: workstation, gateway ou router, por exemplo.
No Netfilter atualmente existem trs tabelas:
filter
nat
mangle
Tabela utilizada para alteraes nos pacotes. Desde o kernel 2.4.18 tem as cadeias
PREROUTING, OUTPUT, INPUT, FORWARD e POSTROUTING.
4.2. CADEIAS
No Netfilter/Iptables existe o conceito de cadeias ou "chains". Essas cadeias nada mais so que a
diviso das regras do iptables em conjuntos mais lgicos, para melhorar o entendimento de como o
Netfilter processa os pacotes. Este conceito foi implementado j no Ipchains, mas foi melhorado no
iptables.
No iptables existem as seguintes cadeias:
INPUT
FORWARD
OUTPUT
4.3. REGRAS
POLTICAS OU AES
Uma regra de filtragem deve especificar critrios para os pacotes tratados por ela. Isso definido como
poltica ou ao do firewall. Quando chega um pacote, ele examinado nas regras do firewall e
decidida a poltica que ser atribuda a ele.
Estas so as polticas mais genricas do iptables:
ACCEPTDeixa o pacote passar
DROP
Descarta o pacote
Outras polticas implementadas pelo iptables funcionam somente nas tabelas de filter, nat ou mangle:
DNAT
LOG
MASQUERADE
Semelhante ao SNAT, mas utilizado para conexes com IP dinmico, como em conexes
"dial-up"
REDIRECT
REJECT
Como o DROP, descarta o pacote, mais retorna uma mensagem de erro ICMP
SNAT
CLASSIFICADORES
Cada classificador composto por um comando, um ou mais parmetros e uma ou mais extenses.
Junto com uma poltica eles formam uma regra do firewall.
6.1. COMANDOS
cadeia
[n_regra]
-I
cadeia Insere uma ou mais regras na posio especfica de uma cadeia especfica, se a posio
[n_regra]
-L [cadeia]
-F [cadeia]
Lista todas regras em uma cadeia definida, se esta no for definida o comando listar
todas as regras do firewall
Remove todas as regras da cadeia definida, se esta no for definida o comando remover
todas as regras do firewall
-N cadeia
-X [cadeia]
-P
cadeia
poltica
6.2. PARMETROS
Os parmetros setam definies para as regras aplicarem nos pacotes trafegados pelo firewall. O [!]
indica negao, ou seja, inverte a regra.
-p [!] protocolo
-i [!] nome
-o [!] nome
6.3 EXTENSES
O iptables pode usar mdulos para tratar os pacotes com extenses. Estas extenses podem ser
chamas de duas formas: implicitamente, utilizando o parmetro -p, especificando assim o protocolo a
ser tratado ou com a opo -m, para chamar o modulo especfico para tratar a extenso.
icmp : Extenso para tratar pacotes ICMP:
--icmp-type [!] nome ou nmero: Especifica qual mensagem ICMP que a regra vai tratar. Este
tipo pode ser especificado pelo nmero, no caso o nmero da porta IP que ela se refere, ou pelo
nome.
limit : Define a utilizao de limites para certos pacotes. Eficaz contra ataques do tipo Flooding e
DoS.
--limit taxa - Define o nmero mximo de ocorrncias por um perodo de tempo, este tempo
pode ser: por segundo (/second), por minuto (/minute), por hora (/hour) ou por dia (/day).
--limit-burst nmero - Nmero mximo de pacotes antes que o limite comece a ser imposto.
tcp : Extenso para tratar pacotes TCP:
UTILIZAO
Para criar as regras do firewall com iptables pode ser utilizado o terminal de comandos para digitar regra
por regra. Este caso til somente para testar a funcionalidade das regras, pois seria invivel digitar no
terminal todas as regras do firewall de um grande servidor ou ate mesmo de um computador domstico
toda vez que este for reiniciado.
Uma maneira mais inteligente e bem mais prtica a criao de um script feito em Shell para que seja
chamado na inicializao do sistema.
7.1. COMANDOS
Como padro o kernel vem com as partes referentes a segurana por firewall carregadas como
mdulos. Desta forma estes mdulos devero ser chamados por comando ou por script. Alguns
mdulos bsicos para o funcionamento do firewall so: ip_tables, mdulo bsico do iptables,
iptable_nat.
CONCLUSES E BIBLIOGRAFIA
Firewalls so hoje em dia ferramentas de segurana essenciais para proteger uma rede ou at mesmo
computadores domsticos, pois a cada dia surgem novas tcnicas de obstruir a segurana de sistemas.
E na questo dificuldade de utilizao e eficincia em segurana para Linux, o Netfilter/Iptables uma
boa escolha, pois com pequenos scripts podemos proteger um PC para navegar um pouco mais seguro
na Internet.
BIBLIOGRAFIA
! Voltar (verArtigo.php?codigo=3943)