Escolar Documentos
Profissional Documentos
Cultura Documentos
Iptables PDF
Iptables PDF
Sum
ario
1 Introduc
ao
2 Pr
e-requisitos
2.1 Dependencias . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Instalacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
3
3
3 Funcionamento
3.1 Tabelas / Tables . . . .
3.2 Cadeias / Chains . . . .
3.3 Relacao Tables e Chains
3.4 Fluxo de tratamento . .
3.5 Poltica Default . . . . .
3.6 Targets . . . . . . . . . .
4
5
5
6
7
8
8
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 Utilizac
ao
4.1 Comandos para manipular chains . . . . . . . .
4.2 Comandos para manipular regras de chains . . .
4.2.1 Parametros de especificacao de regra . .
4.2.2 Extensao parametro protocolo (-p) . . .
4.2.3 Extensao parametro match module (-m)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
. 9
. 9
. 9
. 10
. 11
.
.
.
.
.
.
12
12
13
14
15
15
16
5 Exemplos
5.1 Listando as regras . . . . . . . . . . . . . . . . .
5.2 Bloqueando uma porta . . . . . . . . . . . . . .
5.3 Apagando uma regra . . . . . . . . . . . . . . .
5.4 Forward de uma porta para uma maquina local
5.5 Defindo regra Padrao . . . . . . . . . . . . . . .
5.6 Liberando Ping para um host especfico . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6 Ap
endice
17
6.1 Tabela ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7 Cr
editos
19
Introduc
ao
Pr
e-requisitos
2.1
Dependencias
2.2
Instala
c
ao
Funcionamento
3.1
Tabelas / Tables
3.2
Descricao
Faz pequenas mudancas nos pacotes,
usualemte utilizada para colocar marcas.
Muda os cabecarios dos pacotes,
usualmente utilizada para NAT 1 .
Realiza alteracoes especificas nos pacotes,
usualmente utilizada para aplicar TOS 2
Utilizada para Filtragem dos pacotes.
Cadeias / Chains
C adeia
Descricao
INPUT
Trafego que tem como destino a propria maquina
FORWARD
Trafego que passante/repassado pela maquina
OUTPUT
Tr
afego gerado localmente, tanto como destino local quanto remoto
PREROUTING
Utilizada no trafego ingressante na maquina 3
POSTROUTING
Utilizada em todo trafego de sada da maquina 4
Observac
ao: A cadeia FORWARD tem um tratamento especial no kernel
do Linux, e vem com uma trava fora do firewall, que por padrao bloqueia
1
3.3
Rela
c
ao Tables e Chains
T abela
C adeias
Raw
PREROUTING, OUTPUT
Nat
PREROUTING, OUTPUT, POSTROUTING
Mangle INPUT, FORWARD, POSTROUTING, PREROUTING, OUTPUT
Filter
INPUT, FORWARD, OUTPUT
3.4
Fluxo de tratamento
Figura 1:
Fluxo de tratamento de pacotes
3.5
Poltica Default
Poltica default do iptables consiste na regra que sera utilizada caso algum
pacote nao se encaixe em nenhuma das regras estabelecidas. Recomenda-se
que a poltica default seja DROP, ou seja, tudo o que nao for
expressamente permitido sera descartado (proibido).
3.6
Targets
Toda regra tem um target, ele nada mais e do que a acao tomada pela regra
em relacao ao pacote. As possibilidades sao:
T arget
ACCEPT
DROP
REJECT
USER CHAIN
Descricao
O paacote sera aceito.
O pacote sera destruido.
O pacote ser
a rejeitado e uma mensagem icmp sera enviada a` origem.
O pacote sera enviado para outra chain.
Utilizac
ao
4.1
C omando
-N [chain]
-X [chain]
-P [chain] [target]
-L [chain]
-F [chain]
-Z [chain]
4.2
Descricao
Cria uma chain
Apaga uma chain
Muda a poltica default de uma chain
Lista as regras de uma chain
Apaga todas as regras de uma chain
Limpa todos os contadores de bytes e pacote de uma chain
4.2.1
Descricao
Acrescenta uma regra a uma chain
Insere uma regra numa posicao da chain
Troca posicao de regra na chain
Apaga regra de uma chain
Par
ametros de especificac
ao de regra
P arametro
-s [address]
-d [address]
-p [protocolo]5
-i [input name]
-o [output name]
-f
-j [target]
-g [chain]
-m [modulename]
5
Descricao
Especifica o endereco de origem
Especifica o endereco de destino
Especifica o protocolo
Especifica a interface de entrada dos pacotes
Especifica a interface de saida dos pacotes
Indica que a regra se aplica so a fragmentos a partir do segundo pacote
Indica qual a acao/target deve ser tomada caso a regra seja ativada
Especifica que o processo deve continuar em uma outra user-chain especifica
Especifica o uso de um modulo extendido
4.2.2
Extens
ao par
ametro protocolo (-p)
E xtensao
tcp-flags [mask] [set]6
syn
sport [port]
dport [port]
Descricao
Mask indica as flags que ser
ao vigiadase o set indica quais ser
ao selecionadas.
UDP:
Para este protocolo as extensoes sao:
E xtensao
Descricao
sport [port] Indica a porta UDP de origem
dport [port] Indica a porta UDP de destino
ICMP:
Para este protocolo as extensoes sao:
E xtensao
icmp-type [typename]7
6
7
Descricao
Examina os tipos de icmp
10
4.2.3
Extens
ao par
ametro match module (-m)
Descricao
Examina o Ethernet MAC address do pacote
OWNER:
Para este modulo extensoes sao:
E xtensao
uid-owner [userid]
gid-owner [groupid]
pid-owner [processid]
Descricao
Aceita pacotes criados pelo user id
Aceita pacotes criados pelo group id
Aceita pacotes criados pelo processo pid
STATE:
Para este modulo extensoes sao:
E xtensao
state [state]
Descricao
Analisa o estado dos pacotes
Exemplos
5.1
Listando as regras
destination
destination
destination
Para listar as regras de cada chain de uma outra tabela especfica, deve-se
explicitar-la com o parametro -t:
# iptables -L -t mangle
12
Sada:
destination
destination
destination
destination
destination
5.2
Lembre-se tambem que pelo fato de nao especificarmos uma tabela, a filter
e utilizada.
5.3
ACCEPT)
source
anywhere
anywhere
anywhere
destination
anywhere
anywhere
anywhere
destination
destination
tcp dpt:smtp
tcp dpt:http
tcp dpt:ssh
Digamos que voce deseja apenas remover a regra de DROP da porta http
(80).Para isto:
# iptables -t filter -D INPUT 2
A sintaxe geral para este tipo de remocao de regra e:
# iptables -t [table] -D [chain] [ruleid]
14
5.4
5.5
As regras padroes, como dito antes, definem as atitudes que devem ser
tomadas quando nao e encontrada uma regra para um pacote especfico em
uma chain. Para definir estas politicas padroes basta seguir o modelo:
# iptables -P [chain] [target]
Por exemplo para definir como poltica padrao o DROP para a chain
INPUT:
# iptables -P INPUT DROP
15
5.6
16
Ap
endice
6.1
Tabela ICMP
T ype
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20-29
30
31
32
33
34
35
36
37
38
39
40
41
N ame
Reference
Echo Reply
[RFC792]
Unassigned
[JBP]
Unassigned
[JBP]
Destination Unreachable
[RFC792]
Source Quench
[RFC792]
Redirect
[RFC792]
Alternate Host Address
[JBP]
Unassigned
[JBP]
Echo
[RFC792]
Router Advertisement
[RFC1256]
Router Solicitation
[RFC1256]
Time Exceeded
[RFC792]
Parameter Problem
[RFC792]
Timestamp
[RFC792]
Timestamp Reply
[RFC792]
Information Request
[RFC792]
Information Reply
[RFC792]
Address Mask Request
[RFC950]
Address Mask Reply
[RFC950]
Reserved (for Security)
[Solo]
Reserved (for Robustness Experiment)
[ZSu]
Traceroute
[RFC1393]
Datagram Conversion Error
[RFC1475]
Mobile Host Redirect
[David Johnson]
IPv6 Where-Are-You
[Bill Simpson]
IPv6 I-Am-Here
[Bill Simpson]
Mobile Registration Request
[Bill Simpson]
Mobile Registration Reply
[Bill Simpson]
Domain Name Request
[RFC1788]
Domain Name Reply
[RFC1788]
SKIP
[Markson]
Photuris
[RFC2521]
ICMP messages utilized by experimental
[RFC4065]
mobility protocols such as Seamoby
42-255
Reserved
[JBP]
17
Refer
encias
[1] http://en.wikipedia.org/wiki/Type of Service
[2] http://www.faqs.org/docs/iptables/
[3] http://ornellas.apanela.com/dokuwiki/pub:pt-br:linuxfwrt
[4] I Workshop do POP-MG Firewall/Iptables
18
Cr
editos
R
Direito Autorais Reservados
Universidade Federal de Minas Gerais
Departamento de Ciencia da Computacao
Raphael Ottoni Santiago Machado de Faria
http://creativecommons.org/licenses/GPL/2.0/
http://creativecommons.org/licenses/GPL/2.0/legalcode.pt
19