Вы находитесь на странице: 1из 5

17/03/13 Dominando o Iptables (parte 2) [Artigo]

DominandooIptables(parte2)

Autor:YgorThomaz<ygorthatgmail.com>
Data:06/10/2005

Iniciandonasregrasdoiptables

Vamosiniciarnossoestudodeconstruoderegraspensandonatabelafilter,ondetemostrschainsque
so:INPUT,OUTPUTeFORWARD,asquaisnopodemserapagadas.

QuandooIptablesinstalado,inicialmentenohaverregrasemquaisquerchains(INPUT,FORWARDe
OUTPUT)etodasaschainsteroapolticaACCEPT.Asoperaesparamanipularaschainsso:

1. N:Criarnovachain
2. X:Apagarumachainvazia
3. P:Mudarapolticadeumachainbuiltin(INPUT,FORWARD,OUTPUT)
4. L:Listarasregrasdeumachain
5. F:Apagartodasasregrasdeumachain(F)
6. Z:Zeraroscontadoresdepacotesebytesdetodasasregrasdeumachain.

Grandepartedasnossasatividadesvaiestarenvolvidacomamanipulaodasregrasdentrodaschains:

1. A:Adicionarumanovaregranachain
2. I:Inserirumanovaregraemalgumaposiodachain
3. R:Substituirumaregraemalgumaposiodachain
4. D:Apagarumaregraemalgumaposiodachain(D).
5. D:Apagaraprimeiraregraqueassocia(comalgumacondio)numachain.

Na prtica sempre estaremos usando os comandos para adicionar (A) e apagar (D) com muito mais
freqnciaqueosoutros.Aestruturadasregrasgeralmenteficaassim:

#iptables[ttabela][opo][chain][dados]j[ao]

Para melhorar nosso entendimento vamos usar nossa interface loopback (127.0.0.1), para responder ao
pingquevaienviarumICMP.Faamososeguinte:

#pingc1127.0.0.1
PING127.0.0.1(127.0.0.1)56(84)bytesofdata.
64bytesfrom127.0.0.1:icmp_seq=1ttl=64time=0.080ms

www.vivaolinux.com.br/artigos/impressora.php?codigo=3901 1/5
17/03/13 Dominando o Iptables (parte 2) [Artigo]

127.0.0.1pingstatistics
1packetstransmitted,1received,0%packetloss,time0ms
rttmin/avg/max/mdev=0.080/0.080/0.080/0.000ms

Verificamos que o ping que envia um nico pacote resolvido com sucesso. Agora vamos adicionar a
seguinteregra:

#iptablesAINPUTs127.0.0.1picmpjDROP

Atravs desta regra vamos fazer com que os pacotes enviados pelo ping sejam descartados. Veja que
adicionamos(A)chainINPUTumaregraespecificandoquepacotesvindosde127.0.0.1(s127.0.0.1)
comoprotocoloICMP(picmp)devemsermandadosparaDROP(jDROP).

Vamosapagararegradeduasformasdiferentes:

#iptablesDINPUT1

Paraapagararegranmero1nachainINPUT,nossanicaregra.

Oufazendodestaforma:

#iptablesDINPUTs127.0.0.1picmpjDROP

Verifiquequeanicamudanaemrelaoanossaprimeiraregrafoimudanapara"D".Estaexclusos
vaifuncionarsearegraestiverexatamenteigualspassadasporA(ouIouR).Casoocorradehaver
maisdeumaregraigual,aprimeiradalistaserapagada.

Outraopointeressanteincluirnovamentearegraacimaeentrarcomoseguintecomando:

#iptablesAINPUTs127.0.0.1picmpjDROP
#iptablesL
Chain INPUT (policy DROP)
target prot opt source destination
DROP icmp -- localhost anywhere
...

#~:iptablesF

Vejaquearegraentrada2fogesintaxecitadaacima.Elamostraasregrasemrigor.Jaregratrsapaga
todasasregras.Nonossocasotemosapenasuma.

Entendendoosparmetrosdefiltragem

Como vimos anteriormente, usamos dois parmetros para a filtragem dos pacotes, foram eles: "p" para
especificaroprotocoloutilizadoe"s"paraespecificaroendereodeorigem.NomanualdoIptablestemos

www.vivaolinux.com.br/artigos/impressora.php?codigo=3901 2/5
17/03/13 Dominando o Iptables (parte 2) [Artigo]

uma longa verso desta parte, que vou reduzir para facilitar a leitura, dividindo em tpicos, fazendo uma
pequenadescrioeincluindoumaregraexemploparamelhoraroentendimento:

Endereos

Usamosdoisparmetrosdiferentesparaespecificaroendereoorigemeoendereodestino.Soeles:

s,source,src:Origem
d,destination,dst:Destino.

muito importante conhecer as caractersticas de manipulao de valores aceitos pra estes parmetros.
Vejaabaixo:

#iptablesAFORWARDs10.38.11.10d10.38.5.100jDROP

Ospacotesdeorigemem10.38.11.10destinadosa10.38.5.100serodescartados.

#iptablesAFORWARDs10.38.11.0/24d10.38.5.100jDROP

Os pacotes de origem em 10.38.11.0 ate 10.38.11.255 destinados a 10.38.5.100 sero descartados.


Podemosusarvalorestambmcomowww.microsoft.com,localhosteetcnasnossasregras,vejaabaixo.

#iptablesAFORWARDd!www.microsoft.com.brjACCEPT

Nestaregrausamoso"!"pararealizarumainversodestaformatodososendereosestoliberadosapenas
ositedaMicrosoftestarproibido.

Protocolos

Usamosoparmetro'p'(ou`protocol')paraespecificaroprotocoloenvolvido.Comoexemplotemos:
`TCP', `UDP' ou `ICMP', neste caso no faz diferena digitar 'UDP' ou 'udp'. Os protocolos podem ser
especificadostambmpeloseunmero,quevocencontraem/etc/protocols.Vejamos:

#iptablesAFORWARDptcpdport80jDROP

Nestaregratemosqueospacotesrelacionadoscomoprotocolo'tcp'edestinadosporta80devemser
descartados.Nosepreocupecomoparmetro'dport'.Nofuturoiremostratardelecommaisdetalhes.
EstaregramuitotilquandousamosumSquid,porexemplo,paraimpedirqueusurioacessewebsites
sem a configurao de proxy, obrigando ele ir pela porta 3128 (padro) do Squid para ter acesso a
websites.Vejaminhadicaemrelaoaissocommaisdetalhesnestelink:

www.vivaolinux.com.br/artigos/impressora.php?codigo=3901 3/5
17/03/13 Dominando o Iptables (parte 2) [Artigo]

Forandoousodoproxycomiptables

Interfaces

Usamosdoisparmetrosparamanipularofluxodosdadospelasinterfaces(eth0,eth1,etc)soeles:

i,ininterface:interfaceporondeospacotesvieram
o,outinterface:interfaceporondeospacotesestosaindo.

O i no pode ser utilizado com a chain OUTPUT, assim como o no pode ser utilizado com a chain
INPUT.ApenaspacotespassandopelachainFORWARDtminterfacesdeentradaesada.Vejamos:

#iptablesAFORWARDi!eth0jDROP

Nestaregratemosqueospacotesqueentrampelainterfaceeth0seroaceitos,omesmonovaiacontecer
com todas as outras interfaces. Fiquem atentos inverso "!". Quando queremos criar regras do Iptables
para interfaces que ainda no existem, como a ppp0, fazemos da mesma forma como para as existentes,
sendoqueasregrasscomearoafuncionarquandoainterfaceexistir.Podemostambmusaraopo
eth+paraaplicarasregrasemtodasasinterfacescomumanicalinhadecdigo:

#iptablesAFORWARDieth+jDROP

Nestaregratodosospacotesqueentrampelasinterfaces,eth0,eth1,eth2eetcseronegados.

Inverso

Muitas flags podem ter seus argumentos precedidos de "!" para associarse com partes diferentes aos
passados na opo. interessante compreender bem o uso do "!" pois, na prtica, ele bastante usado.
Paraevitardvidasnacompreensodescriptsfirewallgrandes,semprecomenteseucdigo,poisdetalhes
assimpodemconfundiroutroadministradorderedesmaisdesatento.

Terminandoereferncias

Nestesegundoartigocomeamosatrabalharcomosparmetrosquetrabalhamcomosdadosnasregras,
conhecemosseusconceitosealgumasregrasprticas.NoprximoartigoiremostratardeextensesTCPe

www.vivaolinux.com.br/artigos/impressora.php?codigo=3901 4/5
17/03/13 Dominando o Iptables (parte 2) [Artigo]

continuardesenvolvendonossoconhecimentonaconstruodefirewallcomIptables.

Referncias
Linux2.4PacketFilteringHOWTO
FirewallLinuxIptables
IptablesTutorial1.1.19

http://www.vivaolinux.com.br/artigo/DominandooIptables(parte2)

Voltarparaosite

www.vivaolinux.com.br/artigos/impressora.php?codigo=3901 5/5

Вам также может понравиться