SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
Firewall Iptables - NAT
Prof. Andrei Carniel
Universidade Tecnológica Federal do Paraná – UTFPR
E-mail: andreicarniel@utfpr.edu.br / andrei.carniel@gmail.com
NAT – Network Address Translator
• NAT – Network Address Translator (Tradutor de Endereço de Rede)
• Existem vários recursos que utilizam NAT. Os mais conhecidos são:
▫ --> Mascaramento (masquerading)
▫ --> Redirecionamento de portas (port forwarding ou PAT)
▫ --> Redirecionamento de servidores (forwarding)
▫ --> Proxy transparente (transparent proxy)
▫ --> Balanceamento de carga (load balance)
2
NAT – Mascaramento (1/3)
• O mascaramento é uma forma de fazer NAT (Network Address
Translation).
• Com isso, é possível fazer uma rede privada navegar na Internet. A
rede solicita os dados para a máquina que faz o mascaramento. Essa
busca tais dados na Internet...
3
NAT – Mascaramento (2/3)
• ...e os entrega aos solicitantes.
4
NAT – Mascaramento (3/3)
• No entanto, um host da Internet, por vontade própria, não consegue
ultrapassar o filtro que faz mascaramento, em direção à rede:
• O único endereço IP que irá circular na Internet será o do filtro.
• O mascaramento também possui um esquema de funcionamento.
Como haverá trocas de endereços, deveremos utilizar a tabela NAT
para fazer isso.
5
NAT – Redirecionamentos
• Redirecionamento de portas
▫ O redirecionamento de portas ocorre quando desejamos alterar a porta de
destino de uma requisição.
▫ Exemplo: tudo que for destinado à porta 23 de qualquer máquina, quando
passar pela máquina filtro, será redirecionado para a porta 10000 de outro
servidor.
• Redirecionamento de servidores
▫ Todos os pacotes destinados a um servidor serão redirecionados para outro
servidor.
6
NAT – Proxy Transparente
• Um exemplo é a técnica que força o uso de um servidor proxy na rede.
7
• Ou seja, consiste em interceptar uma comunicação HTTP e forçar ela a
seguir um caminho por um servidor proxy.
NAT – Balanceamento de Carga
• O balanceamento de carga (load balance) é uma técnica utilizada para
distribuir carga entre servidores sincronizados.
• O load balance é o ato de distribuir os clientes aos servidores mais
desocupados.
• Esse trabalho também pode ser feito por servidores DNS.
8
NAT – Network Address Translator
9
NAT – Network Address Translator
• O NAT é dividido em:
▫ --> SNAT (Source NAT): aplica-se quando desejamos alterar o
endereço de origem do pacote. Somente a chain POSTROUTING faz
SNAT. O mascaramento é um exemplo de SNAT.
▫ --> DNAT (Destination NAT): aplica-se quando desejamos
alterar o endereço de destino do pacote. As chains PREROUTING e
OUTPUT fazem DNAT. O redirecionamento de porta, o
redirecionamento de servidor, o load balance e o proxy
transparente são exemplos de DNAT.
10
Regras de NAT
• Para fazer o mascaramento, deveremos, antes, carregar o módulo de
NAT:
▫ #modprobe iptable_nat
• As regras mais utilizadas, além da maioria dos recursos descritos para
uso com a tabela filter, contêm o seguinte:
11
Regras de NAT – Chains
• Existem as seguintes chains:
▫ PREROUTING --> utilizada para analisar pacotes que estão entrando no
kernel para sofrerem NAT. O PREROUTING pode fazer ações de NAT com o
endereço de destino do pacote. Isso é conhecido como DNAT
(Destination NAT);
▫ POSTROUTING --> utilizada para analisar pacotes que estão saindo do
kernel, após sofrerem NAT. O POSTROUTING pode fazer ações de NAT com o
endereço de origem do pacote. Isso é conhecido como SNAT (Source NAT);
▫ OUTPUT --> utilizada para analisar pacotes que são gerados na própria
máquina e que irão sofrer NAT. O OUTPUT pode fazer ações de NAT com o
endereço de destino do pacote. Também é DNAT.
12
Regras de NAT – Chains
• Opções:
▫ -A --> Append (adicionar).
▫ -D --> Delete (apagar).
• Dados:
▫ -t --> Table (tabela). Estabelece a tabela a ser utilizada. A tabela default,
por omissão, é filter. Para o mascaramento ou NAT será nat. Exemplo:
▫ Exemplos:
 #iptables -t nat -A ...
 #iptables -t nat -D ...
13
Regras de NAT – Chains
• --to --> utilizado para definir IP e porta de destino, após um DNAT,
ou de origem, após um SNAT.
• Deve ser utilizado após uma ação (-j ação). Assim:
▫ #... -j DNAT --to 10.0.0.2
▫ #... -j DNAT --to 10.0.0.2:80
▫ #... -j SNAT --to 172.20.0.2
14
Regras de NAT – Chains
• --dport --> assim como -d define um host de destino, --dport
define uma porta de destino.
• Deve ser utilizado antes de uma ação (-j ação). Antes de --dport,
deve ser especificado um protocolo (-p). Exemplo:
▫ #-d 172.20.0.1 -p tcp --dport 80 -j DNAT --to 10.0.0.2
• --sport --> assim como -s define um host de origem, --sport
define uma porta de origem. Deve ser utilizado antes de uma ação (-j
ação).
• --to-port --> define uma porta de destino, após um REDIRECT.
15
Regras de NAT – Chains
• Obs: A maioria dos dados básicos apresentados para a tabela filter
continuam valendo.
• Exemplo: -p servirá para definir um protocolo de rede; -d define um
host de destino.
16
Regras de NAT – Ações
• SNAT --> Utilizado com POSTROUTING para fazer ações de
mascaramento da origem.
• DNAT --> Utilizado com PREROUTING e OUTPUT para fazer ações de
redirecionamento de portas e servidores, balanceamento de carga e
proxy transparente.
▫ Caso a porta de destino não seja especificada, valerá a porta de origem. No
filtro, a porta que será redirecionada não pode existir ou estar ocupada por
um serviço qualquer, a fim de evitar conflitos.
• MASQUERADE --> Faz mascaramento na saída de dados.
• REDIRECT --> Redireciona uma requisição para uma porta local do
filtro.
17
Regras de NAT
• Redirecionamentos.
18
Redirecionamento de Portas
• O redirecionamento de portas permite repassar conexões com destino
a uma porta para outra porta na mesma máquina.
• O alvo REDIRECT é usado para fazer esta operação, junto com o
argumento --to-port especificando a porta que será redirecionada.
• Este é o método pode ser utilizado para se fazer proxy transparente.
Todas as operações de redirecionamento de portas é realizada no
chain PREROUTING.
• Exemplo:
▫ #iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80
-j REDIRECT --to-port 81
• Redireciona as conexões chegando na interface eth0, porta 80 para a
porta 81.
19
Redirecionamento de Portas
• Exemplo Comentado:
▫ #iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80
-j REDIRECT --to-port 81
• Explicando:
• iptables : comando para adicionar regras de firewall.
• -t nat : selecionando a tabela NAT.
• -A PREROUTING : adicionando uma nova regra no final da lista da
chain PREROUTING, na qual será alterado o endereço de destino.
• -i eth0 : especificando que será pacotes entrando da interface eth0.
• -p tcp : definindo regra para o protocolo TCP.
• --dport 80 : especificando a porta do protocolo TCP.
• -j REDIRECT : definindo a ação de redirecionamento de porta.
• --to-port 81 : definindo a porta de destino.
20
Redirecionamento de IP
• DNAT (Destination NAT) consiste em modificar o endereço de destino
das máquinas clientes.
• O destination NAT é muito usado para fazer redirecionamento de
pacotes, proxys transparentes e balanceamento de carga.
• Toda operação de DNAT é feita no chain PREROUTING.
• Exemplo:
▫ #iptables -t nat -A PREROUTING -d 200.200.217.40 -i eth0
-j DNAT --to 192.168.1.2
• Modifica o endereço IP destino dos pacotes de 200.200.217.40 vindo
da interface eth0 para 192.168.1.2.
21
Redirecionamento de Portas
• Exemplo Comentado:
▫ #iptables -t nat -A PREROUTING -d 200.200.217.40 -i eth0
-j DNAT --to 192.168.1.2
• Explicando:
• iptables : comando para adicionar regras de firewall.
• -t nat : selecionando a tabela NAT.
• -A PREROUTING : adicionando uma nova regra no final da lista da
chain PREROUTING, na qual será alterado o endereço de destino.
• -d 200.200.217.40 : definindo a validade da para qualquer pacote
da rede com destino ao IP 200.200.217.40.
• -i eth0 : especificando que será pacotes entrando da interface eth0.
• -j NAT : definindo a ação de redirecionamento de endereço.
• --to 192.168.1.2 : definindo o IP de destino.
22
Redirecionamento de IP
• Também é possível especificar faixas de endereços e portas que serão
substituídas no DNAT:
▫ #iptables -t nat -A PREROUTING -i eth0 -s 192.168.1.0/24
-j DNAT --to 200.200.217.40-200.200.217.50
• Modifica o endereço IP de destino do tráfego vindos da interface
192.168.1.0/24 para um IP de 200.241.200.40 a 200.241.200.50.
• Este é um excelente método para fazer o balanceamento de carga entre
servidores.
23
Redirecionamento de IP
• Exemplo 2:
▫ #iptables -t nat -A PREROUTING -i eth0 -s 192.168.1.0/24
-j DNAT --to 200.200.217.40-200.200.217.50 -p tcp
--dport 1024:5000
• Idêntico ao anterior, mas faz somente substituições na faixa de portas
de destino de 1024 a 5000.
• Verificando NAT:
▫ #iptables -t nat -L PREROUTING –n
24
Exemplos comentados de regras de filtragem
(Tabela NAT)
25
Exemplos comentados de regras de filtragem (Tabela NAT)
▫ #iptables -t nat –L
• Mostra as regras de NAT ativas.
▫ #iptables -t nat -F
• Apaga todas as regras de NAT existentes.
▫ #iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
• Todos os pacotes que saírem pela interface ppp0 (modem) serão
mascarados. Isso dá um nível de segurança elevado à rede que está
atrás da ppp0.
• É uma boa regra para navegação na Internet. Note que esse tipo de
mascaramento não usa SNAT.
26
Exemplos comentados de regras de filtragem (Tabela NAT)
▫ #iptables -t nat -A POSTROUTING -d 0/0 -j MASQUERADE
• Tem o mesmo efeito da regra anterior. No entanto, estabelece que
qualquer pacote destinado a qualquer outra rede, diferente da interna,
será mascarado. A regra anterior refere-se aos pacotes que saem por
determinada interface. A opção -d 0/0 poderia ser -d 0.0.0.0/0
também. É uma outra regra para navegação na Internet.
▫ #iptables -t nat -A PREROUTING -p tcp -d 10.0.0.2 --
dport 80 -j DNAT --to 172.20.0.1
• Redireciona todos os pacotes destinados à porta 80 da máquina
10.0.0.2 para a máquina 172.20.0.1. Esse tipo de regra exige a
especificação do protocolo. Como não foi especificada uma porta de
destino, a porta 80 será mantida como destino.
27
Exemplos comentados de regras de filtragem (Tabela NAT)
▫ #iptables -t nat -A OUTPUT -p tcp -d 10.0.0.10 -j DNAT -
-to 10.0.0.1
• Qualquer pacote TCP, originado na máquina filtro, destinado a
qualquer porta da máquina 10.0.0.10, será desviado para a máquina
10.0.0.1 .
▫ #iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to
200.20.0.1
• Essa regra faz com que todos os pacotes que irão sair pela interface
eth0 tenham o seu endereço de origem alterado para 200.20.0.1 .
▫ #iptables -t nat -A PREROUTING -i eth0 -j DNAT --to
172.20.0.1
• Todos os pacotes que entrarem pela eth0 serão enviados para a
máquina 172.20.0.1 .
28
Exemplos comentados de regras de filtragem (Tabela NAT)
▫ #iptables -t nat -A PREROUTING -i eth0 -j DNAT --to
172.20.0.1-172.20.0.3
• Aqui haverá o load balance. Todos os pacotes que entrarem pela eth0
serão distribuídos entre as máquinas 172.20.0.1 , 172.20.0.2 e
172.20.0.3 .
▫ #iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o
eth1 -j SNAT 200.20.5.0/24
• Uma situação interessante: todos os pacotes que saírem da rede
192.168.1.0 serão transformados em 200.20.5.0 .
29
Exemplos comentados de regras de filtragem (Tabela NAT)
▫ #iptables -t nat -A PREROUTING -s 10.0.0.0/8 -p tcp
--dport 80 -j REDIRECT --to-port 3128
• Todos os pacotes TCP que vierem da rede 10.0.0.0, com máscara
255.0.0.0, destinados à porta 80 de qualquer host, não sairão; serão
redirecionados para a porta 3128 do filtro.
• Isso é o passo necessário para fazer um proxy transparente. O proxy
utilizado deverá aceitar esse tipo de recurso.
• No caso, o Squid, que aceita transparência, deverá estar instalado na
máquina filtro, servindo na porta 3128.
30
Exemplos comentados de regras de filtragem (Tabela NAT)
▫ #iptables -t nat -A PREROUTING -d 200.135.203.20 -p tcp
--dport 22 -j DNAT --to 172.29.50.12
• Todos os pacotes com destino a 200.135.203.20 via protocolo TCP na
porta 22, serão redirecionados para o endereço 172.29.50.12 .
▫ #iptables -t nat -A PREROUTING -d 172.29.45.45 -p tcp
--dport 5900 -j REDIRECT --to-port 6500
• Todos os pacotes com destino a 172.29.50.12 via protocolo TCP na
porta 5900, serão redirecionados para a porta 6500 .
31
Tabelas FILTER e NAT.
32
Filter e NAT
• As tabelas FILTER e NAT podem atuar em conjunto, funcionando em
paralelo.
• Há de se ter cuidado pois, como já disse, elas atuam em paralelo, como
duas pilhas que serão executadas ao mesmo tempo. Assim sendo, se
tivermos as regras:
▫ #iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j
MASQUERADE
▫ #iptables -A FORWARD -j DROP
• Apesar da primeira (tabela nat) possibilitar a navegação mascarada da
rede 10.0.0.0 na Internet, essa navegação não ocorrerá, pois a segunda
regra (Tabela Filter) irá barrar o FORWARD entre as redes.
33
Topologia de Filtros de Pacotes
34
Topologia de Filtros de Pacotes
• O posicionamento de um filtros de pacotes dentro da rede é de
extrema importância para ela.
• Pode-se utilizar dois tipos de filtros de pacotes: filtro isolado (mais
seguro) e filtro incorporado (sendo este último o mais inseguro e
menos desejável).
• O filtro será isolado quando estiver entre máquinas, com função
exclusiva de filtro:
35
Topologia de Filtros de Pacotes
• O filtro será incorporado quando não houver uma máquina isolada
como filtro.
• Nesse caso, as máquinas da rede deverão estabelecer, individualmente,
as suas próprias regras de filtragem. É o sistema mais inseguro:
36
• Nada impede que os dois sistemas sejam utilizados em parceria,
oferendo assim um alto grau de segurança à rede. Cabe ressaltar que
no filtro incorporado há maior nível de insegurança, uma vez que
outros processos rodam junto com o filtro.
Dúvidas?
37
Exercícios
• Considere o seguinte esquema de rede:
38
Exercícios
• Regras para servidor S:
1. Todas as conexões recebidas na porta 8008 devem ser redirecionadas a
porta 22.
2. O único host da rede B que poderá se conectar será o: Y.
3. Toda a rede A poderá acessar o servidor S.
4. Bloquear outras conexões a essa porta.
5. Quando o servidor tentar acessar o site www.facebook.com.br e
www.facebook.com, redirecionar para 177.99.179.99.
 iptables -t nat -A PREROUTING -p tcp --dport 8008 -j REDIRECT --to-port 22
 iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT
 iptables -A INPUT -s 172.29.0.3 -p tcp --dport 22 -j ACCEPT
 iptables -A INPUT -p tcp --dport 22 -j DROP
 iptables -t nat -A OUTPUT -d www.facebook.com -j DNAT --to 177.99.179.99
 iptables -t nat -A OUTPUT -d www.facebook.com.br -j DNAT --to 177.99.179.99
39
Exercícios
• Regras para roteador R:
1. Mascarar todas os pacotes que irão sair da rede B.
2. Mascarar todas os pacotes que irão sair do servidor S.
3. Todas as conexões recebidas na porta 80 devem ser redirecionadas para o
servidor S.
4. Quando a máquina X tentar enviar qualquer pacote para a máquina A
redirecionar para o servidor S.
5. Todos os pacotes originados na rede A devem ser redirecionados e
balanceados na rede B
 iptables -t nat -A POSTROUTING -s 192.168.1.0/16 -j MASQUERADE
 iptables -t nat -A POSTROUTING -s 200.143.81.25 -j MASQUERADE
 iptables -t nat -A PREROUTING -p tcp -d 200.143.81.20 --dport 80 -j DNAT --to
200.143.81.25
 iptables -t nat -A PREROUTING -p tcp -s 192.168.0.4 -d 172.20.0.2 -j DNAT --to
200.143.81.25
 iptables -t nat -A PREROUTING -s 172.29.0.0/16 -j DNAT --to 192.168.0.4-
192.168.0.5
40
Exercícios
• Regras para B:
1. Todas os pacotes para acesso de Internet deverão ser redirecionados para
o ip 177.99.179.99.
 iptables -t nat -A PREROUTING -p tcp -d 0/0 --dport 80 -j DNAT --to
177.99.179.99
41
Dúvidas?
42
Firewall Iptables - NAT
Prof. Andrei Carniel
Universidade Tecnológica Federal do Paraná – UTFPR
E-mail: andreicarniel@utfpr.edu.br / andrei.carniel@gmail.com

Más contenido relacionado

La actualidad más candente

CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLI
CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLICCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLI
CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLI
Hoàng Hải Nguyễn
 
Aula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de ComputadoresAula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de Computadores
Dalton Martins
 
DistribuiçõEs Linux
DistribuiçõEs LinuxDistribuiçõEs Linux
DistribuiçõEs Linux
pjdias
 
Dispositivos de Rede
Dispositivos de RedeDispositivos de Rede
Dispositivos de Rede
Rui Ferreira
 

La actualidad más candente (20)

Modelo OSI - Camada Física
Modelo OSI - Camada FísicaModelo OSI - Camada Física
Modelo OSI - Camada Física
 
Optimizing Aruba WLANs for Roaming Devices
Optimizing Aruba WLANs for Roaming DevicesOptimizing Aruba WLANs for Roaming Devices
Optimizing Aruba WLANs for Roaming Devices
 
Introdução a-redes-cisco
Introdução a-redes-ciscoIntrodução a-redes-cisco
Introdução a-redes-cisco
 
InfiniBand Presentation
InfiniBand PresentationInfiniBand Presentation
InfiniBand Presentation
 
Roaming behavior and Client Troubleshooting
Roaming behavior and Client TroubleshootingRoaming behavior and Client Troubleshooting
Roaming behavior and Client Troubleshooting
 
Introducción a SDN & NFV - LACNIC26-LACNOG16
Introducción a SDN & NFV - LACNIC26-LACNOG16Introducción a SDN & NFV - LACNIC26-LACNOG16
Introducción a SDN & NFV - LACNIC26-LACNOG16
 
Aula 8.1 - Iptables tabela Filter
Aula 8.1 - Iptables tabela FilterAula 8.1 - Iptables tabela Filter
Aula 8.1 - Iptables tabela Filter
 
CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLI
CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLICCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLI
CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLI
 
EIGRP (enhanced interior gateway routing protocol)
EIGRP (enhanced interior gateway routing protocol)EIGRP (enhanced interior gateway routing protocol)
EIGRP (enhanced interior gateway routing protocol)
 
Routing protocols
Routing protocolsRouting protocols
Routing protocols
 
Aula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de ComputadoresAula 01 - Introdução ao curso - Projeto de Redes de Computadores
Aula 01 - Introdução ao curso - Projeto de Redes de Computadores
 
Redes de computadores 2 - Protocolos
Redes de computadores 2 - ProtocolosRedes de computadores 2 - Protocolos
Redes de computadores 2 - Protocolos
 
Nxll26 bgp ii
Nxll26 bgp iiNxll26 bgp ii
Nxll26 bgp ii
 
CCNA IP Addressing
CCNA IP AddressingCCNA IP Addressing
CCNA IP Addressing
 
DistribuiçõEs Linux
DistribuiçõEs LinuxDistribuiçõEs Linux
DistribuiçõEs Linux
 
Dispositivos de Rede
Dispositivos de RedeDispositivos de Rede
Dispositivos de Rede
 
Camada 1 do modelo osi
Camada 1 do modelo osiCamada 1 do modelo osi
Camada 1 do modelo osi
 
Ferramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de RedeFerramentas de Gerenciamento de Rede
Ferramentas de Gerenciamento de Rede
 
05-Subsistemas de Cabeamento Estruturado.pdf
05-Subsistemas de Cabeamento Estruturado.pdf05-Subsistemas de Cabeamento Estruturado.pdf
05-Subsistemas de Cabeamento Estruturado.pdf
 
NFV +SDN (Network Function Virtualization)
NFV +SDN (Network Function Virtualization)NFV +SDN (Network Function Virtualization)
NFV +SDN (Network Function Virtualization)
 

Destacado

Seguranca da Informação - Firewall iptables
Seguranca da Informação - Firewall iptablesSeguranca da Informação - Firewall iptables
Seguranca da Informação - Firewall iptables
Luiz Arthur
 
SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall
Carlos Melo
 
Prova segurança de redes
Prova segurança de redesProva segurança de redes
Prova segurança de redes
Carlos Melo
 

Destacado (18)

Seguranca da Informação - Firewall iptables
Seguranca da Informação - Firewall iptablesSeguranca da Informação - Firewall iptables
Seguranca da Informação - Firewall iptables
 
Aula 8.2 - Iptables Impasses e Scripts
Aula 8.2 - Iptables Impasses e ScriptsAula 8.2 - Iptables Impasses e Scripts
Aula 8.2 - Iptables Impasses e Scripts
 
Camada de rede parte2
Camada de rede   parte2Camada de rede   parte2
Camada de rede parte2
 
Aula 8.0 - Segurança
Aula 8.0 - SegurançaAula 8.0 - Segurança
Aula 8.0 - Segurança
 
Servidor proxy Squid
Servidor proxy SquidServidor proxy Squid
Servidor proxy Squid
 
Iptables Básico
Iptables BásicoIptables Básico
Iptables Básico
 
Iptables Completo Oliver
Iptables   Completo   OliverIptables   Completo   Oliver
Iptables Completo Oliver
 
Servidor Proxy Squid
Servidor Proxy SquidServidor Proxy Squid
Servidor Proxy Squid
 
Servidor proxy
Servidor proxy Servidor proxy
Servidor proxy
 
Squid
SquidSquid
Squid
 
SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall
 
Configurando servidor web https no apache2 ed
Configurando servidor web https no apache2 edConfigurando servidor web https no apache2 ed
Configurando servidor web https no apache2 ed
 
Prova segurança de redes
Prova segurança de redesProva segurança de redes
Prova segurança de redes
 
Tutorial sobre iptables
Tutorial sobre iptablesTutorial sobre iptables
Tutorial sobre iptables
 
Dropbox
DropboxDropbox
Dropbox
 
Teads.tv
Teads.tvTeads.tv
Teads.tv
 
Google drive - Planilhas
Google drive - PlanilhasGoogle drive - Planilhas
Google drive - Planilhas
 
Curso de Arduino Completo
Curso de Arduino CompletoCurso de Arduino Completo
Curso de Arduino Completo
 

Similar a Aula 8.3 - Iptables Tabela NAT

Comando para rede
Comando para redeComando para rede
Comando para rede
Alan Jorge
 
33022293 comandos-dos-para-redes
33022293 comandos-dos-para-redes33022293 comandos-dos-para-redes
33022293 comandos-dos-para-redes
FarmVille
 
Valdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration SampleValdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni
 
3 - TRAFFIC SHAPPING-DUMMYNET
3 - TRAFFIC SHAPPING-DUMMYNET3 - TRAFFIC SHAPPING-DUMMYNET
3 - TRAFFIC SHAPPING-DUMMYNET
Vinicius Batista
 
I Pv4 Vs I Pv6 Final 2
I Pv4 Vs I Pv6 Final 2I Pv4 Vs I Pv6 Final 2
I Pv4 Vs I Pv6 Final 2
ptic433
 

Similar a Aula 8.3 - Iptables Tabela NAT (20)

Apostila firewall-consulta
Apostila firewall-consultaApostila firewall-consulta
Apostila firewall-consulta
 
Comando para rede
Comando para redeComando para rede
Comando para rede
 
Comandos ip-de-redes-no-windows-1319-ory76a
Comandos ip-de-redes-no-windows-1319-ory76aComandos ip-de-redes-no-windows-1319-ory76a
Comandos ip-de-redes-no-windows-1319-ory76a
 
Firewall no linux
Firewall no linuxFirewall no linux
Firewall no linux
 
Aula 06 - Gerenciamento de Rede.pdf
Aula 06 - Gerenciamento de Rede.pdfAula 06 - Gerenciamento de Rede.pdf
Aula 06 - Gerenciamento de Rede.pdf
 
Redes de Computadores 2 - Aula 3 - Roteamento
Redes de Computadores 2 - Aula 3 - RoteamentoRedes de Computadores 2 - Aula 3 - Roteamento
Redes de Computadores 2 - Aula 3 - Roteamento
 
Aula 6 a camada de rede
Aula 6   a camada de redeAula 6   a camada de rede
Aula 6 a camada de rede
 
Multiplos links, multiplas rotas
Multiplos links, multiplas rotasMultiplos links, multiplas rotas
Multiplos links, multiplas rotas
 
33022293 comandos-dos-para-redes
33022293 comandos-dos-para-redes33022293 comandos-dos-para-redes
33022293 comandos-dos-para-redes
 
Valdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration SampleValdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration Sample
 
Giovaneli_-_Apresentação_ DNS ANYCAST.pdf
Giovaneli_-_Apresentação_ DNS ANYCAST.pdfGiovaneli_-_Apresentação_ DNS ANYCAST.pdf
Giovaneli_-_Apresentação_ DNS ANYCAST.pdf
 
M3- REDES DE COMPUTADOR AVANÇADO atualizado.pptx
M3- REDES DE COMPUTADOR AVANÇADO atualizado.pptxM3- REDES DE COMPUTADOR AVANÇADO atualizado.pptx
M3- REDES DE COMPUTADOR AVANÇADO atualizado.pptx
 
3 - TRAFFIC SHAPPING-DUMMYNET
3 - TRAFFIC SHAPPING-DUMMYNET3 - TRAFFIC SHAPPING-DUMMYNET
3 - TRAFFIC SHAPPING-DUMMYNET
 
Config_Roteador_CISCO_RIP.docx
Config_Roteador_CISCO_RIP.docxConfig_Roteador_CISCO_RIP.docx
Config_Roteador_CISCO_RIP.docx
 
Alta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBDAlta Disponibilidade utilizando Pacemaker e DRBD
Alta Disponibilidade utilizando Pacemaker e DRBD
 
QoS e serviços diferenciados usando Linux
QoS e serviços diferenciados usando LinuxQoS e serviços diferenciados usando Linux
QoS e serviços diferenciados usando Linux
 
I Pv4 Vs I Pv6 Final 2
I Pv4 Vs I Pv6 Final 2I Pv4 Vs I Pv6 Final 2
I Pv4 Vs I Pv6 Final 2
 
Linux - Network
Linux - NetworkLinux - Network
Linux - Network
 
Laboratório configuração de um túnel ponto a ponto vpn gre
Laboratório configuração de um túnel ponto a ponto vpn greLaboratório configuração de um túnel ponto a ponto vpn gre
Laboratório configuração de um túnel ponto a ponto vpn gre
 
Roteamento avançado em Linux - GTER
Roteamento avançado em Linux - GTERRoteamento avançado em Linux - GTER
Roteamento avançado em Linux - GTER
 

Último

Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptx
andrenespoli3
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
CleidianeCarvalhoPer
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
tatianehilda
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
NarlaAquino
 

Último (20)

Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptx
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdfProjeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
Projeto_de_Extensão_Agronomia_adquira_ja_(91)_98764-0830.pdf
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
Aula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptAula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.ppt
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2Estudar, para quê?  Ciência, para quê? Parte 1 e Parte 2
Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
 

Aula 8.3 - Iptables Tabela NAT

  • 1. Firewall Iptables - NAT Prof. Andrei Carniel Universidade Tecnológica Federal do Paraná – UTFPR E-mail: andreicarniel@utfpr.edu.br / andrei.carniel@gmail.com
  • 2. NAT – Network Address Translator • NAT – Network Address Translator (Tradutor de Endereço de Rede) • Existem vários recursos que utilizam NAT. Os mais conhecidos são: ▫ --> Mascaramento (masquerading) ▫ --> Redirecionamento de portas (port forwarding ou PAT) ▫ --> Redirecionamento de servidores (forwarding) ▫ --> Proxy transparente (transparent proxy) ▫ --> Balanceamento de carga (load balance) 2
  • 3. NAT – Mascaramento (1/3) • O mascaramento é uma forma de fazer NAT (Network Address Translation). • Com isso, é possível fazer uma rede privada navegar na Internet. A rede solicita os dados para a máquina que faz o mascaramento. Essa busca tais dados na Internet... 3
  • 4. NAT – Mascaramento (2/3) • ...e os entrega aos solicitantes. 4
  • 5. NAT – Mascaramento (3/3) • No entanto, um host da Internet, por vontade própria, não consegue ultrapassar o filtro que faz mascaramento, em direção à rede: • O único endereço IP que irá circular na Internet será o do filtro. • O mascaramento também possui um esquema de funcionamento. Como haverá trocas de endereços, deveremos utilizar a tabela NAT para fazer isso. 5
  • 6. NAT – Redirecionamentos • Redirecionamento de portas ▫ O redirecionamento de portas ocorre quando desejamos alterar a porta de destino de uma requisição. ▫ Exemplo: tudo que for destinado à porta 23 de qualquer máquina, quando passar pela máquina filtro, será redirecionado para a porta 10000 de outro servidor. • Redirecionamento de servidores ▫ Todos os pacotes destinados a um servidor serão redirecionados para outro servidor. 6
  • 7. NAT – Proxy Transparente • Um exemplo é a técnica que força o uso de um servidor proxy na rede. 7 • Ou seja, consiste em interceptar uma comunicação HTTP e forçar ela a seguir um caminho por um servidor proxy.
  • 8. NAT – Balanceamento de Carga • O balanceamento de carga (load balance) é uma técnica utilizada para distribuir carga entre servidores sincronizados. • O load balance é o ato de distribuir os clientes aos servidores mais desocupados. • Esse trabalho também pode ser feito por servidores DNS. 8
  • 9. NAT – Network Address Translator 9
  • 10. NAT – Network Address Translator • O NAT é dividido em: ▫ --> SNAT (Source NAT): aplica-se quando desejamos alterar o endereço de origem do pacote. Somente a chain POSTROUTING faz SNAT. O mascaramento é um exemplo de SNAT. ▫ --> DNAT (Destination NAT): aplica-se quando desejamos alterar o endereço de destino do pacote. As chains PREROUTING e OUTPUT fazem DNAT. O redirecionamento de porta, o redirecionamento de servidor, o load balance e o proxy transparente são exemplos de DNAT. 10
  • 11. Regras de NAT • Para fazer o mascaramento, deveremos, antes, carregar o módulo de NAT: ▫ #modprobe iptable_nat • As regras mais utilizadas, além da maioria dos recursos descritos para uso com a tabela filter, contêm o seguinte: 11
  • 12. Regras de NAT – Chains • Existem as seguintes chains: ▫ PREROUTING --> utilizada para analisar pacotes que estão entrando no kernel para sofrerem NAT. O PREROUTING pode fazer ações de NAT com o endereço de destino do pacote. Isso é conhecido como DNAT (Destination NAT); ▫ POSTROUTING --> utilizada para analisar pacotes que estão saindo do kernel, após sofrerem NAT. O POSTROUTING pode fazer ações de NAT com o endereço de origem do pacote. Isso é conhecido como SNAT (Source NAT); ▫ OUTPUT --> utilizada para analisar pacotes que são gerados na própria máquina e que irão sofrer NAT. O OUTPUT pode fazer ações de NAT com o endereço de destino do pacote. Também é DNAT. 12
  • 13. Regras de NAT – Chains • Opções: ▫ -A --> Append (adicionar). ▫ -D --> Delete (apagar). • Dados: ▫ -t --> Table (tabela). Estabelece a tabela a ser utilizada. A tabela default, por omissão, é filter. Para o mascaramento ou NAT será nat. Exemplo: ▫ Exemplos:  #iptables -t nat -A ...  #iptables -t nat -D ... 13
  • 14. Regras de NAT – Chains • --to --> utilizado para definir IP e porta de destino, após um DNAT, ou de origem, após um SNAT. • Deve ser utilizado após uma ação (-j ação). Assim: ▫ #... -j DNAT --to 10.0.0.2 ▫ #... -j DNAT --to 10.0.0.2:80 ▫ #... -j SNAT --to 172.20.0.2 14
  • 15. Regras de NAT – Chains • --dport --> assim como -d define um host de destino, --dport define uma porta de destino. • Deve ser utilizado antes de uma ação (-j ação). Antes de --dport, deve ser especificado um protocolo (-p). Exemplo: ▫ #-d 172.20.0.1 -p tcp --dport 80 -j DNAT --to 10.0.0.2 • --sport --> assim como -s define um host de origem, --sport define uma porta de origem. Deve ser utilizado antes de uma ação (-j ação). • --to-port --> define uma porta de destino, após um REDIRECT. 15
  • 16. Regras de NAT – Chains • Obs: A maioria dos dados básicos apresentados para a tabela filter continuam valendo. • Exemplo: -p servirá para definir um protocolo de rede; -d define um host de destino. 16
  • 17. Regras de NAT – Ações • SNAT --> Utilizado com POSTROUTING para fazer ações de mascaramento da origem. • DNAT --> Utilizado com PREROUTING e OUTPUT para fazer ações de redirecionamento de portas e servidores, balanceamento de carga e proxy transparente. ▫ Caso a porta de destino não seja especificada, valerá a porta de origem. No filtro, a porta que será redirecionada não pode existir ou estar ocupada por um serviço qualquer, a fim de evitar conflitos. • MASQUERADE --> Faz mascaramento na saída de dados. • REDIRECT --> Redireciona uma requisição para uma porta local do filtro. 17
  • 18. Regras de NAT • Redirecionamentos. 18
  • 19. Redirecionamento de Portas • O redirecionamento de portas permite repassar conexões com destino a uma porta para outra porta na mesma máquina. • O alvo REDIRECT é usado para fazer esta operação, junto com o argumento --to-port especificando a porta que será redirecionada. • Este é o método pode ser utilizado para se fazer proxy transparente. Todas as operações de redirecionamento de portas é realizada no chain PREROUTING. • Exemplo: ▫ #iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 81 • Redireciona as conexões chegando na interface eth0, porta 80 para a porta 81. 19
  • 20. Redirecionamento de Portas • Exemplo Comentado: ▫ #iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 81 • Explicando: • iptables : comando para adicionar regras de firewall. • -t nat : selecionando a tabela NAT. • -A PREROUTING : adicionando uma nova regra no final da lista da chain PREROUTING, na qual será alterado o endereço de destino. • -i eth0 : especificando que será pacotes entrando da interface eth0. • -p tcp : definindo regra para o protocolo TCP. • --dport 80 : especificando a porta do protocolo TCP. • -j REDIRECT : definindo a ação de redirecionamento de porta. • --to-port 81 : definindo a porta de destino. 20
  • 21. Redirecionamento de IP • DNAT (Destination NAT) consiste em modificar o endereço de destino das máquinas clientes. • O destination NAT é muito usado para fazer redirecionamento de pacotes, proxys transparentes e balanceamento de carga. • Toda operação de DNAT é feita no chain PREROUTING. • Exemplo: ▫ #iptables -t nat -A PREROUTING -d 200.200.217.40 -i eth0 -j DNAT --to 192.168.1.2 • Modifica o endereço IP destino dos pacotes de 200.200.217.40 vindo da interface eth0 para 192.168.1.2. 21
  • 22. Redirecionamento de Portas • Exemplo Comentado: ▫ #iptables -t nat -A PREROUTING -d 200.200.217.40 -i eth0 -j DNAT --to 192.168.1.2 • Explicando: • iptables : comando para adicionar regras de firewall. • -t nat : selecionando a tabela NAT. • -A PREROUTING : adicionando uma nova regra no final da lista da chain PREROUTING, na qual será alterado o endereço de destino. • -d 200.200.217.40 : definindo a validade da para qualquer pacote da rede com destino ao IP 200.200.217.40. • -i eth0 : especificando que será pacotes entrando da interface eth0. • -j NAT : definindo a ação de redirecionamento de endereço. • --to 192.168.1.2 : definindo o IP de destino. 22
  • 23. Redirecionamento de IP • Também é possível especificar faixas de endereços e portas que serão substituídas no DNAT: ▫ #iptables -t nat -A PREROUTING -i eth0 -s 192.168.1.0/24 -j DNAT --to 200.200.217.40-200.200.217.50 • Modifica o endereço IP de destino do tráfego vindos da interface 192.168.1.0/24 para um IP de 200.241.200.40 a 200.241.200.50. • Este é um excelente método para fazer o balanceamento de carga entre servidores. 23
  • 24. Redirecionamento de IP • Exemplo 2: ▫ #iptables -t nat -A PREROUTING -i eth0 -s 192.168.1.0/24 -j DNAT --to 200.200.217.40-200.200.217.50 -p tcp --dport 1024:5000 • Idêntico ao anterior, mas faz somente substituições na faixa de portas de destino de 1024 a 5000. • Verificando NAT: ▫ #iptables -t nat -L PREROUTING –n 24
  • 25. Exemplos comentados de regras de filtragem (Tabela NAT) 25
  • 26. Exemplos comentados de regras de filtragem (Tabela NAT) ▫ #iptables -t nat –L • Mostra as regras de NAT ativas. ▫ #iptables -t nat -F • Apaga todas as regras de NAT existentes. ▫ #iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE • Todos os pacotes que saírem pela interface ppp0 (modem) serão mascarados. Isso dá um nível de segurança elevado à rede que está atrás da ppp0. • É uma boa regra para navegação na Internet. Note que esse tipo de mascaramento não usa SNAT. 26
  • 27. Exemplos comentados de regras de filtragem (Tabela NAT) ▫ #iptables -t nat -A POSTROUTING -d 0/0 -j MASQUERADE • Tem o mesmo efeito da regra anterior. No entanto, estabelece que qualquer pacote destinado a qualquer outra rede, diferente da interna, será mascarado. A regra anterior refere-se aos pacotes que saem por determinada interface. A opção -d 0/0 poderia ser -d 0.0.0.0/0 também. É uma outra regra para navegação na Internet. ▫ #iptables -t nat -A PREROUTING -p tcp -d 10.0.0.2 -- dport 80 -j DNAT --to 172.20.0.1 • Redireciona todos os pacotes destinados à porta 80 da máquina 10.0.0.2 para a máquina 172.20.0.1. Esse tipo de regra exige a especificação do protocolo. Como não foi especificada uma porta de destino, a porta 80 será mantida como destino. 27
  • 28. Exemplos comentados de regras de filtragem (Tabela NAT) ▫ #iptables -t nat -A OUTPUT -p tcp -d 10.0.0.10 -j DNAT - -to 10.0.0.1 • Qualquer pacote TCP, originado na máquina filtro, destinado a qualquer porta da máquina 10.0.0.10, será desviado para a máquina 10.0.0.1 . ▫ #iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 200.20.0.1 • Essa regra faz com que todos os pacotes que irão sair pela interface eth0 tenham o seu endereço de origem alterado para 200.20.0.1 . ▫ #iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 172.20.0.1 • Todos os pacotes que entrarem pela eth0 serão enviados para a máquina 172.20.0.1 . 28
  • 29. Exemplos comentados de regras de filtragem (Tabela NAT) ▫ #iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 172.20.0.1-172.20.0.3 • Aqui haverá o load balance. Todos os pacotes que entrarem pela eth0 serão distribuídos entre as máquinas 172.20.0.1 , 172.20.0.2 e 172.20.0.3 . ▫ #iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT 200.20.5.0/24 • Uma situação interessante: todos os pacotes que saírem da rede 192.168.1.0 serão transformados em 200.20.5.0 . 29
  • 30. Exemplos comentados de regras de filtragem (Tabela NAT) ▫ #iptables -t nat -A PREROUTING -s 10.0.0.0/8 -p tcp --dport 80 -j REDIRECT --to-port 3128 • Todos os pacotes TCP que vierem da rede 10.0.0.0, com máscara 255.0.0.0, destinados à porta 80 de qualquer host, não sairão; serão redirecionados para a porta 3128 do filtro. • Isso é o passo necessário para fazer um proxy transparente. O proxy utilizado deverá aceitar esse tipo de recurso. • No caso, o Squid, que aceita transparência, deverá estar instalado na máquina filtro, servindo na porta 3128. 30
  • 31. Exemplos comentados de regras de filtragem (Tabela NAT) ▫ #iptables -t nat -A PREROUTING -d 200.135.203.20 -p tcp --dport 22 -j DNAT --to 172.29.50.12 • Todos os pacotes com destino a 200.135.203.20 via protocolo TCP na porta 22, serão redirecionados para o endereço 172.29.50.12 . ▫ #iptables -t nat -A PREROUTING -d 172.29.45.45 -p tcp --dport 5900 -j REDIRECT --to-port 6500 • Todos os pacotes com destino a 172.29.50.12 via protocolo TCP na porta 5900, serão redirecionados para a porta 6500 . 31
  • 32. Tabelas FILTER e NAT. 32
  • 33. Filter e NAT • As tabelas FILTER e NAT podem atuar em conjunto, funcionando em paralelo. • Há de se ter cuidado pois, como já disse, elas atuam em paralelo, como duas pilhas que serão executadas ao mesmo tempo. Assim sendo, se tivermos as regras: ▫ #iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE ▫ #iptables -A FORWARD -j DROP • Apesar da primeira (tabela nat) possibilitar a navegação mascarada da rede 10.0.0.0 na Internet, essa navegação não ocorrerá, pois a segunda regra (Tabela Filter) irá barrar o FORWARD entre as redes. 33
  • 34. Topologia de Filtros de Pacotes 34
  • 35. Topologia de Filtros de Pacotes • O posicionamento de um filtros de pacotes dentro da rede é de extrema importância para ela. • Pode-se utilizar dois tipos de filtros de pacotes: filtro isolado (mais seguro) e filtro incorporado (sendo este último o mais inseguro e menos desejável). • O filtro será isolado quando estiver entre máquinas, com função exclusiva de filtro: 35
  • 36. Topologia de Filtros de Pacotes • O filtro será incorporado quando não houver uma máquina isolada como filtro. • Nesse caso, as máquinas da rede deverão estabelecer, individualmente, as suas próprias regras de filtragem. É o sistema mais inseguro: 36 • Nada impede que os dois sistemas sejam utilizados em parceria, oferendo assim um alto grau de segurança à rede. Cabe ressaltar que no filtro incorporado há maior nível de insegurança, uma vez que outros processos rodam junto com o filtro.
  • 38. Exercícios • Considere o seguinte esquema de rede: 38
  • 39. Exercícios • Regras para servidor S: 1. Todas as conexões recebidas na porta 8008 devem ser redirecionadas a porta 22. 2. O único host da rede B que poderá se conectar será o: Y. 3. Toda a rede A poderá acessar o servidor S. 4. Bloquear outras conexões a essa porta. 5. Quando o servidor tentar acessar o site www.facebook.com.br e www.facebook.com, redirecionar para 177.99.179.99.  iptables -t nat -A PREROUTING -p tcp --dport 8008 -j REDIRECT --to-port 22  iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT  iptables -A INPUT -s 172.29.0.3 -p tcp --dport 22 -j ACCEPT  iptables -A INPUT -p tcp --dport 22 -j DROP  iptables -t nat -A OUTPUT -d www.facebook.com -j DNAT --to 177.99.179.99  iptables -t nat -A OUTPUT -d www.facebook.com.br -j DNAT --to 177.99.179.99 39
  • 40. Exercícios • Regras para roteador R: 1. Mascarar todas os pacotes que irão sair da rede B. 2. Mascarar todas os pacotes que irão sair do servidor S. 3. Todas as conexões recebidas na porta 80 devem ser redirecionadas para o servidor S. 4. Quando a máquina X tentar enviar qualquer pacote para a máquina A redirecionar para o servidor S. 5. Todos os pacotes originados na rede A devem ser redirecionados e balanceados na rede B  iptables -t nat -A POSTROUTING -s 192.168.1.0/16 -j MASQUERADE  iptables -t nat -A POSTROUTING -s 200.143.81.25 -j MASQUERADE  iptables -t nat -A PREROUTING -p tcp -d 200.143.81.20 --dport 80 -j DNAT --to 200.143.81.25  iptables -t nat -A PREROUTING -p tcp -s 192.168.0.4 -d 172.20.0.2 -j DNAT --to 200.143.81.25  iptables -t nat -A PREROUTING -s 172.29.0.0/16 -j DNAT --to 192.168.0.4- 192.168.0.5 40
  • 41. Exercícios • Regras para B: 1. Todas os pacotes para acesso de Internet deverão ser redirecionados para o ip 177.99.179.99.  iptables -t nat -A PREROUTING -p tcp -d 0/0 --dport 80 -j DNAT --to 177.99.179.99 41
  • 43. Firewall Iptables - NAT Prof. Andrei Carniel Universidade Tecnológica Federal do Paraná – UTFPR E-mail: andreicarniel@utfpr.edu.br / andrei.carniel@gmail.com