Você está na página 1de 42

Iptables

Verso 1.0.0

Sumrio
I

Sobre essa Apostila

II Informaes Bsicas

III GNU Free Documentation License

IV

Iptables

18

1 O que o Iptables
2 Plano de ensino
2.1 Objetivo . . .
2.2 Pblico Alvo .
2.3 Pr-requisitos
2.4 Descrio . .
2.5 Metodologia .
2.6 Cronograma
2.7 Programa . .
2.8 Avaliao . .
2.9 Bibliografia .

19
.
.
.
.
.
.
.
.
.

20
20
20
20
20
20
20
21
21
21

.
.
.
.

22
22
22
23
23

4 Tabelas
4.1 Tabela Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Tabela NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Tabela Mangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25
25
26
27

5 Sintaxe de Uso
5.1 Antes de comear . . . .
5.2 Sintaxe de Uso . . . . . .
5.2.1 Comandos . . . .
5.3 Especificao das regras

28
28
28
28
30

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

3 Histrico
3.1 Introduo ao Netfilter/Iptables .
3.1.1 Firewall Filtro de Pacotes
3.1.2 Firewall NAT . . . . . . .
3.1.3 Netfilter/Iptables . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
1

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

5.4 Alvos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6 Aplicaes da tabela nat
6.1 Consideraes Iniciais . . . . . . . . .
6.2 SNAT . . . . . . . . . . . . . . . . . .
6.3 DNAT . . . . . . . . . . . . . . . . . .
6.4 Proxy Transparente . . . . . . . . . . .
6.5 Compartilhamento de internet via NAT

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

33
33
33
33
34
34

7 Aplicaes da tabela mangle


7.1 TOS . . . . . . . . . . . . .
7.2 Aplicando TOS . . . . . . .
7.3 TOS no trfego de entrada
7.4 TOS no trfego de sada . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

35
35
35
36
36

.
.
.
.
.
.

37
37
37
38
38
39
40

8 Modulos
8.1 Limit . .
8.2 State . .
8.3 Mac . .
8.4 Multiport
8.5 String .
8.6 Owner .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

Parte I

Sobre essa Apostila

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

Contedo
O contedo dessa apostila fruto da compilao de diversos materiais livres publicados na internet, disponveis em diversos sites ou originalmente produzido no CDTC (http://www.cdtc.org.br.)
O formato original deste material bem como sua atualizao est disponvel dentro da licena
GNU Free Documentation License, cujo teor integral encontra-se aqui reproduzido na seo de
mesmo nome, tendo inclusive uma verso traduzida (no oficial).
A reviso e alterao vem sendo realizada pelo CDTC (suporte@cdtc.org.br) desde outubro
de 2006. Crticas e sugestes construtivas sero bem-vindas a qualquer hora.

Autores
A autoria deste de responsabilidade de Waldemar Silva Jnior (waldemar@cdtc.org.br).
O texto original faz parte do projeto Centro de Difuso de Tecnologia e Conhecimento que
vm sendo realizado pelo ITI (Instituto Nacional de Tecnologia da Informao) em conjunto com
outros parceiros institucionais, e com as universidades federais brasileiras que tem produzido e
utilizado Software Livre apoiando inclusive a comunidade Free Software junto a outras entidades
no pas.
Informaes adicionais podem ser obtidas atravs do email ouvidoria@cdtc.org.br, ou da
home page da entidade, atravs da URL http://www.cdtc.org.br.

Garantias
O material contido nesta apostila isento de garantias e o seu uso de inteira responsabilidade do usurio/leitor. Os autores, bem como o ITI e seus parceiros, no se responsabilizam
direta ou indiretamente por qualquer prejuzo oriundo da utilizao do material aqui contido.

Licena
Copyright 2006, Instituto Nacional de Tecnologia da Informao (cdtc@iti.gov.br) .
Permission is granted to copy, distribute and/or modify this document under the terms
of the GNU Free Documentation License, Version 1.1 or any later version published by
the Free Software Foundation; with the Invariant Chapter being SOBRE ESSA APOSTILA. A copy of the license is included in the section entitled GNU Free Documentation
License.

Parte II

Informaes Bsicas

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

Sobre o CDTC
Objetivo Geral
O Projeto CDTC visa a promoo e o desenvolvimento de aes que incentivem a disseminao de solues que utilizem padres abertos e no proprietrios de tecnologia, em proveito do
desenvolvimento social, cultural, poltico, tecnolgico e econmico da sociedade brasileira.
Objetivo Especfico
Auxiliar o Governo Federal na implantao do plano nacional de software no-proprietrio e
de cdigo fonte aberto, identificando e mobilizando grupos de formadores de opinio dentre os
servidores pblicos e agentes polticos da Unio Federal, estimulando e incentivando o mercado
nacional a adotar novos modelos de negcio da tecnologia da informao e de novos negcios
de comunicao com base em software no-proprietrio e de cdigo fonte aberto, oferecendo
treinamento especfico para tcnicos, profissionais de suporte e funcionrios pblicos usurios,
criando grupos de funcionrios pblicos que iro treinar outros funcionrios pblicos e atuar como
incentivadores e defensores dos produtos de software no proprietrios e cdigo fonte aberto, oferecendo contedo tcnico on-line para servios de suporte, ferramentas para desenvolvimento de
produtos de software no proprietrios e do seu cdigo fonte livre, articulando redes de terceiros
(dentro e fora do governo) fornecedoras de educao, pesquisa, desenvolvimento e teste de produtos de software livre.

Guia do aluno
Neste guia, voc ter reunidas uma srie de informaes importantes para que voc comece
seu curso. So elas:
Licenas para cpia de material disponvel;
Os 10 mandamentos do aluno de Educao a Distncia;
Como participar dos foruns e da wikipdia;
Primeiros passos.
muito importante que voc entre em contato com TODAS estas informaes, seguindo o
roteiro acima.

Licena
Copyright 2006, Instituto Nacional de Tecnologia da Informao (cdtc@iti.gov.br).
6

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

dada permisso para copiar, distribuir e/ou modificar este documento sob os termos
da Licena de Documentao Livre GNU, Verso 1.1 ou qualquer verso posterior
pblicada pela Free Software Foundation; com o Capitulo Invariante SOBRE ESSA
APOSTILA. Uma cpia da licena est inclusa na seo entitulada "Licena de Documentao Livre GNU".

Os 10 mandamentos do aluno de educao online

1. Acesso Internet: ter endereo eletrnico, um provedor e um equipamento adequado


pr-requisito para a participao nos cursos a distncia;
2. Habilidade e disposio para operar programas: ter conhecimentos bsicos de Informtica necessrio para poder executar as tarefas;
3. Vontade para aprender colaborativamente: interagir, ser participativo no ensino a distncia conta muitos pontos, pois ir colaborar para o processo ensino-aprendizagem pessoal,
dos colegas e dos professores;
4. Comportamentos compatveis com a etiqueta: mostrar-se interessado em conhecer seus
colegas de turma respeitando-os e se fazendo ser respeitado pelos mesmos;
5. Organizao pessoal: planejar e organizar tudo fundamental para facilitar a sua reviso
e a sua recuperao de materiais;
6. Vontade para realizar as atividades no tempo correto: anotar todas as suas obrigaes e
realiz-las em tempo real;
7. Curiosidade e abertura para inovaes: aceitar novas idias e inovar sempre;
8. Flexibilidade e adaptao: requisitos necessrio mudana tecnolgica, aprendizagens
e descobertas;
9. Objetividade em sua comunicao: comunicar-se de forma clara, breve e transparente
ponto - chave na comunicao pela Internet;
10. Responsabilidade: ser responsvel por seu prprio aprendizado. O ambiente virtual no
controla a sua dedicao, mas reflete os resultados do seu esforo e da sua colaborao.

Como participar dos fruns e Wikipdia


Voc tem um problema e precisa de ajuda?
Podemos te ajudar de 2 formas:
A primeira o uso dos fruns de notcias e de dvidas gerais que se distinguem pelo uso:
. O frum de notcias tem por objetivo disponibilizar um meio de acesso rpido a informaes
que sejam pertinentes ao curso (avisos, notcias). As mensagens postadas nele so enviadas a
7

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

todos participantes. Assim, se o monitor ou algum outro participante tiver uma informao que
interesse ao grupo, favor post-la aqui.
Porm, se o que voc deseja resolver alguma dvida ou discutir algum tpico especfico do
curso. recomendado que voc faa uso do Frum de dvidas gerais que lhe d recursos mais
efetivos para esta prtica.
. O frum de dvidas gerais tem por objetivo disponibilizar um meio fcil, rpido e interativo
para solucionar suas dvidas e trocar experincias. As mensagens postadas nele so enviadas
a todos participantes do curso. Assim, fica muito mais fcil obter respostas, j que todos podem
ajudar.
Se voc receber uma mensagem com algum tpico que saiba responder, no se preocupe com a
formalizao ou a gramtica. Responda! E no se esquea de que antes de abrir um novo tpico
recomendvel ver se a sua pergunta j foi feita por outro participante.
A segunda forma se d pelas Wikis:
. Uma wiki uma pgina web que pode ser editada colaborativamente, ou seja, qualquer participante pode inserir, editar, apagar textos. As verses antigas vo sendo arquivadas e podem
ser recuperadas a qualquer momento que um dos participantes o desejar. Assim, ela oferece um
timo suporte a processos de aprendizagem colaborativa. A maior wiki na web o site "Wikipdia", uma experincia grandiosa de construo de uma enciclopdia de forma colaborativa, por
pessoas de todas as partes do mundo. Acesse-a em portugus pelos links:
Pgina principal da Wiki - http://pt.wikipedia.org/wiki/
Agradecemos antecipadamente a sua colaborao com a aprendizagem do grupo!

Primeiros Passos
Para uma melhor aprendizagem recomendvel que voc siga os seguintes passos:
Ler o Plano de Ensino e entender a que seu curso se dispe a ensinar;
Ler a Ambientao do Moodle para aprender a navegar neste ambiente e se utilizar das
ferramentas bsicas do mesmo;
Entrar nas lies seguindo a seqncia descrita no Plano de Ensino;
Qualquer dvida, reporte ao Frum de Dvidas Gerais.

Perfil do Tutor
Segue-se uma descrio do tutor ideal, baseada no feedback de alunos e de tutores.
O tutor ideal um modelo de excelncia: consistente, justo e profissional nos respectivos
valores e atitudes, incentiva mas honesto, imparcial, amvel, positivo, respeitador, aceita as
idias dos estudantes, paciente, pessoal, tolerante, apreciativo, compreensivo e pronto a ajudar.
8

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

A classificao por um tutor desta natureza proporciona o melhor feedback possvel, crucial, e,
para a maior parte dos alunos, constitui o ponto central do processo de aprendizagem. Este tutor
ou instrutor:
fornece explicaes claras acerca do que ele espera e do estilo de classificao que ir
utilizar;
gosta que lhe faam perguntas adicionais;
identifica as nossas falhas, mas corrige-as amavelmente, diz um estudante, e explica porque motivo a classificao foi ou no foi atribuda;
tece comentrios completos e construtivos, mas de forma agradvel (em contraste com um
reparo de um estudante: os comentrios deixam-nos com uma sensao de crtica, de
ameaa e de nervossismo)
d uma ajuda complementar para encorajar um estudante em dificuldade;
esclarece pontos que no foram entendidos, ou corretamente aprendidos anteriormente;
ajuda o estudante a alcanar os seus objetivos;
flexvel quando necessrio;
mostra um interesse genuno em motivar os alunos (mesmo os principiantes e, por isso,
talvez numa fase menos interessante para o tutor);
escreve todas as correes de forma legvel e com um nvel de pormenorizao adequado;
acima de tudo, devolve os trabalhos rapidamente;

Parte III

GNU Free Documentation License

10

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

(Traduzido pelo Joo S. O. Bueno atravs do CIPSGA em 2001)


Esta uma traduo no oficial da Licena de Documentao Livre GNU em Portugus Brasileiro. Ela no publicada pela Free Software Foundation, e no se aplica legalmente a distribuio
de textos que usem a GFDL - apenas o texto original em Ingls da GNU FDL faz isso. Entretanto,
ns esperamos que esta traduo ajude falantes de portugus a entenderem melhor a GFDL.
This is an unofficial translation of the GNU General Documentation License into Brazilian Portuguese. It was not published by the Free Software Foundation, and does not legally state the
distribution terms for software that uses the GFDLonly the original English text of the GFDL does
that. However, we hope that this translation will help Portuguese speakers understand the GFDL
better.
Licena de Documentao Livre GNU Verso 1.1, Maro de 2000
Copyright (C) 2000 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
permitido a qualquer um copiar e distribuir cpias exatas deste documento de licena, mas
no permitido alter-lo.

INTRODUO
O propsito desta Licena deixar um manual, livro-texto ou outro documento escrito "livre"no
sentido de liberdade: assegurar a qualquer um a efetiva liberdade de copi-lo ou redistribui-lo,
com ou sem modificaes, comercialmente ou no. Secundariamente, esta Licena mantm
para o autor e editor uma forma de ter crdito por seu trabalho, sem ser considerado responsvel
pelas modificaes feitas por terceiros.
Esta Licena um tipo de "copyleft"("direitos revertidos"), o que significa que derivaes do
documento precisam ser livres no mesmo sentido. Ela complementa a GNU Licena Pblica Geral (GNU GPL), que um copyleft para software livre.
Ns fizemos esta Licena para que seja usada em manuais de software livre, por que software
livre precisa de documentao livre: um programa livre deve ser acompanhado de manuais que
provenham as mesmas liberdades que o software possui. Mas esta Licena no est restrita a
manuais de software; ela pode ser usada para qualquer trabalho em texto, independentemente
do assunto ou se ele publicado como um livro impresso. Ns recomendamos esta Licena principalmente para trabalhos cujo propsito seja de introduo ou referncia.

APLICABILIDADE E DEFINIES
Esta Licena se aplica a qualquer manual ou outro texto que contenha uma nota colocada pelo
detentor dos direitos autorais dizendo que ele pode ser distribudo sob os termos desta Licena.
O "Documento"abaixo se refere a qualquer manual ou texto. Qualquer pessoa do pblico um

11

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

licenciado e referida como "voc".


Uma "Verso Modificada"do Documento se refere a qualquer trabalho contendo o documento
ou uma parte dele, quer copiada exatamente, quer com modificaes e/ou traduzida em outra
lngua.
Uma "Seo Secundria" um apndice ou uma seo inicial do Documento que trata exclusivamente da relao dos editores ou dos autores do Documento com o assunto geral do
Documento (ou assuntos relacionados) e no contm nada que poderia ser includo diretamente
nesse assunto geral (Por exemplo, se o Documento em parte um livro texto de matemtica, a
Seo Secundria pode no explicar nada de matemtica).
Essa relao poderia ser uma questo de ligao histrica com o assunto, ou matrias relacionadas, ou de posies legais, comerciais, filosficas, ticas ou polticas relacionadas ao mesmo.
As "Sees Invariantes"so certas Sees Secundrias cujos ttulos so designados, como
sendo de Sees Invariantes, na nota que diz que o Documento publicado sob esta Licena.
Os "Textos de Capa"so certos trechos curtos de texto que so listados, como Textos de Capa
Frontal ou Textos da Quarta Capa, na nota que diz que o texto publicado sob esta Licena.
Uma cpia "Transparente"do Documento significa uma cpia que pode ser lida automaticamente, representada num formato cuja especificao esteja disponvel ao pblico geral, cujos
contedos possam ser vistos e editados diretamente e sem mecanismos especiais com editores
de texto genricos ou (para imagens compostas de pixels) programas de pintura genricos ou
(para desenhos) por algum editor de desenhos grandemente difundido, e que seja passvel de
servir como entrada a formatadores de texto ou para traduo automtica para uma variedade
de formatos que sirvam de entrada para formatadores de texto. Uma cpia feita em um formato
de arquivo outrossim Transparente cuja constituio tenha sido projetada para atrapalhar ou desencorajar modificaes subsequentes pelos leitores no Transparente. Uma cpia que no
"Transparente" chamada de "Opaca".
Exemplos de formatos que podem ser usados para cpias Transparentes incluem ASCII simples sem marcaes, formato de entrada do Texinfo, formato de entrada do LaTex, SGML ou XML
usando uma DTD disponibilizada publicamente, e HTML simples, compatvel com os padres, e
projetado para ser modificado por pessoas. Formatos opacos incluem PostScript, PDF, formatos
proprietrios que podem ser lidos e editados apenas com processadores de texto proprietrios,
SGML ou XML para os quais a DTD e/ou ferramentas de processamento e edio no estejam
disponveis para o pblico, e HTML gerado automaticamente por alguns editores de texto com
finalidade apenas de sada.
A "Pgina do Ttulo"significa, para um livro impresso, a pgina do ttulo propriamente dita,
mais quaisquer pginas subsequentes quantas forem necessrias para conter, de forma legvel,
o material que esta Licena requer que aparea na pgina do ttulo. Para trabalhos que no
tenham uma pgina do ttulo, "Pgina do Ttulo"significa o texto prximo da apario mais proeminente do ttulo do trabalho, precedendo o incio do corpo do texto.

12

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

FAZENDO CPIAS EXATAS


Voc pode copiar e distribuir o Documento em qualquer meio, de forma comercial ou no
comercial, desde que esta Licena, as notas de copyright, e a nota de licena dizendo que esta
Licena se aplica ao documento estejam reproduzidas em todas as cpias, e que voc no acrescente nenhuma outra condio, quaisquer que sejam, s desta Licena.
Voc no pode usar medidas tcnicas para obstruir ou controlar a leitura ou confeco de
cpias subsequentes das cpias que voc fizer ou distribuir. Entretanto, voc pode aceitar compensao em troca de cpias. Se voc distribuir uma quantidade grande o suficiente de cpias,
voc tambm precisa respeitar as condies da seo 3.
Voc tambm pode emprestar cpias, sob as mesmas condies colocadas acima, e tambm
pode exibir cpias publicamente.

FAZENDO CPIAS EM QUANTIDADE


Se voc publicar cpias do Documento em nmero maior que 100, e a nota de licena do
Documento obrigar Textos de Capa, voc precisar incluir as cpias em capas que tragam, clara
e legivelmente, todos esses Textos de Capa: Textos de Capa da Frente na capa da frente, e
Textos da Quarta Capa na capa de trs. Ambas as capas tambm precisam identificar clara e
legivelmente voc como o editor dessas cpias. A capa da frente precisa apresentar o ttulo completo com todas as palavras do ttulo igualmente proeminentes e visveis. Voc pode adicionar
outros materiais s capas. Fazer cpias com modificaes limitadas s capas, tanto quanto estas
preservem o ttulo do documento e satisfaam a essas condies, pode ser tratado como cpia
exata em outros aspectos.
Se os textos requeridos em qualquer das capas for muito volumoso para caber de forma
legvel, voc deve colocar os primeiros (tantos quantos couberem de forma razovel) na capa
verdadeira, e continuar os outros nas pginas adjacentes.
Se voc publicar ou distribuir cpias Opacas do Documento em nmero maior que 100, voc
precisa ou incluir uma cpia Transparente que possa ser lida automaticamente com cada cpia
Opaca, ou informar, em ou com, cada cpia Opaca a localizao de uma cpia Transparente
completa do Documento acessvel publicamente em uma rede de computadores, qual o pblico
usurio de redes tenha acesso a download gratuito e annimo utilizando padres pblicos de
protocolos de rede. Se voc utilizar o segundo mtodo, voc precisar tomar cuidados razoavelmente prudentes, quando iniciar a distribuio de cpias Opacas em quantidade, para assegurar
que esta cpia Transparente vai permanecer acessvel desta forma na localizao especificada
por pelo menos um ano depois da ltima vez em que voc distribuir uma cpia Opaca (diretamente ou atravs de seus agentes ou distribuidores) daquela edio para o pblico.
pedido, mas no obrigatrio, que voc contate os autores do Documento bem antes de
redistribuir qualquer grande nmero de cpias, para lhes dar uma oportunidade de prover voc
com uma verso atualizada do Documento.

13

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

MODIFICAES
Voc pode copiar e distribuir uma Verso Modificada do Documento sob as condies das sees 2 e 3 acima, desde que voc publique a Verso Modificada estritamente sob esta Licena,
com a Verso Modificada tomando o papel do Documento, de forma a licenciar a distribuio
e modificao da Verso Modificada para quem quer que possua uma cpia da mesma. Alm
disso, voc precisa fazer o seguinte na verso modificada:
A. Usar na Pgina de Ttulo (e nas capas, se houver alguma) um ttulo distinto daquele do Documento, e daqueles de verses anteriores (que deveriam, se houvesse algum, estarem listados
na seo "Histrico do Documento"). Voc pode usar o mesmo ttulo de uma verso anterior se
o editor original daquela verso lhe der permisso;
B. Listar na Pgina de Ttulo, como autores, uma ou mais das pessoas ou entidades responsveis pela autoria das modificaes na Verso Modificada, conjuntamente com pelo menos cinco
dos autores principais do Documento (todos os seus autores principais, se ele tiver menos que
cinco);
C. Colocar na Pgina de Ttulo o nome do editor da Verso Modificada, como o editor;
D. Preservar todas as notas de copyright do Documento;
E. Adicionar uma nota de copyright apropriada para suas prprias modificaes adjacente s
outras notas de copyright;
F. Incluir, imediatamente depois das notas de copyright, uma nota de licena dando ao pblico
o direito de usar a Verso Modificada sob os termos desta Licena, na forma mostrada no tpico
abaixo;
G. Preservar nessa nota de licena as listas completas das Sees Invariantes e os Textos de
Capa requeridos dados na nota de licena do Documento;
H. Incluir uma cpia inalterada desta Licena;
I. Preservar a seo entitulada "Histrico", e seu ttulo, e adicionar mesma um item dizendo
pelo menos o ttulo, ano, novos autores e editor da Verso Modificada como dados na Pgina de
Ttulo. Se no houver uma sesso denominada "Histrico"no Documento, criar uma dizendo o
ttulo, ano, autores, e editor do Documento como dados em sua Pgina de Ttulo, ento adicionar
um item descrevendo a Verso Modificada, tal como descrito na sentena anterior;
J. Preservar o endereo de rede, se algum, dado no Documento para acesso pblico a uma
cpia Transparente do Documento, e da mesma forma, as localizaes de rede dadas no Documento para as verses anteriores em que ele foi baseado. Elas podem ser colocadas na seo
"Histrico". Voc pode omitir uma localizao na rede para um trabalho que tenha sido publicado
pelo menos quatro anos antes do Documento, ou se o editor original da verso a que ela se refira
der sua permisso;
K. Em qualquer seo entitulada "Agradecimentos"ou "Dedicatrias", preservar o ttulo da
14

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

seo e preservar a seo em toda substncia e fim de cada um dos agradecimentos de contribuidores e/ou dedicatrias dados;
L. Preservar todas as Sees Invariantes do Documento, inalteradas em seus textos ou em
seus ttulos. Nmeros de seo ou equivalentes no so considerados parte dos ttulos da seo;
M. Apagar qualquer seo entitulada "Endossos". Tal sesso no pode ser includa na Verso
Modificada;
N. No reentitular qualquer seo existente com o ttulo "Endossos"ou com qualquer outro
ttulo dado a uma Seo Invariante.
Se a Verso Modificada incluir novas sees iniciais ou apndices que se qualifiquem como
Sees Secundrias e no contenham nenhum material copiado do Documento, voc pode optar
por designar alguma ou todas aquelas sees como invariantes. Para fazer isso, adicione seus
ttulos lista de Sees Invariantes na nota de licena da Verso Modificada. Esses ttulos precisam ser diferentes de qualquer outro ttulo de seo.
Voc pode adicionar uma seo entitulada "Endossos", desde que ela no contenha qualquer coisa alm de endossos da sua Verso Modificada por vrias pessoas ou entidades - por
exemplo, declaraes de revisores ou de que o texto foi aprovado por uma organizao como a
definio oficial de um padro.
Voc pode adicionar uma passagem de at cinco palavras como um Texto de Capa da Frente
, e uma passagem de at 25 palavras como um Texto de Quarta Capa, ao final da lista de Textos
de Capa na Verso Modificada. Somente uma passagem de Texto da Capa da Frente e uma de
Texto da Quarta Capa podem ser adicionados por (ou por acordos feitos por) qualquer entidade.
Se o Documento j incluir um texto de capa para a mesma capa, adicionado previamente por
voc ou por acordo feito com alguma entidade para a qual voc esteja agindo, voc no pode
adicionar um outro; mas voc pode trocar o antigo, com permisso explcita do editor anterior que
adicionou a passagem antiga.
O(s) autor(es) e editor(es) do Documento no do permisso por esta Licena para que seus
nomes sejam usados para publicidade ou para assegurar ou implicar endossamento de qualquer
Verso Modificada.

COMBINANDO DOCUMENTOS
Voc pode combinar o Documento com outros documentos publicados sob esta Licena, sob
os termos definidos na seo 4 acima para verses modificadas, desde que voc inclua na combinao todas as Sees Invariantes de todos os documentos originais, sem modificaes, e liste
todas elas como Sees Invariantes de seu trabalho combinado em sua nota de licena.
O trabalho combinado precisa conter apenas uma cpia desta Licena, e Sees Invariantes
Idnticas com multiplas ocorrncias podem ser substitudas por apenas uma cpia. Se houver
mltiplas Sees Invariantes com o mesmo nome mas com contedos distintos, faa o ttulo de
15

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

cada seo nico adicionando ao final do mesmo, em parnteses, o nome do autor ou editor
origianl daquela seo, se for conhecido, ou um nmero que seja nico. Faa o mesmo ajuste
nos ttulos de seo na lista de Sees Invariantes nota de licena do trabalho combinado.
Na combinao, voc precisa combinar quaisquer sees entituladas "Histrico"dos diversos documentos originais, formando uma seo entitulada "Histrico"; da mesma forma combine
quaisquer sees entituladas "Agradecimentos", ou "Dedicatrias". Voc precisa apagar todas as
sees entituladas como "Endosso".

COLETNEAS DE DOCUMENTOS
Voc pode fazer uma coletnea consitindo do Documento e outros documentos publicados
sob esta Licena, e substituir as cpias individuais desta Licena nos vrios documentos com
uma nica cpia incluida na coletnea, desde que voc siga as regras desta Licena para cpia
exata de cada um dos Documentos em todos os outros aspectos.
Voc pode extrair um nico documento de tal coletnea, e distribu-lo individualmente sob
esta Licena, desde que voc insira uma cpia desta Licena no documento extrado, e siga esta
Licena em todos os outros aspectos relacionados cpia exata daquele documento.

AGREGAO COM TRABALHOS INDEPENDENTES


Uma compilao do Documento ou derivados dele com outros trabalhos ou documentos separados e independentes, em um volume ou mdia de distribuio, no conta como uma Verso Modificada do Documento, desde que nenhum copyright de compilao seja reclamado pela
compilao. Tal compilao chamada um "agregado", e esta Licena no se aplica aos outros
trabalhos auto-contidos compilados junto com o Documento, s por conta de terem sido assim
compilados, e eles no so trabalhos derivados do Documento.
Se o requerido para o Texto de Capa na seo 3 for aplicvel a essas cpias do Documento,
ento, se o Documento constituir menos de um quarto de todo o agregado, os Textos de Capa
do Documento podem ser colocados em capas adjacentes ao Documento dentro do agregado.
Seno eles precisaro aparecer nas capas de todo o agregado.

TRADUO
Traduo considerada como um tipo de modificao, ento voc pode distribuir tradues
do Documento sob os termos da seo 4. A substituio de Sees Invariantes por tradues
requer uma permisso especial dos detentores do copyright das mesmas, mas voc pode incluir
tradues de algumas ou de todas as Sees Invariantes em adio s verses orignais dessas
Sees Invariantes. Voc pode incluir uma traduo desta Licena desde que voc tambm inclua a verso original em Ingls desta Licena. No caso de discordncia entre a traduo e a

16

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

verso original em Ingls desta Licena, a verso original em Ingls prevalecer.

TRMINO
Voc no pode copiar, modificar, sublicenciar, ou distribuir o Documento exceto como expressamente especificado sob esta Licena. Qualquer outra tentativa de copiar, modificar, sublicenciar, ou distribuir o Documento nula, e resultar automaticamente no trmino de seus direitos
sob esta Licena. Entretanto, terceiros que tenham recebido cpias, ou direitos de voc sob esta
Licena no tero suas licenas terminadas, tanto quanto esses terceiros permaneam em total
acordo com esta Licena.

REVISES FUTURAS DESTA LICENA


A Free Software Foundation pode publicar novas verses revisadas da Licena de Documentao Livre GNU de tempos em tempos. Tais novas verses sero similares em espirito verso
presente, mas podem diferir em detalhes ao abordarem novos porblemas e preocupaes. Veja
http://www.gnu.org/copyleft/.
A cada verso da Licena dado um nmero de verso distinto. Se o Documento especificar
que uma verso particular desta Licena "ou qualquer verso posterior"se aplica ao mesmo, voc
tem a opo de seguir os termos e condies daquela verso especfica, ou de qualquer verso
posterior que tenha sido publicada (no como rascunho) pela Free Software Foundation. Se o
Documento no especificar um nmero de Verso desta Licena, voc pode escolher qualquer
verso j publicada (no como rascunho) pela Free Software Foundation.
ADENDO: Como usar esta Licena para seus documentos
Para usar esta Licena num documento que voc escreveu, inclua uma cpia desta Licena
no documento e ponha as seguintes notas de copyright e licenas logo aps a pgina de ttulo:
Copyright (c) ANO SEU NOME.
dada permisso para copiar, distribuir e/ou modificar este documento sob os termos da Licena
de Documentao Livre GNU, Verso 1.1 ou qualquer verso posterior publicada pela Free Software Foundation; com as Sees Invariantes sendo LISTE SEUS TTULOS, com os Textos da
Capa da Frente sendo LISTE, e com os Textos da Quarta-Capa sendo LISTE. Uma cpia da licena est inclusa na seo entitulada "Licena de Documentao Livre GNU".
Se voc no tiver nenhuma Seo Invariante, escreva "sem Sees Invariantes"ao invs de
dizer quais so invariantes. Se voc no tiver Textos de Capa da Frente, escreva "sem Textos de
Capa da Frente"ao invs de "com os Textos de Capa da Frente sendo LISTE"; o mesmo para os
Textos da Quarta Capa.
Se o seu documento contiver exemplos no triviais de cdigo de programas, ns recomendamos a publicao desses exemplos em paralelo sob a sua escolha de licena de software livre,

17

CDTC

Centro de Difuso de Tecnologia e Conhecimento

tal como a GNU General Public License, para permitir o seu uso em software livre.

18

Brasil/DF

Parte IV

Iptables

19

Captulo 1

O que o Iptables

O Iptables uma ferramenta a nvel de usurio que manipula tabelas do Netfilter atravs de
comparao de regras para saber se um pacote tem ou no permisso de passar, tambm pode
ser utilizado para modificar e monitorar o trfego da rede, fazer NAT (Masquerading, Source NAT,
Destination NAT), redirecionamento de pacotes que chegam e saem do sistema, contagem de
bytes, dividir o trfego entre mquinas , criar protees e outras potencialidades.

O curso, com base na distribuio Debian, possui uma semana, comea na segunda-feira e
termina no domingo. Todo o contedo do curso estar visvel somente a partir da data de incio.
Para comear o curso, voc deve ler o Guia do aluno a seguir.

20

Captulo 2

Plano de ensino
2.1 Objetivo
Qualificar tcnicos implementarem a filtragem de pacotes utilizando iptables em GNU/Linux.

2.2 Pblico Alvo


Tcnicos da rea de segurana de redes e administradores de rede em geral

2.3 Pr-requisitos
Os usurios devero ser, necessariamente, indicados por empresas pblicas e ter conhecimentos bsicos de redes TCP/IP.

2.4 Descrio
O curso de Iptables ser realizado na modalidade EAD e utilizar a plataforma Moodle como
ferramenta de aprendizagem. Ele composto de um mdulo de aprendizado e um mdulo de
avaliao que sero dados em uma semana. O material didtico estar disponvel on-line de
acordo com as datas pr-estabelecidas no calendrio. A verso utilizada para o Iptables ser a
1.2.11.

2.5 Metodologia
O curso est dividido da seguinte maneira:

2.6 Cronograma
Durao
1 Semana

Descrio do mdulo
Introduo, Filtragem de pacotes

21

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

Todo o material est no formato de lio, e estar disponvel ao longo do curso. As lies
podero ser acessadas quantas vezes forem necessrias. Aconselhamos a leitura de "Ambientao do Moodle", para que voc conhea o produto de Ensino a Distncia, evitando dificuldades
advindas do "desconhecimento"sobre o mesmo.
Ao final da semana do curso ser disponibilizada a prova referente ao mdulo estudado anteriormente que tambm conter perguntas sobre os textos indicados. Utilize o material e os exemplos
disponibilizados para se preparar para prova.
Os instrutores estaro a sua disposio ao longo de todo curso. Qualquer dvida deve ser disponibilizada no frum ou enviada por e-mail. Diariamente os monitores daro respostas e esclarecimentos.

2.7 Programa
Semana 1
Introduo;
Portas dos servios bem-conhecidos (well-known);
O que um filtro de pacotes?;
Utilizando o Iptables;
Guia ultra rpido para filtragem de pacotes.

2.8 Avaliao
Toda a avaliao ser feita on-line.
instrumentos de avaliao:
Avaliaes dentro das lies
Avaliao ao final do curso.
Ao final do curso, o participante far a avaliao final referente a todo o contedo do curso. Para
a aprovao e obteno do certificado o participante dever obter nota final maior ou igual a 6.0
de acordo com a frmula abaixo:

Nota Final = ((ML x 7) + (AF x 3)) / 10


ML= Mdia aritmtica das lies.
AF = Avaliao final

2.9 Bibliografia
Site official: http://www.netfilter.org

22

Captulo 3

Histrico
O projeto Netfilter/Iptables foi iniciado em 1998 por Rusty Russel, que tambm autor o projeto predecessor, Ipchains. Com o crescimento do projeto ele fundou o Netfilter Core Team (ou
simplesmente coreteam) em 1999. O software criado por eles foi licenciado sob os termos da
GPL (GNU Public License) e incorporado ao kernel do Linux em maro do ano 2000.
O Firewall um programa que tem como objetivo proteger a mquina contra acessos indesejados,
trfego indesejado, proteger servios que estejam rodando na mquina e bloquear a passagem
de coisas que voc no deseja receber (como conexes vindas da Internet para sua segura rede
local, evitando acesso aos dados corporativos de uma empresa ou a seus dados pessoais).
Antes do Iptables, o software predominante para a criao de firewalls no Linux era o Ipchains
nos kernels do Linux da srie 2.2 e o Ipfwadm da srie 2.0, que por sua vez foi baseado no Ipfw
dos BSDs.

3.1 Introduo ao Netfilter/Iptables


3.1.1 Firewall Filtro de Pacotes
Esta classe de firewall responsvel por filtrar todo o trfego direcionado ao prprio host
Firewall ou rede que este isola, tal como todos os pacotes emitidos por ele ou por sua rede.
Ocorre mediante anlise de regras previamente inseridas pelo administrador do mesmo.
O Firewall filtro de pacotes possui a capacidade de analisar cabealhos (headers) de pacotes
enquanto os mesmos trafegam. Mediante esta anlise, que fruto de uma extensa comparao
de regras previamente adicionadas, pode decidir o destino de um pacote como um todo.
A filtragem pode, ento, deixar tal pacote trafegar livremente pela rede ou simplesmente parar
sua trajetria, ignorando-o por completo. O mesmo , sem dvida, a classe mais utilizada de
Firewall e no aplicar seus conceitos deixar as portas abertas e permitir a livre circulao de
pacotes no confiveis por sua rede.
Um Firewall filtro de pacotes em sua rede lhe fornecer controle, segurana e vigilncia.

23

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

3.1.2 Firewall NAT


Um firewall aplicado classe NAT, a princpio, possui o objetivo de manipular a rota padro
de pacotes que atravessam o kernel do host Firewall aplicando-lhes o que conhecemos por "traduo de endereamento". Isso lhe agrega diversas funcionalidades dentro deste resumido conceito como, por exemplo, a de manipular o endereamento de origem (SNAT) e destino (DNAT)
dos pacotes, tal como realizar o que conhecemos como "mascaramento"(Masqueranding) sobre
conexes PPP, entre outras potencialidades.
Um firewall NAT pode, por exemplo, realizar o trabalho de um proxy de forma simples e eficiente, independentemente do IP. Veremos estas potencialidades citadas, com mais detalhes,
posteriormente.

3.1.3 Netfilter/Iptables
O Netfilter um conjunto de situaes de fluxo de dados agregados ao kernel do linux e dividido em tabelas. Sob uma tica mais prtica, podemos ver o Netfilter como um grande banco de
dados que contm em sua estrutura 3 tabelas padres: Filter, Nat e Mangle. Cada uma destas
tabelas contm regras direcionadas a seus objetivos bsicos. A tabela Filter, por exemplo, guarda
todas as regras aplicadas a um Firewall filtro de pacotes; a tabela Nat as regras direcionadas a
um Firewall Nat e a Mangle funes mais complexas de tratamento de pacote como o TOS.
Todas as tabelas possuem situaes de fluxo (entrada, sada, redirecionamento, etc.) que lhes
proporcionam a realizao de seus objetivos.
O Iptables trata-se, na verdade, de uma ferramenta a nvel de usurio para a manipulao das
tabelas do Netfilter, embora o mesmo seja freqentemente confundido com um Firewall por si s.
Ele uma verso mais robusta, completa e estvel que seus antecessores Ipfwadm e Ipchains,
dos kernels do Linux 2.0 e 2.2 , respectivamente.
Como principais caractersticas, o Iptables (alm de realizar suas tarefas de forma veloz, eficaz e econmica, tanto no aspecto financeiro quanto no de requerimento de hardware) nos d
um amplo leque de possibilidades tais como a implementao desde filtros de pacotes, utilizando
a tabela Filter, a NAT via tabela NAT e mais controles avanados como o desenvolvimento de
QOS sobre o trfego, suporte SNAT e DNAT, redirecionamento de endereamento e portas,
mascaramento de conexes, deteco de fragmentos, monitoramento de trfego, TOS, bloqueio
de ataques, scanners ocultos, pings da morte e muito mais. E alm disso tudo, ainda podemos
utilizar mdulos externos ampliando ainda mais o nosso leque de funcionalidades.
Os requerimentos bsicos para o funcionamento do Iptables so um computador sobre a arquitetura 386 com, no mnimo, 4MB de RAM e obviamente, um kernel da srie 2.4 ou superior.
O Iptables composto dos seguintes aplicativos:
Iptables: Aplicativo principal do pacote iptables para protocolos ipv4;
Ip6tables: Aplicativo principal do pacote iptables para protocolos ipv6;
Iptables-save: Aplicativo que salva todas as regras, para protocolos ipv4, inseridas na seo
24

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

ativa e tambm em um determinado arquivo informado pelo administrador do Firewall;


Ip6tables-save: Aplicativo que salva todas as regras, para protocolos ipv6, inseridas na seo
ativa e tambm em um determinado arquivo informado pelo administrador do Firewall;
Iptables-restore: Aplicativo que restaura todas as regras, para protocolos ipv4, salvas pelo software Iptables-save;
Ip6tables-restore: Aplicativo que restaura todas as regras, para protocolos ipv6, salvas pelo
software Ip6tables-save.

25

Captulo 4

Tabelas
4.1 Tabela Filter
A tabela Filter a tabela padro do Netfilter/Iptables e trata das situaes (chains) implementadas por um Firewall filtro de pacotes.
Estas situaes so:
INPUT: Todos os pacotes que entram no host;
FORWARD: Todos os pacotes que entram no host, mas que devem ser redirecionados um host
secundrio ou outra interface de rede;
OUTPUT: Todos os pacotes que saem do host.

26

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

4.2 Tabela NAT


A tabela NAT a tabela que implementa funes de NAT (Network Address Translation) ao
host Firewall. O Nat por sua vez, possui diversas utilidades, conforme abordado anteriormente.
Suas situaes (chains) so:
PREROUTING: utilizada quando h necessidade de se fazer alteraes em pacotes antes
que os mesmos sejam roteados;
OUTPUT: Trata os pacotes emitidos pelo host Firewall;
POSTROUTING: Utilizado quando h necessidade de se fazer alteraes em pacotes aps o
tratamento de roteamento.

27

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

4.3 Tabela Mangle


A tabela MANGLE implementa alteraes especiais em pacotes em um nvel mais complexo.
A tabela mangle capaz, por exemplo, de alterar a prioridade de entrada e sada de um pacote
baseado no tipo de servio (TOS) o qual o pacote se destinava.
Suas situaes so:
PREROUTING: Modifica pacotes dando-lhes um tratamento especial antes que os mesmos sejam roteados.
OUTPUT: Altera pacotes de forma especial gerados localmente antes que os mesmo sejam roteados.

28

Captulo 5

Sintaxe de Uso
5.1 Antes de comear
Antes de comear a utilizar o Iptables, precisamos nos certificar de que o ambiente est
pronto.
Cheque se o pacote iptables est instalado em seu sistema.
Abra um terminal, como o gnome-terminal, e digite:
# dpkg -l | grep iptables
Caso este comando no retorne nada, significa que voc no o tem instalado e antes de dar
seqncia ao nosso curso precisamos instal-lo com o seguinte comando:
# apt-get install iptables

5.2 Sintaxe de Uso


O Iptables possui a seguinte sintaxe de uso, que pode variar um pouco dependendo da ao
desejada, mas que, em geral, pode ser representada por:
iptables [-t tabela] -[comando] [situao (chain)] especificao-da-regra [alvo]
Veremos adiante uma descrio mais detalhada de cada parte desta sintaxe de uso.

5.2.1 Comandos
Segue abaixo uma lista de comandos bsicos do Iptables com exemplos explicativos:
-A: Adiciona uma nova entrada no fim da lista de regras:
Exemplo que adiciona uma nova regra no final da lista referente a INPUT chain:
# iptables -A INPUT
29

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

-D: Apaga uma regra especificada da lista:


Exemplo que apaga a regra inserida anteriormente apenas trocando o comando -A por -D:
#iptables -D INPUT
Obs: O comando -D tambm permite apagar uma certa regra por seu nmero da lista de ocorrncias do Iptables.
Exemplo que apaga a regra de nmero 2 referente a FORWARD chain:
# iptables -D FORWARD 2

-L: Lista as regras existentes na lista:


Exemplo que mostra a lista das regras existentes:
# iptables -L FORWARD

-P: Altera a poltica padro das chains. Inicialmente, todas as chains de um tabela esto setadas como ACCEPT, ou seja, aceitam todo e qualquer tipo de trfego.
Exemplo que modifica a poltica padro da chain FORWARD que ao invs de ser direcionada
para o alvo ACCEPT, ser direcionada para o alvo DROP. Um pacote direcionado ao alvo DROP
descartado pelo sistema:
# iptables -P FORWARD DROP

-F: Este comando capaz de remover todas as entradas da lista de chains, sem alterar a poltica padro.
Exemplo que remove todas as regras existentes:
# iptables -F
Exemplo que remove todas as regras existentes referentes a OUTPUT chain:
# iptables -F OUTPUT

-I: Insere uma nova regra ao incio da lista de regras (Ao contrrio do comando -A, que insere
ao final da lista)

30

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

# iptables -I OUTPUT

-R: Substitui uma regra j adiciona por outra:


Exemplo que substitui a segunda regra referente FORWARD chain pela seguinte: -s 10.0.40.3
-d 10.0.30.0/8 -j DROP":
# iptables -R FORWARD 2 -s 10.0.40.3 -d 10.0.30.0/8 -j DROP

-N: Este comando nos permite inserir/criar uma nova chain na tabela especificada.
Exemplo que cria uma nova chain chamada internet na tabela filter:
# iptables -t filter -N internet

-E: Renomeia uma nova chain (Que tenha sido criada pelo administrador do Firewall):
Exemplo que renomeia a chain internet para INTERNET:
# iptables -E internet INTERNET

-X: Apaga uma chain criada pelo administrador do Firewall


Exemplo que remove a chain criada e renomeada anteriormente:
# iptables -X INTERNET

5.3 Especificao das regras


A maioria dos comandos do Iptables requerem especificao para as regras a serem aplicadas. A especificao da regra tambm inclui um alvo que especifica o que fazer com os pacotes
que casam com a regra.
As seguintes opes so as mais utilizadas na criao de especificaes para as regras:
-j (jump) alvo: Especifica o alvo dos pacotes que casarem com a regra.
Exemplo:
#iptables -t filter -A INPUT -i eth0 -p tcp dport 6881 -j ACCEPT

-p (protocol) : Casa pacotes cujo protocolo utilizado seja o especificado.


31

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

Exemplo:
#iptables -t filter -A INPUT -i eth0 -p tcp dport 6881 -j ACCEPT

-s (source): Casa pacotes cuja origem seja o endereo especificado.


Exemplo:
#iptables -t filter -A INPUT -s 192.168.1.1/24 dport 6112 -j DROP

-d (destination): Casa pacotes cujo destino seja o especificado.


Exemplo:
#iptables -t filter -A INPUT -d 192.168.1.1/24 dport 6112 -j DROP

-dport (destination-port): Casa pacotes cuja porta de destino seja a especificada.


Exemplo:
#iptables -t filter -A INPUT -i eth0 -p tcp dport 6881 -j ACCEPT

-sport (source-port): Casa pacotes cuja porta de origem seja a especificada


Exemplo:
#iptables -t filter -A OUTPUT -o eth0 -p tcp sport 6881 -j DROP

Obs: Para uma lista mais completa, consulte a pgina de manual do Iptables ($man iptables)
.

5.4 Alvos
Segue abaixo um lista de algumas dps principais alvos para nossas regras:
ACCEPT: Este alvo faz com que o Netfilter aceite a passagem do pacote. O significado prtico disto depende da situao (chain) em que feita esta aceitao. Por exemplo, um pacote que
aceito numa situao de entrada (INPUT chain) ter permisso para ser recebido pelo host, j
um pacote que aceito numa situao de sada (OUTPUT chain) ter permisso para ser enviado
pelo host, assim como um pacote que aceito numa situao de encaminhamento (FORWARD
chain) ter permisso para ser roteado atravs da rede;
32

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

DROP: Este alvo faz com que o Netfilter descarte o pacote referenciado sem processamento
prvio deste. Este pacote simplesmente desaparece sem nenhuma indicao do fato de ter sido
descartado ao host ou aplicao que o enviou. Freqentemente enviada para o emissor de tal
pacote uma indicao de tempo de comunicao esgotado (timeout), o que pode gerar uma certa
confuso;
QUEQUE: Este alvo faz com que o pacote seja enviado a uma fila e aguarda at que uma aplicao o requeira. Caso no exista nenhuma aplicalvo capaz de requerer tal pacote na fila, esta
alvo equivale a alvo DROP e o pacote descartado;
REJECT: Este alvo tem o mesmo efeito do alvo DROP exceto pelo fato de que ele envia, ao
remetente do pacote, um outro pacote de erro;
LOG: Este alvo "loga"o trfego do pacote. Ou seja, cria um relatrio, no syslog, do seu percurso na rede. Pode ser usada em qualquer situao alvo (chain) e em qualquer tabela. Muito til
para anlise de quais pacotes esto sendo descartados;
SNAT: Este alvo faz com que o pacote tenha seu endereo de origem alterado. Utilizamos a
flag --to-source"para indicar o novo endereo de origem do pacote. Este alvo s vlido para
situalvos (chains) de POSTROUTING dentro da tabela NAT.
DNAT: Este alvo faz com que o pacote tenha seu endereo de destino alterado. Utilizamos a
flag --to-destination"para indicar o novo endero de destino do pacote. Esta alvo vlida apenas
para situaes alvos (chains) de OUTPUT e PREROUTING dentro da tabela NAT;
MASQUERADE:Este alvo uma forma especial restrita de SNAT para conexes com IPs dinmicos. Ao invs de ter que alterar a um alvo SNAT toda vez que o IP for alterado, este alvo
calcula o endereo IP de origem para fazer o NAT analizando o endereo IP da interface de sada
quando um pacote encontra esta regra;
REDIRECT: Este alvo responsvel pelo redirecionamento de portas. Utilizamos a flag to-port
para especificar a porta para a qual o trfego da regra ser redirecionado.

33

Captulo 6

Aplicaes da tabela nat


6.1 Consideraes Iniciais
Antes de iniciarmos a manipulao de qualquer regra que se utilize da tabela NAT, importante que habilitemos a funo de redirecionamento de pacotes (forward) em nosso kernel atravs
do seguinte comando:
#echo "1 procsysnetipvip_forward
No se esquea de utilizar este comando antes de adicionar qualquer regra que envolva a tabela NAT.
Outra observao importante que sempre que fizermos um SNAT utilizaremos a situao (chain)
POSTROUTING e sempre que fizermos um DNAT utilizaremos a situao (chain) PREROUTING,
por motivos obvios.

6.2 SNAT
bealho (header) dos pacotes que casarem com a regra criada.
Exemplo:
#iptables -t nat -A POSTROUTING -o eth0 -j SNAT to 192.168.1.223
Neste exemplo todos os pacotes que sarem pela interface de rede eth0 tero os endereos
de origem alterados para 192.168.1.223.

6.3 DNAT
Com o DNAT possvel alterar o endereo de destino dos pacotes que casarem com a regra
criada.
Exemplo:

34

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

#iptables -t nat PREROUTING -i eth0 -j DNAT to 192.168.1.223


Neste exemplo todos os pacotes que entrarem pela interface de rede eth0 tero o endereo
de destino alterados para 192.168.1.223.

6.4 Proxy Transparente


O proxy transparente a forma que a tabela NAT possui de realizar um redirecionamento de
portas em um mesmo host de destino. Este mtodo comumente utilizado, por exemplo, pelo
software Squid, pois este costuma disponibilizar acesso internet atravs da porta 3128 ao invs
da porta padro, 80, para este tipo de acesso.
Logo, conclumos que o Squid faz um redirecionamento das portas solicitadas por seus clientes, uma vez que estes solicitam conexo via porta 80 e so redirecionados porta 3128. Para
esta finalidade utilizamos as situaes (chains) PREROUTING e OUTPUT da tabela NAT e o alvo
REDIRECT.
N o confunda proxy transparente com DNAT. A nica forma de se fazer redirecionamento de
portas de destino em um mesmo host pelo alvo REDIRECT que caracteriza o modelo de proxy
transparente.
Exemplo:
#iptables -t nat -A PREROUTING -i eth0 -p tcp dport 80 -j REDIRECT to-port 3128
Neste exemplo, os pacotes que entram pela interface eth0 com destino porta 80 sero redirecionados para a porta 3128.

6.5 Compartilhamento de internet via NAT


Podemos utilizar ainda a tabela NAT para realizar o compartilhamento do acesso internet.
Isto til, por exemplo, quando desejamos que nossa rede local tenha acesso internet. Para
tanto, utilizamos o alvo MASQUERADE para fazer o que conhecemos como "mascaramento".
Exemplo:
#iptables -t nat -A POSTROUTING -o lo -d 127.0.0.0/8 -j ACCEPT
#iptables -t nat -P POSTROUTING -j DROP
#iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
Neste exemplo, todos os IPs da rede 192.168.1.0 com mscara de rede 255.255.255.0 sero
"mascarados".

35

Captulo 7

Aplicaes da tabela mangle


7.1 TOS
O TOS (Type of Service) nos permite filtrar pacotes que trafegam na nossa rede capturando informaes sobre o tipo de servio ao qual o pacote se destina. Estas informaes esto contidas
no cabealho de cada pacote. O campo TOS foi criado especificamente para que pudssemos
fazer tal filtragem.
Para usufruirmos desta funcionalidade, ns utilizamos a tabela mangle do Netfilter. O TOS
um alvo (target) para o qual direcionamos os pacotes desejados referenciando-os em uma determinada regra. Compreenderemos o seu uso mais adiante.

7.2 Aplicando TOS


Para aplicar filtragem por TOS em nossa rede fazemos uso da tabela mangle e do alvo TOS
seguido pelo parmento set-tos valor, em que os valores possveis so, em ordem descrescente
de prioridade:
Espera Mnima: especificado atravs de Minimize-Delay, 16 ou 0x10; Mximo Processamento:
especificado atravs de Maximize-Throughput, 8, ou 0x08; Mxima Confiana: especificado
atravs de Maximize-Reliability, 4 ou 0x04; Custo mnimo: Especificado atravs de Minimize-Cost,
2 ou 0x02; Prioridade Normal: Especificado atravs de Normal-Service, 0 ou 0x00.
Por pado, a prioridade dada todos os pacotes, a menos que voc especifique outro, ser a
prioridade normal.
Exemplos:
#iptables -t mangle -A OUTPUT -o eth0 -p tcp dport 5123 -j TOS set-tos 16
Este exemplo d prioridade de espera mnima todos os pacotes tcp que saem da rede pela
interface de rede eth0 com porta de destino 5123. Ou seja, estes pacotes tero uma facilidade
maior para trafegar na rede.

36

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

7.3 TOS no trfego de entrada


Esta operao realizada nas situaes (chains) INPUT ou PREROUTING. No faz muito
sentido o uso desta chain (situao) dentro de uma rede pequena ou mdia, pois o trfego que
recebermos ser priorizado pelo chain de sada de outras mquinas da internet ou de outras redes antes de chegar a nossa (desde que elas tambm estejam usando TOS).
Exemplo:
#iptables -t mangle -A PREROUTING -i eth0 -p tcp sport 6666-6668 -j TOS set-tos 0x10

7.4 TOS no trfego de sada


Esta operao pode ser realizada somente na situao (chain) OUTPUT e tem por objetivo
controlar o trfego de sada em nossa rede.
Exemplos:
Para priorizar todo o trfego de IRC de nossa rede interna indo para a interface ppp0:
#iptables -t mangle -A OUTPUT -o ppp0 -p tcp dport 6666-6668 -j TOS set-tos 16
O bit TOS ajustado para espera mnima e ser enviado antes dos pacotes com prioridade
normal para fora.
Para priorizar a transmisso de dados ftp saindo da rede:
#iptables -t mangle -A OUTPUT -o ppp0 -p tcp dport 20 -j TOS set-tos 8
Para priorizaer o trfego de ICQ da rede:
#iptables -t mangle -A OUTPUT -o ppp0 -p tcp dport 5190 -j TOS set-tos 16

37

Captulo 8

Modulos
Os mdulos do iptables so especificados com a opo -m mdulo ou match mdulo e permitem expandir a funcionalidade do firewall atravs de novas conferncias e recursos de filtragem
adicionais, como limitar a conferncia de regras do firewall (um mtodo til de limitar ping floods,
syn floods, etc).

8.1 Limit
Regras sob o mdulo limit especificam exatamente quantas vezes as mesmas devem ser executadas em um intervalo de tempo especfico e, caso isto ocorra, ela automaticamente executar
a regra seguinte.
Trata-se de um mdulo muito til para conter ataques sofisticados como ataques do tipo DOS
(Denial Of Service) onde o cracker tenta enviar o mximo de requisies ICMP possveis em um
menor intervalo de tempo, esperando que com isso cause uma negao de servios por parte de
seu Firewall.
Exemplo:
#iptables -A INPUT -p icmp icmp-type echo-request -m limit limit 1/s -j ACCEPT
Neste exemplo, temos que os pacotes de respostas de ICMP ( -p icmp ) sero aceitos somente se
recebidos em um intervalo de tempo de 1 segundo ( -m limit limit 1/s -j ACCEPT ). Caso algum
pacote ultrapasse este limite imposto pela regra, esta dever automaticamente executar a regra
seguinte que dever ser algo como:
#iptables -A INPUT -p icmp -j DROP
Esta regra ir bloquear ( -j DROP ) qualquer pacote ICMP ( -p icmp ) que chegar ao FIrewall.

8.2 State
O mdulo state atribui regras mediante a anlise do estado da conexo de um pacote. Tais
estados podem ser:
38

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

NEW: Indica que o pacote est criando uma nova conexo;


ESTABLISHED: Informa que o pacote pertence uma conexo j existente, logo, trata-se de um
pacote de resposta;
RELATED: Referente pacotes que relacionam-se indiretamente com outro pacote, a exemplo
das mensagens de erros de conexo;
INVALID: Referente pacotes no identificados por algum motivo desconhecido. Aconselha-se
que estes pacotes sejam descartados pelo Firewall.
Exemplo:
#iptables -A INPUT -m state state NEW -i eth0 -j DROP
Este exemplo faz com que qualquer nova conexo que parta da interface eth0 seja rejeitada.

8.3 Mac
Mac (Media access control) a identificao de mais baixo nvel que um dispositivo de rede
pode ter.
O mdulo mac permite que seu Firewall atue neste nvel, independentemente de endereamento
de rede. Logo, a checagem da regra no depende mais do endereo IP e sim do endereo Mac
do dispositivo de rede.
Exemplo:
#iptables -A INPUT -m mac mac-source 00:0F:B0:C2:0C:5C -j DROP
Este exemplo bloquearia qualquer pacote proveniente deste dispositivo de rede cujo endereo
mac foi referenciado.

8.4 Multiport
O mdulo multiport permite que seja especificado mltiplas portas para um alvo. Podem ser
especificadas at 15 portas em um nico parmetro e basta que uma porta confira para que a
regra entre em ao, pois a comparao feita usando condies "or". O parmetro multiport
deve ser acompanhado de um dos argumentos abaixo:
source-port [porta1, porta2...] - Faz a regra conferirse se s porta de origem estiver presente
entre as portas especificadas;
destination-port [porta1, porta2...] - Faz a regra conferir se a porta de destino estiver
presente entre as portas especificadas;
-port [porta1, porta2...] - Faz a regra conferir caso a porta de origem ou destino esteja
presente no parmetro.

39

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

Este mdulo pode eliminar muitas regras de firewall que fazem o mesmo tratamento de pacotes para diversas portas diferentes.
Exemplo:
#iptables -A INPUT -p tcp -i ppp0 -m multiport destination-port 21,23,25,80,110,113,6667 -j
DROP
Este exemplo bloqueia todos os pacotes vindo de ppp0 para as portas 21 (ftp), 23 (telnet), 25
(smtp), 80 (www), 110 (pop3), 113 (ident), 6667 (irc).

8.5 String
O mdulo string do Iptables permite a inspeo de contedo de um pacote e tomar uma ao
se determinado tipo de trfego for encontrado em um pacote. Esta tcnica pode ser usada tanto
para segurana como para economia de banda dentro da rede. Esta opo *NO* torna o Iptables como um firewall proxy, pois o proxy tem a habilidade de inspecionar o contedo, protocolo,
comandos do pacote e decidir se o seu contedo nocivo ou no.
O firewall em nvel de pacotes fazendo inspeo de contedo chega a ser 3 a 10 vezes mais
rpido do que um proxy, assim seu uso deve ser analisado dependendo do trfego que circula
pelo link e da segurana dos dados que trafegam atravs dele.
Uma boa prtica aliar esta opo a um IDS externo usando o alvo QUEUE e deixando o trabalho de inspeo de contedo para ele. Um exemplo de restrio direta o bloqueio do envio de
qualquer informao confidencial sigilosa para fora da rede interna (nmero de contas, tudo que
conferir com CPF, CGC, endereos de e-mail, memorandos, etc).
De qualquer forma, analise o trfego de sua rede antes de querer implementar qualquer soluo baseada neste mtodo sob o risco de afetar trfego legtimo.
Outra utilidade eficiente a diminuio de trfego, pois podemos barrar programas que sobrecarregam o link em uma rede com muitos usurios como, por exemplo, usando o Kazaa ou qualquer
outro programa para cpia de arquivos via Internet.
Veja alguns exemplos:
Bloqueia qualquer tentativa de acesso ao programa Kazaa:
#iptables -A INPUT -m string string "X-Kazaa-j DROP
No permite que dados confidenciais sejam enviados para fora da empresa e registra o ocorrido:
#iptables -A OUTPUT -m string string "conta-j LOG log-prefix "ALERTA: dados confidencial
"#iptables -A OUTPUT -m string string "conta-j DROP

40

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

Somente permite a passagem de pacotes que no contm ".exe"em seu contedo:


#iptables -A INPUT -m string string ! ".exe-j ACCEPT

8.6 Owner
Este mdulo confere com o usurio que iniciou a conexo. somente vlido no chain OUTPUT da tabela filter. Os seguintes argumentos so vlidos para este mdulo:
uid-owner UID - Confere se o pacote foi criado por um processo com o UID especificado.
At o momento somente UID numricos so aceitos;
gid-owner GID - Confere se o pacote foi criado por um usurio pertencente ao grupo GID.
At o momento somente GID numricos so aceitos;
pid-owner PID - Confere se o pacote foi criado por um processo com o PID especificado;
sid-owner ID - Confere se o pacote foi criado por um processo no grupo de seo especificado.
OBS: - Lembre-se que pacotes que no possuem detalhes suficientes de cabealho nunca
sero conferidos.
Exemplo:
#iptables -A OUTPUT -m owner gid-owner 100 -p udp -j DROP
Este exemplo rejeita um conexes indo para portas UDP de pacotes criados pelo usurios pertencentes ao grupo 100.

41

Você também pode gostar