O documento fornece uma introdução sobre redes de computadores, firewalls no Linux e o uso do iptables para configurar regras de firewall. Inclui explicações sobre componentes de rede, endereçamento IP, portas, protocolos, estrutura e sintaxe do iptables. Além disso, apresenta exemplos práticos de configuração de regras em diferentes cenários.
2. $ Whoami
Wairisson M. Gomes
Pós-Graduado em Redes de Computadores
Graduado em Tecnologia em Redes de Computadores
Cisco Certified Network Associate - CCNA
Linux Professional Institute Certified 1 – LPIC1
Novell Certified Linux Administrator - NCLA
ITIL v3 – Foundation Certified
3. Redes de computadores
• É uma coleção de dispositivos interconectados
por gateways
Mini Curso Firewall Linux – Wairisson Gomes
4. Redes de computadores
• Componentes da comunicação
receptor
transmissor
Blá blá blá
mensagem
Lingua portuguesa
protocolo
Mini Curso Firewall Linux – Wairisson Gomes
5. Redes de computadores
• Componentes da comunicação
IMPORTANTE!!!!
Nas redes de computadores as
informações são fragmentadas em
pedaços geralmente chamados de pacotes
e sempre tem um endereço de ORIGEM e
DESTINO
Mini Curso Firewall Linux – Wairisson Gomes
6. Redes de computadores
• Modelo OSI x Modelo TCP/IP
Em uma rede são os protocolos que fornecem os serviços !!!
Mini Curso Firewall Linux – Wairisson Gomes
7. Portas e Conexões
• Os serviços/protocolos rodam “escutando” em
suas portas específicas
134.88.2.1
200.0.0.1
SOCKET: SOCKET:
44334 Solicitação http para 200.0.0.1
resposta http para 134.88.2.1 80
Mini Curso Firewall Linux – Wairisson Gomes
8. Portas e protocolos
• Um firewall pode atuar controlando o fluxo
com base nas portas para identificação dos
protocolos e aplicações
Lista de protocolos/portas
Mini Curso Firewall Linux – Wairisson Gomes
10. Segmento TCP
• Conteúdo
As informações mais relevantes neste momento são:
• Porta de origem
• Porta de destino
• Flags de estado
Mini Curso Firewall Linux – Wairisson Gomes
11. Segmento UDP
• Conteúdo
As informações mais relevantes neste momento são:
• Porta de origem
• Porta de destino
• Flags de estado
Mini Curso Firewall Linux – Wairisson Gomes
15. Endereçamento de rede
Classe Faixa 1º Oct Numero de rede válidas Números total Número de
para esta hosts por rede
classe
A 1 - 126 1.0.0.0 - 126.0.0.0 27 – 2 = 126 224 – 2 =
16.777,214
B 128 - 191 128.0.0.0 – 191.0.0.0 214 = 16.384 216 - 2 = 65.534
C 192 - 223 192.168.0.0 – 221 = 2.097,152 28 - 2 = 254
223.255.255.0
Mini Curso Firewall Linux – Wairisson Gomes
16. Endereçamento de rede
• O endereço IP sempre vem acompanhado da
máscara de sub rede.
Classe Parte da rede Parte do host Mk Padrão
A 8 24 255.0.0.0
B 16 16 255.255.0.0
C 24 8 255.255.255.0
Mini Curso Firewall Linux – Wairisson Gomes
17. Endereçamento de rede
• O endereço IP sempre vem acompanhado da
máscara de sub rede.
IP 21 73 42 2
MK 255 0 0 0
IP 130 92 34 45
MK 255 255 0 0
IP 200 4 8 9
MK 255 255 255 0
Mini Curso Firewall Linux – Wairisson Gomes
18. Endereçamento de rede
Os endereços privados nunca serão atribuídos
pela ICANN a nenhuma entidade
Os roteadores da internet são configurados
para descartar
Os endereços definidos pela RFC 1918
Rede IP privadas Classes de Número de
redes redes
10.0.0.0 A 1
172.16.0.0 – 172.31.0.0 B 16
192.168.0.0 – 192.168.255.0 C 256
Mini Curso Firewall Linux – Wairisson Gomes
20. Firewall
É um componente ou um conjunto de
componentes que restrigem o acesso entre
uma rede protegida e a Internet, ou entre
redes protegidas e à Internet como um todo.
Firewall pessoal
Firewall de
perímetro
Mini Curso Firewall Linux – Wairisson Gomes
23. Sintaxe do Iptables
iptables -t [tabela] <ordem> <chain> [condições] -j <ação>
• Tabelas
Filter - Regras relacionadas a um firewall filtro de pacotes
Nat - Regras relacionadas a um firewall filtro NAT
Mangle – Implementa alterações em níveis mais complexo
Mini Curso Firewall Linux – Wairisson Gomes
24. Sintaxe do Iptables
iptables -t [tabela] <comando> <chain> [condições] -j <ação>
• Comando
- A : adiciona regras a uma ao final de uma cadeia
- I : insere regras no inicio de uma cadeia
-D : deleta regras de uma cadeia
- F : remove todas as regras de uma cadeia
- R : Substitui uma regra
- N : cria nova cadeia
- X : deleta cadeia
- E : renomeia uma cadeia
Mini Curso Firewall Linux – Wairisson Gomes
25. Sintaxe do Iptables
iptables -t [tabela] <ordem> <chain> [condições] -j <ação>
• Cadeias
Filter : INPUT, OUTPUT e FORWARD
Nat: PREROUTING, OUTPUT e POSTROUTING
Mangle : INPUT, OUTPUT, FORWARD, PREROUTING, e
POSTROUTING
Mini Curso Firewall Linux – Wairisson Gomes
26. Sintaxe do Iptables
iptables -t [tabela] <ordem> <chain> [condições] -j <ação>
• Condições
-p : especifica o protocolo (ex: -p icmp)
-i : especifica uma interface de entrada (ex: -i eth0)
-o : especifica uma interface de saida (ex: -o eth0)
-s : especifica um endereço/rede de origem (ex: -s 10.0.0.1 ou
10.0.0.0/8)
-d : especifica um endereço/rede de destino (ex: -d 10.0.0.1 ou
10.0.0.0/8)
! : especifica uma exclusão (ex: -d ! 10.0.0.1 ou ! 10.0.0.0/8)
Mini Curso Firewall Linux – Wairisson Gomes
27. Sintaxe do Iptables
iptables -t [tabela] <ordem> <chain> [condições] -j <ação>
• Condições
-j : especifica um alvo (ex: -j ACCEPT)
-sport : especifica porta de origem (ex: -p tcp --sport 80)
-dport : especifica porta de destino (ex: -p udp --dport 53)
Mini Curso Firewall Linux – Wairisson Gomes
28. Sintaxe do Iptables
iptables -t [tabela] <ordem> <chain> [condições] -j <ação>
• Ação
ACCEPT : aceita ou permite a passagem de um pacote
DROP : descarta um pacote ou impede sua passagem
REJECT : descarta/impede a passagem de um pacote retornando
uma mensagem
LOG: registra a passagem do pacote em /var/log/messages
SNAT: altera o endereço de origem do pacote
DNAT: altera o endereço de destino do pacote
REDIRECT: faz o redirecionamento de portas
Mini Curso Firewall Linux – Wairisson Gomes
29. Hand´s On - Tabela filter
1º CENÁRIO
Mini Curso Firewall Linux – Wairisson Gomes
30. Hand´s On - Tabela filter
Tarefas:
1 - No FIREWALL Habilitar o encaminhamento
2 - No XP efetuar um ping para
fw.minicurso.com.br
3 - No XP Acessar http://fw.minicurso.com.br
4 - No XP Usando o putty acessar remotamente
fw.minicurso.com.br
Mini Curso Firewall Linux – Wairisson Gomes
31. Hand´s On - Tabela filter
Tarefas:
5 - No FIREWALL definir as políticas padrão em
DROP
5.1 – iptables –P INPUT DROP
5.2 – iptables –P FORWARD DROP
5.3 – iptables –P OUTPUT DROP
6 - repetir os testes dos itens 1 a 4
7 - No FIREWALL tentar pingar para 200.100.10.2,
192.168.0.2 e 127.0.0.1
Mini Curso Firewall Linux – Wairisson Gomes
32. Hand´s On - Tabela filter
Tarefas:
8 - Liberar as conexões a seguir na chain INPUT
8.1 – tudo origem loopback
iptables -t filter –A INPUT –i lo –j ACCEPT
8.2 – todas as conexões originadas do próprio
firewall
iptables -P OUTPUT ACCEPT
8.3 Libera recepção da resposta de ping originados
pelo firewall
iptables -t filter -A INPUT -p icmp -m state --state
ESTABLISHED,RELATED -j ACCEPT
9 - repetir os testes do item 7
Mini Curso Firewall Linux – Wairisson Gomes
33. Hand´s On - Tabela filter
Tarefas:
10 - Liberar as conexões a seguir na chain INPUT
10.1 – protocolo ICMP a partir da LAN
iptables -t filter -A INPUT -s 192.168.0.0/24 -p
icmp -j ACCEPT
10.2 – portas 22 e 80 do FIREWALL para a rede
local
iptables -t filter -A INPUT -s 192.168.0.0/24 -p tcp
-m multiport --dport 22,80 -j ACCEPT
Mini Curso Firewall Linux – Wairisson Gomes
34. Hand´s On - Tabela filter
Tarefas:
10 - Liberar as conexões a seguir na chain INPUT
10.3 – apenas a porta 80 do FIREWALL para a
interface conectada à internet
iptables -t filter -A INPUT -i eth0 -p tcp --dport 80 -
j ACCEPT
10.4 – acesso ssh para o ip 200.100.10.2
iptables -t filter -A INPUT -s 200.100.10.2 -p tcp --
dport 22 -j ACCEPT
Mini Curso Firewall Linux – Wairisson Gomes
35. Hand´s On - Tabela filter
2º CENÁRIO
Mini Curso Firewall Linux – Wairisson Gomes
36. Hand´s On - Tabela filter
Tarefas:
11 – Habilitar o NAT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24
-j MASQUERADE
12 - Liberar o ping a partir da rede local para internet
# ida lan > internet
iptables -t filter -A FORWARD -p icmp -s
192.168.0.0/24 -j ACCEPT
# volta internet > lan
iptables -t filter -A FORWARD -p icmp -m state --
state ESTABLISHED,RELATED -j ACCEPT
Mini Curso Firewall Linux – Wairisson Gomes
37. Hand´s On - Tabela filter
Tarefas:
12 - Liberar as conexões LAN > INTERNET nas portas 80, 443,
22 e 53
# ida lan > internet
iptables -t filter -A FORWARD -p tcp -m multiport
--dport 80,443,22,53 -j ACCEPT
iptables -t filter -A FORWARD -p udp --dport 53 -j
ACCEPT
# volta internet > lan
iptables -t filter -A FORWARD -p tcp -m multiport
--sport 80,443,22,53 -m state --state ESTABLISHED,RELATED -j
ACCEPT
iptables -t filter -A FORWARD -p udp --sport 53 -j
ACCEPT
Mini Curso Firewall Linux – Wairisson Gomes
38. Hand´s On - Tabela filter
Tarefas:
13 - Liberar as conexões LAN > INTERNET nas portas 20, 21,
4000 e 4001
# ida lan > internet
iptables -A FORWARD -s 192.168.0.0/24 -p tcp -m
multiport --dports 20,21,4000,40001 -j ACCEPT
# volta internet > lan
iptables -A FORWARD -p tcp -m multiport --sports
20,21,4000,40001 -m state --state RELATED,ESTABLISHED -j
ACCEPT
Mini Curso Firewall Linux – Wairisson Gomes
39. Hand´s On - Tabela nat
2º CENÁRIO
Request 200.100.10.1:3389 request 192.168.0.2:3389
reply 200.100.10.1:3389 reply 192.168.0.2:3389
Mini Curso Firewall Linux – Wairisson Gomes
40. Hand´s On - Tabela nat
Tarefas:
14 - O redirecionamento de portas é útil para publicar
servidores na web que estão dentro da LAN
# redireciona pacotes com destino a porta 3389
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport
3389 -j DNAT --to 192.168.0.2:3389
# libera conexões com destino a 192.168.0.2
iptables -t filter -A FORWARD -d 192.168.0.2 -p tcp --
dport 3389 -j ACCEPT
# libera a resposta de 192.168.0.2
iptables -t filter -A FORWARD -s 192.168.0.2 -p tcp --
sport 3389 -j ACCEPT
Mini Curso Firewall Linux – Wairisson Gomes
41. Salvando, Limpando e restaurando as regras
# salvando
iptables-save > firewall.save
# visualizando
cat firewall.save
# limpando todas as tabelas
iptables -t filter -F
iptables -t nat -F
iptables -t magle –F
# restaurando
iptables-restore < firewall.save
Mini Curso Firewall Linux – Wairisson Gomes
42. Ativando no boot
# adicionar a linha abaixo no arquivo
/etc/network/interfaces
pre-up iptables-restore < /home/aluno/firewall.save
Mini Curso Firewall Linux – Wairisson Gomes
43. Referências
FILHO, Mota. Eriberto. Firewall com iptables. Disponível em:
<http://eriberto.pro.br/iptables/3.html> acesso em: 23 set 12
NETO, Urubatan. Dominando Linux Firewall Iptables. 2004,
Ciencia Moderna.
MENDES, Wagner. Firewall no Linux – Curso On line. Disponível
em: < http://www.devmedia.com.br/curso/firewall-no-linux/121
> acesso em: 23 set 12
Mini Curso Firewall Linux – Wairisson Gomes