Vous êtes sur la page 1sur 28

SEGURAN

SEGURAN

A COM IPTABLES
A COM IPTABLES
Autor: Leonardo Stroyker Damasceno
Tpicos
O que iptables iptables?
Esquema de rede com
iptables
Chains
Tabelas
Sintaxe do iptables
Criando um chain
Renomeando um chain
Apagando um chain criado
Especficando um alvo
Regras
Adicionando
Listando
Apagando
Substituindo
Limpando
Parmetros
Fazendo IP Masquerade
Fazendo DNAT
Fazendo SNAT
TESTES
O que iptables?
Tem o objetivo de proteger a mquina contra
acessos indesejados
Muito rpido, estvel e seguro
Suporte a protocolos TCP/UDP/ICMP (incluindo
tipos de mensagens icmp)
Foi implantado na verso 2.4 do kernel
Esquema de rede com iptables
Chains
O que so?
Tipos de chains
Embutidos
Criados
Tabelas

FILTER
FILTER
INPUT
OUTPUT
FORWARD

NAT
NAT
PREROUTING
OUTPUT
POSTROUTING

MANGLE
MANGLE
INPUT
FORWARD
PREROUTING
POSTROUTING
OUTPUT
Tabela FILTER
Tabela FILTER

Descri
Descri

o:
o: a tabela padro, ela no precisa ser
especificada na sintaxe do iptables.

Chains:
Chains:

INPUT
INPUT

Consultado para dados que chegam a mquina

OUTPUT
OUTPUT Consultado para dados que saem da mquina

FORWARD
FORWARD Consultado para dados que so
redirecionados para outra interface de rede ou outra
mquina.
Exemplo:
Exemplo: iptables -A FORWARD -i eth0 -o eth2 -m pkttype --
pkt-type multicast -j DROP
Tabela NAT
Tabela NAT

Descri
Descri

o:
o: Usada para dados que geram outra conexo
(masquerading, source nat, destination nat, port forwarding,
proxy transparente so alguns exemplos).

Chain:
Chain:

PREROUTING
PREROUTING Consultado quando os pacotes
precisam ser modificados logo que chegam.

OUTPUT
OUTPUT

Consultado quando os pacotes gerados


localmente precisam ser modificados antes de serem
roteados.

POSTROUTING
POSTROUTING

Consultado quando os pacotes


precisam ser modificados aps o tratamento de roteamento.
Exemplo:
Exemplo: iptables -t nat -A POSTROUTING -s 192.168.1.2 -o
eth0 -j SNAT --to 200.200.217.40
Tabela Mangle
Tabela Mangle

INPUT
INPUT - Consultado quando os pacotes precisam ser modificados
antes de serem enviados para o chain INPUT da tabela filter.

FORWARD
FORWARD - Consultado quando os pacotes precisam ser
modificados antes de serem enviados para o chain FORWARD da
tabela filter.

PREROUTING
PREROUTING - Consultado quando os pacotes precisam ser
modificados antes de ser enviados para o chain PREROUTING da
tabela nat.

POSTROUTING
POSTROUTING - Consultado quando os pacotes precisam ser
modificados antes de serem enviados para o chain POSTROUTING
da tabela nat.

OUTPUT
OUTPUT - Consultado quando os pacotes precisam ser
modificados antes de serem enviados para o chain OUTPUT da
tabela nat.
Sintaxe do iptables
Sintaxe:
iptables [
iptables [
-
-
t tabela] [op
t tabela] [op

o] [chain] [dados]
o] [chain] [dados]
-
-
j
j
[a
[a

o]
o]
Exemplo:
iptables
iptables
-
-
t filter
t filter
-
-
A INPUT
A INPUT
-
-
d 127.0.0.1
d 127.0.0.1
-
-
j
j
DROP
DROP
Explicando:
Explicando: Bloqueia qualquer acesso indo ao
endereo 127.0.0.1, que nosso localhost.
Criando um chain
Criando um chain
Opo -N
iptables [-t tabela] [-N nomedochain]
Exemplo:
Exemplo:
iptables
iptables
-
-
t filter
t filter
-
-
N internet
N internet
Inserindo regra no novo chain internet:
iptables
iptables
-
-
t filter
t filter
-
-
A internet
A internet
-
-
s 192.168.0.102
s 192.168.0.102
-
-
j DROP
j DROP
iptables
iptables
-
-
t filter
t filter
-
-
A INPUT
A INPUT
-
-
j internet
j internet
Criando um chain
Criando um chain
Tabela de regras:
Explica
Explica

o:
o: Fizemos um redirecionamento ou o
conhecido pulo.
INPUT INTERNET
-s 192.168.0.97 -j DROP -s 192.168.0.102 -j DROP
-s 192.168.0.101 -j ACCEPT
-s 192.168.0.103 -j ACCEPT
-j internet
Renomeando um chain
Renomeando um chain
Opo -E
iptables [-t tabela] -E chain-antigo chain-novo

Exemplo:
Exemplo:
iptables
iptables
-
-
t filter
t filter
-
-
E internet teste
E internet teste
Apagando um chain criado
Apagando um chain criado
Opo -X

iptables [
iptables [
-
-
t tabela]
t tabela]
-
-
X [chain]
X [chain]
Exemplo:
Exemplo:
iptables
iptables
-
-
t filter
t filter
-
-
X teste
X teste
OBS.:
OBS.: Chains embutidos no podem ser apagados pelo
usurio
Especificando o alvo
Opo -j
Iptables [- tabela] [-A chain] [dados] -j [ALVO]

Tipos:
Tipos:
ACCEPT Aceita o pacote
DROP Dropa, ou simplismente no aceita o pacote
REJECT Rejeita o pacote, enviando uma mensagem
LOG Envia uma mensagem ao syslog caso a regra confira
RETURN Para o processamento do chain atual, e retorna
QUEUE Passa para o processamento de programas externos
Regras
O que so regras?
Exemplo:
Exemplo:
iptables
iptables
-
-
A INPUT
A INPUT
-
-
s 200.222.256.63
s 200.222.256.63
-
-
j
j
DROP
DROP
OBS.: As regras so armazenadas dentro dos chains e
processadas na ordem que so inseridas.
Adicionando regras
Adicionando regras

Op
Op

o
o
-
-
A:
A:

iptables [
iptables [
-
-
t tabela]
t tabela]
-
-
A [chain] [dados]
A [chain] [dados]
-
-
j [a
j [a

o]
o]

Op
Op

o
o
-
-
I:
I:

iptables [
iptables [
-
-
t tabela]
t tabela]
-
-
I [chain] [dados]
I [chain] [dados]
-
-
j [a
j [a

o]
o]
Exemplo:
Exemplo:
iptables
iptables
-
-
t filter
t filter
-
-
I INPUT
I INPUT
-
-
s 192.168.0.10
s 192.168.0.10
-
-
d
d
192.168.0.11
192.168.0.11
-
-
j DROP
j DROP
Listando regras
Listando regras
Opo -L

iptables [
iptables [
-
-
t tabela]
t tabela]
-
-
L [chain] [op
L [chain] [op

es]
es]
[opes]:
-v Exibe mais detalhes sobre as regras criadas nos chains
-n Exibe endereos de mquinas/portas como nmeros
-x Exibe nmeros exatos. Mostra a faixa de portas de uma regra
--line-numbers Exibe o nmero da posio da regra
Exemplo:
Exemplo:
iptables
iptables
-
-
t filter
t filter
-
-
L INPUT
L INPUT
--
--
line
line
-
-
numbers
numbers
Apagando uma regra
Apagando uma regra
Opo -D

iptables [
iptables [
-
-
t tabela]
t tabela]
-
-
D [chain] [posi
D [chain] [posi

o]
o]

iptables [
iptables [
-
-
t tabela]
t tabela]
-
-
D [chain] [dados]
D [chain] [dados]
-
-
j [a
j [a

o]
o]
Exemplo:
Exemplo:
iptables
iptables
-
-
t filter
t filter
-
-
D INPUT 1
D INPUT 1
iptables
iptables
-
-
t filter
t filter
-
-
D INPUT
D INPUT
-
-
d 127.0.0.1
d 127.0.0.1
-
-
j DROP
j DROP
Substituindo uma regra
Substituindo uma regra
Opo -R

iptables [
iptables [
-
-
t tabela]
t tabela]
-
-
R [chain] [posi
R [chain] [posi

o] [regra]
o] [regra]
-
-
j
j
[a
[a

o]
o]
Exemplo:
Exemplo:
iptables
iptables
-
-
R INPUT 1
R INPUT 1
-
-
d 127.0.0.1
d 127.0.0.1
-
-
p icmp
p icmp
-
-
j
j
DROP
DROP
Limpando regras
Limpando regras
Opo -F

iptables [
iptables [
-
-
t tabela]
t tabela]
-
-
F [chain]
F [chain]
Exemplo:
Exemplo:
iptables
iptables
-
-
F
F
iptables
iptables
-
-
t filter
t filter
-
-
F INPUT
F INPUT
Parmetros
Parmetros
Parmetro -s
Usado para especificar endereos de origem. Tambm
usado como --src ou --source
Parmetro -d
Usado para especificar endereos de destino. Tambm
usado como --dst e destination
Exemplo:
Exemplo:
iptables
iptables
-
-
t filter
t filter
-
-
A INPUT
A INPUT
-
-
s 192.168.0.104
s 192.168.0.104
-
-
d
d
192.168.0.102
192.168.0.102
-
-
p icmp
p icmp
-
-
j DROP
j DROP
Parmetros
Parmetros
Parmetro -i
Usado para especificar a interface de entrada.
Parmetro -o
Usado para especificar a interface de sada
Exemplo:
Exemplo:
iptables
iptables
-
-
t filter
t filter
-
-
A INPUT
A INPUT
-
-
s 192.168.0.104
s 192.168.0.104
-
-
i
i
ppp+
ppp+
-
-
j DROP
j DROP
Exemplo2:
Exemplo2:
iptables
iptables
-
-
A FORWARD
A FORWARD
-
-
i ppp0
i ppp0
-
-
o eth1
o eth1
-
-
j
j
DROP
DROP
OBS.:
OBS.: O sinal de "+" funciona como um coringa, assim a regra
ter efeito em qualquer interface de ppp0 a ppp9.
Parmetros
Parmetros
Parmetro -p
Usado para especificar um protocolo. Podem ser
especificados os procolos,
TCP
TCP,
UDP
UDP e
ICMP.
ICMP.
Exemplo:
Exemplo: iptables -A INPUT -s 192.168.0.104 -p icmp -j DROP
Parmetro dport
Especifica uma porta ou faixa de portas de destino.
Exemplo:
Exemplo: iptables -A OUTPUT -d 200.200.200.200 -p tcp --
dport :1023 -j DROP
Fazendo IP Masquerade
Fazendo IP Masquerade

Descri
Descri

o:
o: O IP Masquerading um tipo especial de
SNAT usado para conectar a sua rede interna a internet
quando voc recebe um IP dinmico de seu provedor (como
em conexes ppp).
Exemplo:
Exemplo: iptables iptables - -t nat t nat - -A POSTROUTING A POSTROUTING - -s 192.168.1.0/24 s 192.168.1.0/24 - -
o ppp0 o ppp0 - -j MASQUERADE j MASQUERADE
OBS.:
OBS.: Todas as opera Todas as opera es de IP Masquerading so realizadas es de IP Masquerading so realizadas
no chain POSTROUTING no chain POSTROUTING
Fazendo DNAT
Fazendo DNAT

Descri
Descri

o:
o: DNAT (Destination nat - nat no endereo de
destino) consiste em modificar o endereo de destino das
mquinas clientes. O destination nat muito usado para fazer
redirecionamento de pacotes, proxys transparentes e
balanceamento de carga.
Exemplo:
Exemplo: iptables -t nat -A PREROUTING -s 200.200.217.40 -i
eth0 -j DNAT --to 192.168.1.2
OBS.:
OBS.: Toda operao de DNAT feita no chain PREROUTING
Fazendo SNAT
Fazendo SNAT

Descri
Descri

o:
o: SNAT (source nat - nat no endereo de
origem) consiste em modificar o endereo de origem das
mquinas clientes antes dos pacotes serem enviados. A
mquina roteadora inteligente o bastante para lembrar dos
pacotes modificados e reescrever os endereos assim que
obter a resposta da mquina de destino, direcionando os
pacotes ao destino correto.
Exemplo:
Exemplo: iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -
o eth0 -j SNAT --to 200.200.217.40-200.200.217.50
OBS.:
OBS.: SNAT faz a operao inversa do DNAT.
TESTES
TESTES
1.
1. Bloqueie qualquer acesso do protocolo ICMP para a
sua mquina
2.
2. Bloqueie pacotes que iro entrar na sua rede com o ip
de origem 192.168.0.15 na porta 22 (por ssh)
3.
3. Faa IP Masquerade da sua rede 192.168.1.0/24
4.
4. Bloqueie a passagem dos pacotes da interface eth1
para eth2

Vous aimerez peut-être aussi