Você está na página 1de 32

Introduo ao Iptables

Renato Carneiro Pacheco

Apresentao
Graduado em Redes de Comunicao Instituto Federal de Gois (antigo CEFET-GO) Ps-Graduado em Segurana de Redes Computadores pela FATESG SENAI Analista de Redes na Secretaria da Sade Estado de Gois pela Politec S/A Professor de Segurana de Redes Anhanguera Educacional de Anpolis-GO Certificado LPIC-1

no de do na

2/32

O que Firewall?
Are you serious???

3/32

O que Firewall (de verdade)?

Designado a permitir ou negar transmisses de rede atravs de um conjunto de regras Normalmente, trabalha na camada de rede e de transporte da pilha TCP/IP Encontra-se em roteadores, appliances, computadores

4/32

Por que usar Firewall?

5/32

Por que usar Firewall?

A Internet uma rede mundial de computadores, criada na base dos protocolos da pilha TCP/IP A pilha TCP/IP no foi projetada para certificar a integridade/confidencialidade dos pacotes O Firewall no corrige as falhas, mas pode determinar quem pode acessar os servios e protocolos a serem trafegados na rede

6/32

Netfilter

Segundo o netfilter.org, Netfilter um sistema embutido no kernel que tem a funo de manipular, atravs dos mdulos do kernel, a pilha de rede

7/32

O que Iptables?

Tabela de estrutura genrica para as definies das regras. Cada regra em uma tabela consiste em um nmero de classificadores (iptables matches) e uma ao (iptables target) Netfilter, ip_tables, connection tracking (ip_conntrack, nf_conntrack) e o subsistema NAT, juntos, compem a maior parte do sistema Front-end do netfilter
8

8/32

O que Iptables?
Iptables Netfilter Kernel Linux

9/32

Histria do Iptables

Filtragem de pacotes existia desde da verso do kernel 1.1 do Linux As funcionalidades de firewall do ipfw (BSD) foram portadas para o Linux pelo Alan Cox Rusty Russell, em 1998, melhorou o funcionamento do firewall do kernel do Linux na verso 2.1, introduzindo o ipchains

10

10/32

Histria do Iptables

Finalmente, Rusty Russell reescreveu o kernel em 1999 para o Linux 2.4 (iniciou-se a reescrita no Linux 2.2) A quarta gerao da ferramenta chama-se Iptables e o sistema de filtragem batizado de Netfilter

11

11/32

Histria do Iptables

Rusty Russell
12

12/32

Caractersticas do Iptables

Filtro de pacotes NAT (Network Address Translation) Logging QoS (Quality of Service)

13

13/32

Iptables: Sintaxe
iptables -t [tabela] [comandos] [acao] [alvo]

[tabela] existem 3 tipos: filter filtro de pacotes nat sevidor NAT mangle marcador de pacotes

Caso a opo -t no for mencionada, o padro a tabela filter.

14

14/32

Iptables: Sintaxe

[comandos] -A: adiciona a regra no final da lista -I: acrescenta a regra no incio da lista -D: apaga a regra mencionada -R: substitui a regra existente -L: lista as regras da tabela -F: apaga todas as regras da tabela -N: cria uma nova cadeia (chain) -E: edita uma chain -X: apaga uma chain -Z: zera os pacotes -P: determina a poltica das chains na tabela
15

15/32

Iptables: Sintaxe

chains INPUT pacotes entrantes para o servidor de firewall OUTPUT pacotes saintes do servidor de firewall FORWARD pacotes encaminhados para a prxima rota PREROUTING modifica a rota do pacote antes de ser analisado POSTROUTING modifica a rota do pacote depois de ser analisado
16

16/32

Iptables: Sintaxe

[acao] -p: protocolo -s: IP origem -d: IP destino -i: pacotes que entram na interface -o: pacotes que saem pela interface -j: caso a regra coincida com o pacote, vai para o [alvo] Obs.: quando acompanhado de !, inverte o sentido da ao.
17

17/32

[alvo] ACCEPT RETURN QUEUE REJECT DROP REDIRECT SNAT DNAT MASQUERADE LOG TOS

Iptables: Sintaxe

18

18/32

Iptables: Sintaxe
Extenses de comparao (Match) Inserindo a opo -m no campo [acao], possvel estender as opes de comparao. possvel determinar estado, tipo de flag do protocolo, inserir mltiplas portas, endereos MAC, entre outras.

19

19/32

Iptables: Sintaxe
Extenses mais utilizadas: --state --multiport --icmp (-p icmp) --tcp (-p tcp) --udp (-p udp) --limit --mac --iprange
20

20/32

Funcionamento do Iptables

21

21/32

Iptables: Observaes
As regras so lidas em ordem de insero. O que liberado primeiro no pode ser bloqueado depois e vice-versa.

possvel inserir caractere coringa nas interfaces de rede com o sinal +. Ex.: ppp+, eth+, wlan+.

A opo -v (em conjunto com -L) mostra maiores detalhes, como a contagem de pacotes recebidos e enviados.

22

22/32

Iptables: Exemplos
Algumas regras de NAT

Mascaramento iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE Destination NAT (DNAT) iptables -t nat -A PREROUTING -p tcp --dport 22 -j DNAT --to-destination 192.168.0.4:22

23

23/32

Iptables: Exemplos
Algumas regras de NAT

Source NAT (SNAT) iptables -t nat -A POSTROUTING -p tcp --sport 22 -j SNAT --to-source 200.200.200.200 Redirecionamento (proxy transparente) iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
24

24/32

Iptables: Exemplos
Poltica de acesso

Proibir encaminhamento de pacotes iptables -P FORWARD DROP Permitir pacotes saintes iptables -P OUTPUT ACCEPT Proibir pacotes entrantes iptables -P INPUT DROP Obs.: poltica de menor privilgio o mais indicado!
25

25/32

Iptables: Exemplos
Chain personalizada

Criando uma nova chain iptables -N NOVA_CHAIN Acrescentando regras chain criada iptables -A NOVA_CHAIN -p udp 161 -j ACCEPT Utilizando a chain iptables -A INPUT -j NOVA_CHAIN
26

26/32

Iptables: Exemplos
Criando exceo em regra

Permitir que o IP 200.201.174.207 no passe pelo proxy transparente

iptables -t nat -A PREROUTING -d 200.201.174.207 -j RETURN iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128

27

27/32

Iptables: Exemplos
LOG

Log de acesso porta 80

iptables -A INPUT -p tcp --dport 80 -j LOG --log-level debug --log-prefix Conexes HTTP --> iptables -A INPUT -p tcp --dport 80 -j ACCEPT

28

28/32

Iptables: Exemplos
Extenses de comparao (match) state iptables -A INPUT -m state --state NEW, ESTABLISHED, RELATED -j ACCEPT

multiport iptables -A FORWARD -m 53,22,80,25,110,21,20 -j ACCEPT mac iptables -A INPUT -m 00:11:22:33:44:55 -j DROP

multiport

--dports

mac

--mac-source

29

29/32

Perguntas?

30

30/32

Mais Informaes

# man iptables http://www.netfilter.org

31

31/32

OBRIGADO! Contato: renato_pacheco@bol.com.br

32

32/32