Você está na página 1de 65
Segurança de Redes Revisão G2 Prof. Cristiano Goulart Borges cristiano_borges@alcidesmaya.com.br

Segurança de Redes Revisão G2

Prof. Cristiano Goulart Borges cristiano_borges@alcidesmaya.com.br cristiano@cristiano.eti.br www.alcidesmaya.com.br

@cgborges07

Wi-fi Segurança de Redes

Wi-fi

Segurança de Redes

Técnicas de invasão – Wi-fi

Técnicas de invasão – Wi-fi

A comunicação wi-fi acontece em frames

– Wi-fi • A comunicação wi-fi acontece em frames • Frames de controle tem uma estrutura

Frames de controle tem uma estrutura mais complexa

• Frames de controle tem uma estrutura mais complexa • O campo “ Type ” ou

O campo “ Type” ou “ Tipo ” define o tipo de quadro WLAN, que pode ter 3 possibilidades: Gerenciamento, Controle ou Dados

Segurança de Redes

Hiden SSID Segurança de Redes

Hiden SSID

Segurança de Redes

Técnicas de invasão – Wi-fi

Técnicas de invasão – Wi-fi

Na configuração padrão, Access Points enviam seus SSIDs nos Beacon Frames.

Isto

permite

facilmente.

que

clientes

na

vizinhança

o

detectem

Utilizando Hidden SSID o AP não faz broadcast de seu SSID nos Beacon Frames.

Somente clientes que conhecem o SSID podem conectar-se a rede.

Se monitorarmos os Beacon Frames com o Wireshark, veremos os SSIDs em texto puro.

Segurança de Redes

Técnicas de invasão – Wi-fi

Técnicas de invasão – Wi-fi

Burlando:

Se utilizarmos o método passivo, basta esperarmos um cliente legítimo se conectar ao AP. Serão gerados pacotes “Probe Request” e “Probe Response”, onde ambos conterão o SSID da rede, revelando sua presença.

Se utilizarmos o método ativo, podemos enviar pacotes de de-autenticação para o AP com o “aireplay-ng”, forçando a reconexão de clientes.

Segurança de Redes

Filtros de MAC Segurança de Redes

Filtros de MAC

Segurança de Redes

Técnicas de invasão – Wi-fi

Técnicas de invasão – Wi-fi

A idéia básica é aumentar a segurança da autenticação baseando-se no MAC Address do cliente.

Uma

lista

com

MACs

autorizados

é

mantida

pelo

administrador do sistema no AP.

Só permite a conexão se o MAC estiver cadastrado no AP.

Segurança de Redes

Técnicas de invasão – Wi-fi

Técnicas de invasão – Wi-fi

Burlando:

Utilizando uma ferramenta como o “airodump-ng ”, é possível descobrir o MAC de clientes legítimos conectados ao AP.

Ex: airodump-ng -c 11 –a --bsssid 00:21:91:D3:E8:26 mon0 onde:

a opção “-c” especifica o canal que está sendo utilizado.

a opção “–a” nos assegura que na seção “cliente” do airodump-ng, apenas clientes associados e conectados ao AP serão exibidos.

a opção “--bssid“ indica qual o MAC Address do AP.

a opção “mon0” representa a interface wi-fi do atacante que está sendo utilizada no monitoramento.

Segurança de Redes

Técnicas de invasão – Wi-fi

Técnicas de invasão – Wi-fi

Uma vez que encontramos clientes legítimos conectados no AP, basta trocarmos o MAC Address do nosso adaptador para um MAC legítimo “spoofando” um endereço válido.

Para

macchanger:

trocar

o

endereço

da

interface,

usaríamos

o

Ex: macchanger –m 60:FB:42:D5:5B:43 wlan0 , onde 60:FB:42:D5:5B:43 é um endereço de um cliente válido. Dessa forma, o AP já passaria a aceitar nossas conexões.

Segurança de Redes

Proteções Segurança de Redes

Proteções

Segurança de Redes

Técnicas de invasão – Wi-fi

Técnicas de invasão – Wi-fi

Para SOHO (Small Office Home Office) e empresas de tamanho médio:

utilize WPA2/PSK com uma senha forte que não esteja em dicionários (nem de trás para frente).

Você tem 63 caracteres para compor a senha: use-os.

Para grandes empresas:

use WAP2-Enterprise (Servidor Radius) com EAP-TLS (Extensible Authentication Protocol-Transport Layer Security).

Ele usa certificados tanto do lado do servidor quanto do lado do cliente para autenticação (atualmente a maneira mais segura).

Segurança de Redes

Técnicas de invasão – Wi-fi

Técnicas de invasão – Wi-fi

802.1x

Baseado no conceito de “portas”.

Enquanto a estação não finaliza o processo de autenticação, fica com a “porta” para a rede fechada.

A única comunicação permitida é com o servidor RADIUS.

Apenas no final da autenticação com sucesso (indicada pelo servidor RADIUS para o AP) o AP libera o acesso.

Segurança de Redes

no final da autenticação com sucesso (indicada pelo servidor RADIUS para o AP) o AP libera
Tipos de Firewalls Segurança de Redes

Tipos de Firewalls

Segurança de Redes

Firewalls - Tipos

Firewalls - Tipos

Quanto a camada de atuação no TCP/IP

de aplicação

de pacotes

Quanto a abrangência da proteção

de host

de rede

Quanto ao poder de ação

Stateless

Statefull

Quanto a ação padrão

Permissivo

Prudente (Proibitivo)

Segurança de Redes

Firewalls - Tipos

Firewalls - Tipos

Quanto a camada de atuação no TCP/IP

De aplicação

Permitem analisar os protocolos e dados trafegados.

Proxy: “entende” as requisições HTTP.

Proxy: permite bloquear URL por palavras chaves.

Filtro de pacotes

Permitem análise dos cabeçalhos da pilha TCP/IP

Transporte: Flags TCP (SYN, FIN, RST, etc), portas

Rede: IPs de origem e destino, flags

Enlace: endereços físicos (MAC)

Segurança de Redes

Firewalls - Tipos

Firewalls - Tipos

Quanto a abrangência da solução

de Host (também chamado de Firewall Pessoal)

Protege apena a estação onde está instalado.

de Rede

Protege várias máquinas na rede “atrás dele”;

Geralmente instalado no gateway da rede;

O Firewall da máquina “A” está instalado nela e protege

apenas esta estação local.

WEB GW Firewall A B C Firewall Desktop
WEB
GW
Firewall
A
B
C
Firewall
Desktop

Já o firewall de “GW” protege as máquinas A, B, C e ele

mesmo.

Segurança de Redes

Firewalls - Tipos

Firewalls - Tipos

Quanto ao poder de ação

Stateless (livre de estado)

Também conhecido por firewall estático.

Não se “lembra” do passado.

As regras baseiam-se no pacote que está sendo analisado e o que po de-se extrair dele.

Ocupa menos recurso de hardware .

Alguns filtros incorporados a routers comerciais são stateless.

Segurança de Redes

Firewalls - Tipos

Firewalls - Tipos

Quanto ao poder de ação

Statefull

Também conhecido por firewall dinâmico.

Possui memória das conexões (“lembra-se” do passado).

As regras levam em consideração pacotes que já passaram daquela conexão.

Exemplos de regras statefull :

Cliente já fez o handshake? Se sim, aceita conexões desse cliente.

Esse cliente já enviou muitos “SYN”? Então recusa novas tentativas.

Esse IP bateu na porta 10000 a menos de 1 segundo atrás? Se sim, libera a porta 22 para esse cliente (port knocking)

Segurança de Redes

Firewalls - Tipos

Firewalls - Tipos

Stateless x Statefull

Firewalls - Tipos Stateless x Statefull Stateless : para aceitar o pacote basta analizar o pacote

Stateless: para aceitar o pacote basta analizar o pacote atual.

Ex: se é porta 80 aceita, senão nega.

Segurança de Redes

Statefull: Considera se o cliente já fez o handshake.

Se

sim,

o

firewall

deve

ser

capaz

de

consultar

em

suas

tabelas

as

conexões

anteriores.

 
Firewalls - Tipos

Firewalls - Tipos

Quanto a ação padrão

Permissivo

Todos os pacotes para os quais não existe regra específica serão ac eitos.

Se um pacote não “casar” com nenhuma regra estabelecida, será ac eito.

Prudente

Todos os pacotes para os quais não existe regra específica serão ne gados.

Se um pacote não “casar” com nenhuma regra estabelecida, será descartado.

Qual é o melhor?

Como se comporta o Iptables?

Segurança de Redes

Sobre filtros Segurança de Redes

Sobre filtros

Segurança de Redes

Firewalls

Firewalls

O que um filtro pode fazer?

Aceitar um pacote

Permitir que ele siga o seu caminho.

Rejeitar um pacote

Impedir que ele prossiga, descartá-lo.

Realizar logs de eventos

Registrar num arquivo as características de um determinado pacote .

Alterar um pacote

Trocar algumas informações do cabeçalho (nem todos permitem).

Segurança de Redes

Firewalls

Firewalls

O que um filtro NÃO pode fazer?

Verificar se os dados tem vírus

Alguns “firewalls pessoais” para Windows fazem isso, mas eles não são apenas firewalls, e sim suítes de segurança (Firewall, antivírus, IDS, IPS, antirootkit, antispyware, etc)

Filtrar por conteúdo, strings

Um filtro de pacotes não deveria fazer isso, pois aí se enquadraria como filtro de aplicação.

Garantir a segurança

Um filtro faz parte da estratégia de segurança, mas 100% de segura nça não existe.

Lembre-se que a instalação de um firewall pode dar a falsa sensação de “segurança plena” e incentivar o Administrador a “relaxar a guarda ”.

Segurança de Redes

Firewalls

Firewalls

Organização das regras

Cada regra possui:

Características que fazem um pacote “casar ” com ela: “se o IP de origem

for se a porta de destino for

”,

”,

se o protocolo não for etc.

”,

Uma ação a ser realizada com aquele pacote: “então descarta ”, “então aceita ”, “então rejeita ”, etc.

A ordem de aplicação das regras é muito importante:

O Firewall por definição irá testar da primeira até a última.

Ao encontrar uma regra que “case” com o pacote ele para o teste e a plica a regra encontrada, ou seja, não testa as regras seguintes. Logo uma boa estratégia para ordenar as regras é fundamental em firewall complexos.

Segurança de Redes

Firewalls

Firewalls

Exemplo ERRÔNEO de uma ordenação de regras

Regra 1 : se porta de destino = 5000 então nega acesso Regra 2 : se IP de origem for 10.1.0.1 e porta de destino = 5000 então aceita conexão .

Neste caso a “Regra 2” jamais será aplicada.

O exemplo CORRETO seria:

Regra 1 : se IP de origem for 10.1.0.1 e porta de destino = 5000 então aceita conexão . Regra 2 : se porta de destino = 5000 então nega acesso

Segurança de Redes

Firewalls

Firewalls

E se não “casar” com nenhuma regra?

Firewalls E se não “casar” com nenhuma regra? Política • Considere que o filtro possui 2

Política

Considere que o filtro possui 2 regras configuradas:

Regra 1: se o destino do pacote for a porta 22 então aceita Regra 2: se o destino do pacote for a porta 23 então aceita

Chegou um pacote na porta 80!!!!

Não se enquadra na Regra 1;

Não se enquadra na Regra 2;

Qual a decisão do filtro?

Segurança de Redes

Aqui vê-se a importância da POLÍTICA

Permissivo: aceita o pacote

Prudente: nega pacote

IPtables Segurança de Redes

IPtables

Segurança de Redes

Firewalls - IPtables

Firewalls - IPtables

Antes de falar no Iptables, falemos sobre como ativar encaminhamento no Linux.

Habilitar “ip_forward

echo “1” > /proc/sys/net/ipv4/ip_forward

Segurança de Redes

Firewalls - IPtables

Firewalls - IPtables

Netfilter: na verdade esse é o nome do Firewall do mundo Linux.

IPTables é o interpretador de comandos que permite inserir regras no NetFilter.

NetFilter é Kernel.

Iptables é aplicação.

Caminhão de informações em: http://www.netfilter.org/

 

Segurança de Redes

Firewalls - IPtables

Firewalls - IPtables

Até o Kernel 2.0 do Linux usava-se o IPfwadmin.

A partir do Kernel 2.2 do Linux usava-se o Ipchains.

A partir do Kernel 2.4 passou-se a usar o Iptables.

Principal diferença entre eles?????

IPfwadmin e Ipchains são Stateless.

IPtables é Statefull.

Segurança de Redes

Firewalls - IPtables

Firewalls - IPtables

Dentro do ciclo de vida dos pacotes o Netfilter inseriu “ganchos”, onde o pacote pode ser analisado.

Entender esses ganchos é fundamental para entender onde uma re gra deve ser posicionada no Iptables.

Entender esses ganchos é fundamental para entender onde uma re gra deve ser posicionada no Iptables.

Segurança de Redes

Firewalls - IPtables

Firewalls - IPtables

Ganchos do netfilter:

Firewalls - IPtables • Ganchos do netfilter: Segurança de Redes Pacote destinado a processo local •

Segurança de Redes

Pacote destinado a processo local

pode ser analisado no PREROUTING, logo que entra na placa

pode ser analisado no INPUT

não passa pelo FORWARD!!

Firewalls - IPtables

Firewalls - IPtables

Ganchos do netfilter:

Firewalls - IPtables • Ganchos do netfilter: Segurança de Redes Um pacote gerado por um processo

Segurança de Redes

Um pacote gerado por um processo local

pode ser analisado no gancho OUTPUT

pode ser analisado no POSTROUTING

não passa pelo FORWARD!!

Firewalls - IPtables

Firewalls - IPtables

Ganchos do netfilter:

Firewalls - IPtables • Ganchos do netfilter: Segurança de Redes Um pacote roteado por este kernel

Segurança de Redes

Um pacote roteado por este kernel

pode ser analisado no PREROUTING, logo que entra na placa

pode ser analisado no gancho FORWARD

Pode ser analisado no POSTROUTING, antes de sair da placa

Firewalls - IPtables

Firewalls - IPtables

Tabelas do IPtables

É

possível

criar

listas

de

regras

(nomeando-as),

comumente conhecidas como “tabelas”.

Existem

por

padrão

3

tabelas

fixas

(cujos

nomes

também são fixos): filter, nat e mangle.

Cada tabela realiza uma ação específica.

Cada tabela tem regras que atuam em algum dos ganchos: PREROUTING, INPUT, OUTPUT, FORWARD e POSTROUTING

Segurança de Redes

A tabela Filter Segurança de Redes

A tabela Filter

Segurança de Redes

Firewalls – Iptables - FILTER

Firewalls – Iptables - FILTER

TABELA FILTER

É a tabela que funciona efetivamente como FIREWALL na sua essência (filtragem de pacotes).

Nessa

tabela

filtragem.

devem

ser

carregadas

as

regras

de

Atua nos ganchos INPUT, OUTPUT, FORWARD .

Não atua nos ganchos: PREROUTING e POSTROUTING.

Segurança de Redes

Firewalls – Iptables - FILTER

Firewalls – Iptables - FILTER

Qual gancho utilizar INPUT, OUTPUT ou FORWARD?

INPUT: trabalha nos pacotes destinados aos processos da máquina local.

Ex: Quero impedir que usuários acessem minha porta 22.

OUTPUT: trabalha nos pacotes gerados por processos da máquina local.

Ex: Quero impedir que minha máquina navegue, bloqueio a saída pela porta 80 e 443.

Que fique claro: INPUT e OUTPUT quando se refere aos processos da máquina local (o próprio firewall).

Segurança de Redes

Firewalls – Iptables - FILTER

Firewalls – Iptables - FILTER

Qual gancho utilizar INPUT, OUTPUT ou FORWARD?

FORWARD: Pega os pacotes que estão passando pela máquina local. Não são pacotes gerados por ela nem destinados a ela.

Ex: Quero que os pacotes vindos da Internet com destino a porta 3389 do meu servidor de e-mail sejam bloqueados.

Que fique claro: FORWARD quando os pacotes estão passando pela máquina local (o Linux está atuando como um filtro de rede).

Segurança de Redes

Firewalls – Iptables - FILTER

Firewalls – Iptables - FILTER

Qual gancho utilizar INPUT, OUTPUT ou FORWARD?

Veja que o firewall pode (e deve) fazer ambas as funções, apenas usando ganchos diferentes:

Quero impedir que usuários acessem a porta 22 do próprio firewall. (INPUT)

Quero impedir que o firewall navegue, bloqueando a saída pela porta 80 e 443. (OUTPUT)

Quero que os pacotes vindos da Internet com destino a porta 3389 do servidor de e-mails da rede local sejam bloqueados. (FORWARD)

Segurança de Redes

Firewalls – Iptables - FILTER

Firewalls – Iptables - FILTER

POLÍTICAS

Através

da

opção

“-P”

determinado gancho.

podemos

definir

a

política

de

um

A política inicial é sempre permissiva, o que faz com que o filtro, inicialmente, aceite qualquer INPUT, OUTPUT ou FORWARD.

Permissiva: iptables –P INPUT ACCEPT

Isto fará com que qualquer pacote que chegue na interface de ent rada e que não “casou” com nenhuma regra da tabela filter, seja aceito.

Prudente: iptables –P INPUT DROP

Isto fará com que qualquer pacote que chegue na interface de ent rada e que não “casou” com nenhuma regra da tabela filter, seja rejeitado .

O parâmetro –P não aceita REJECT nem LOG.

Segurança de Redes

Firewalls – Iptables - FILTER

Firewalls – Iptables - FILTER

Poderes da tabela filter

Filter é o firewall propriamente dito.

Tem o poder de aceitar ou não um pacote mas não pode modificá-lo.

Apenas as tabelas nat e mangle tem esse poder.

Tem o poder de registrar logs

Deve ter uma regra específica para o registro de logs.

Segurança de Redes

Firewalls – Iptables - FILTER

Firewalls – Iptables - FILTER

Sintaxe do Iptables

Principais parâmetros:

iptables –t filter –A FORWARD –i eth0 –s 10.0.0.1 –o eth1 –d 17 2.16.0.0/24 –p tcp –dport 80 –j ACCEPT

-t : indica em qual tabela. Ex: iptables –t filter

Se for omitido, sempre considera a tabela filter.

-A [gancho]: indica inserir essa regra após a última regra para esse gancho. Ex: iptables –t filter –A FORWARD

-I [gancho]: indica inserir essa regra no início das regras para esse gancho. Ex: iptables –t filter –I 1 FORWARD

Segurança de Redes

Firewalls – Iptables - FILTER

Firewalls – Iptables - FILTER

Sintaxe do Iptables

-N [gancho]: Cria um gancho definido pelo usuário.

Ex: iptables –t filter –N internet

-L [gancho]: Lista as regras existentes.

Ex: iptables –L FORWARD | iptables –L FORWARD –n --line-numbers

-D [gancho]: Apaga a regra pelo seu número de ordem. Ex: iptables

–D FORWARD 4

-F [gancho]: Remove todas as regras existentes no gancho, mas sem alterar a política. Ex: iptables –F FORWARD

-Z [gancho]: Zera o contador de bytes dos ganchos.

Ex: iptables –t filter –Z INPUT

Segurança de Redes

Firewalls – Iptables - FILTER

Firewalls – Iptables - FILTER

iptables –t filter –A FORWARD –i eth0 –s 10.0.0.1 –o eth1 –d 17 2.16.0.0/24 –p tcp –dport 80 –j ACCEPT

-s [IP/MASC] : indica para qual IP/máscara de origem (source) essa regra se aplica.

Ex: iptables –t filter –A FORWARD –i eth0 –s 10.0.0.1

-d [IP/MASC] : indica para qual IP/máscara de destino (destination) essa regra se aplica.

Ex: iptables –t filter –A FORWARD –s 10.0.0.1 –d 172.16.0.0/24 Ex: iptables –t filter –A FORWARD –s 10.0.0.1 –d www.terra.com .br

Segurança de Redes

Firewalls – Iptables - FILTER

Firewalls – Iptables - FILTER

iptables –t filter –A FORWARD –i eth0 –s 10.0.0.1 –o eth1 –d 17 2.16.0.0/24 –p tcp –dport 80 –j ACCEPT

-i [interface] : indica estar entrando (input) por uma interface de rede.

Ex: iptables –t filter –A FORWARD –i eth0 –s 10.0.0.1 –d 172.16.0.0/24

O parâmetro “-i” não faz o menor sentido para o gancho “OUTPUT”, pois o pacote não entrou em interface alguma.

iptables –t filter –A OUTPUT –i eth3

Segurança de Redes

(erro de sintaxe)

Firewalls – Iptables - FILTER

Firewalls – Iptables - FILTER

iptables –t filter –A FORWARD –i eth0 –s 10.0.0.1 –o eth1 –d 17 2.16.0.0/24 –p tcp –dport 80 –j ACCEPT

-o [interface] : indica estar saindo (output) por uma interface de rede.

Ex: iptables –t filter –A FORWARD –i eth0 –s 10.0.0.1 –o eth1 –d 172.16.0.0/24

O parâmetro “-o” não faz o menor sentido para o gancho “INPUT”, pois o pacote não irá sair em interface alguma.

iptables –t filter –A INPUT –o eth3

Segurança de Redes

(erro de sintaxe)

Firewalls – Iptables - FILTER

Firewalls – Iptables - FILTER

Tabela de referência rápida

TABELA

GANCHO (CHAIN)

INTERFACE

ENTRADA (-i)

SAÍDA (-o)

filter

INPUT

SIM

NÃO

OUTPUT

NÃO

SIM

FORWARD

SIM

SIM

nat

PREROUTING

SIM

NÃO

OUTPUT

NÃO

SIM

POSTROUTING

NÃO

SIM

mangle

PREROUTING

SIM

NÃO

OUTPUT

NÃO

SIM

Segurança de Redes

Firewalls – Iptables - FILTER

Firewalls – Iptables - FILTER

-j [ação] : indica a ação a ser tomada para esse pacote.

Ex: iptables –t filter –A FORWARD –i eth0 –s 10.0.0.1 –o eth1 –d 172.16.0.0/2 4 –j ACCEPT

(todo pacote entrando pela interface eth0 que tiver o IP de origem 10.0. 0.1, saindo pela interface eth1 e que se destinar a qualquer máquina da rede 172.16. 0.0/24 será aceito)

Algumas ações:

ACCEPT: o pacote será aceito. Nenhuma outra regra dessa tabela será avaliada.

DROP: o pacote será descartado. Nenhuma outra regra dessa tabela será avaliada.

REJECT: o pacote será descartado. Nenhuma outra regra dessa tabela será avaliada.

Segurança de Redes

Firewalls – Iptables - FILTER

Firewalls – Iptables - FILTER

Usar DROP ou REJECT????

DROP não dá nenhum retorno ao usuário.

REJECT retorna ao usuário um pacote ICMP do tipo 3 (destination unreachable) código 3 (port unreachable) para UDP e TCP. Para TCP isso pode ser mudado para um RST, pois ferramentas como o NMAP identificam um Firewall da seguinte maneira:

Recebeu RST: porta inativa.

Recebeu ICMP: firewall bloqueou.

Não recebeu nada: firewall bloqueou com DROP.

Ou seja tudo depende da política adotada pela empresa:

DROP: não informa nada ao atacante. REJECT: Oi eu sou o Firewall ;o)

Segurança de Redes

Firewalls – Iptables - FILTER

Firewalls – Iptables - FILTER

-j LOG: o pacote não será descartado nem aceito, apenas será registrado em log. Única ação que continua testando regras após já ter “casado” com uma regra (isso acontece obviamente para permitir logar um pacote antes de especificar uma ação).

Para DROPAR e logar, por exemplo:

iptables –t filter –A FORWARD –s 10.0.0.1 –j LOG

iptables –t filter –A FORWARD –s 10.0.0.1 –j DROP

Os logs serão enviados para o syslog como eventos do Kernel.

Geralmente no /var/log/messages

Segurança de Redes

Firewalls – Iptables - FILTER

Firewalls – Iptables - FILTER

-p: indica algum protocolo de transporte, como TCP ou UDP (ou mesmo ICMP, embora não seja de transporte)

O “-p” permite que sejam utilizadas portas

--sport: porta de origem

--dport: porta de destino

Ex: iptables –I INPUT –p tcp --dport 22 –j DROP

Segurança de Redes

Firewalls – Iptables - FILTER

Firewalls – Iptables - FILTER

Exemplos:

Considerando o mapa abaixo, configure o firewall com Iptables:

o mapa abaixo, configure o firewall com Iptables: • Bloqueie SSH no firewall para a rede

Bloqueie SSH no firewall para a rede 172.20.8.0/16

iptables –t filter –A INPUT –s 172.20.8.0/16 –p tcp --dport 22 –j DROP

Permita ao host 172.20.5.19 que acesse o serviço SSH no LAB B

iptables –t filter –A FORWARD –s 172.20.5.19 –d 10.10.10.3 –p tcp --dport 22 –j ACCEPT

Permita a qualquer máquina de qualquer rede o acesso HTTP a qualquer uma das duas máquinas.

iptables –t filter –A FORWARD –d 10.10.10.0/24 –p tcp --dport 80 –j ACCEPT

Segurança de Redes

Firewalls – Iptables - FILTER

Firewalls – Iptables - FILTER

Firewalls – Iptables - FILTER • Libere para o LAB A acesso via SSH no Firewall,

Libere para o LAB A acesso via SSH no Firewall, não sem antes logar essa ação:

iptables –t filter –A INPUT –s 10.10.10.2 –p tcp --dport 22 –j LOG iptables –t filter –A INPUT –s 10.10.10.2 –p tcp --dport 22 –j ACCEPT

Libere apenas consultas de DNS, POP e SMTP para os hosts da rede 10.10.10.0/24. Bloqueie todo o resto.

iptables –t filter –A FORWARD –s 10.10.10.0/24 –p udp --dport 53 –j ACCEPT iptables –t filter –A FORWARD –s 10.10.10.0/24 –p tcp --dport 110 –j ACCEPT iptables –t filter –A FORWARD –s 10.10.10.0/24 –p tcp --dport 25 –j ACCEPT iptables –P FORWARD DROP

Segurança de Redes

A tabela NAT Segurança de Redes

A tabela NAT

Segurança de Redes

Firewalls – Iptables - NAT

Firewalls – Iptables - NAT

Antes um pouco sobre os módulos do Iptables.

Os módulos do IPtables são especificados com a opção “–m [nome_módulo]” e permitem expandir as funcionalidades do firewall.

módulo state

módulo limit

módulo recent

O poder “statefull” está justamente nos módulos.

Segurança de Redes

Firewalls – Iptables - NAT

Firewalls – Iptables - NAT

Poderes do módulo STATE

Permite regras que casem com o “estado” de uma conexão.

O parâmetro “-m state” invoca o módulo.

Exemplo 1:

iptables –I INPUT –m state --state ESTABLISHED –j ACCEPT o ESTABLISHED permite que entrem pacotes para os quais já se tem uma conexão estabelecida.

Segurança de Redes

Firewalls – Iptables - NAT

Firewalls – Iptables - NAT

Exemplo 2:

iptables –I INPUT –m state --state RELATED –j ACCEPT

permite a entrada de conexões relacionadas com algo que já foi permitido antes.

Ex:

ICMP totalmente bloqueado na entrada (mas com o related na primeira regra)

Sai um pacote para a UDP 53

No destino a porta está fechada. Volta um ICMP 3/3.

O RELATED entende que esse pacote está relacionado ao UDP que foi e deixa-o retornar.

Segurança de Redes

Firewalls – Iptables - NAT

Firewalls – Iptables - NAT

A TABELA NAT

A tabela NAT serve para editar um pacote.

 

Trocar IP ou trocar porta.

 

Chama-se

NAT

pois

permite

realizar

tradução

de

endereços (nat = network address translation).

A ação de uma regra na tabela NAT permite trocar porta ou IP apenas, de origem ou de destino.

Atua

nos

ganchos

PREROUTING,

OUTPUT

e

POSTROUTING.

Segurança de Redes

Firewalls – Iptables - NAT

Firewalls – Iptables - NAT

Ações da tabela NAT

-j DNAT (destination NAT ou NAT de destino)

Permite trocar um parâmetro (IP ou porta) de destino .

Importante: destino é a essência do roteamento.

Logo, não faz sentido trocar o destino depois que o pacote já teve a decisão de roteamento.

Por isso que DNAT só funciona no PREROUTING ou na OUTPUT.

DNAT gera erro de sintaxe no POSTROUTING (trocar destino depois de ser roteado???)

-j SNAT (source NAT ou NAT de origem)

Permite trocar um parâmetro (IP ou porta) de origem.

Importante: só pode ser utilizado no POSTROUTING.

Segurança de Redes

Firewalls – Iptables - NAT

Firewalls – Iptables - NAT

Exemplos:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.10.10.3

Pacotes que chegarem nessa máquina e que forem destinados a porta 80, devem ser encaminhados para a máquina 10.10.10.3 (provavelmente um Web Server da rede interna) – Destination NAT.

O iptables altera o cabeçalho do pacote trocando o IP de destino para

10.10.10.3.

Quando o pacote voltar ele destroca automaticamente.

A porta também pode ser trocada:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.10.10.3:8080

Segurança de Redes

Firewalls – Iptables - NAT

Firewalls – Iptables - NAT

Exemplos:

iptables -t nat -A POSTROUTING -p tcp --dport 80 -j SNAT --to 10.10.10.1

Pacotes que estão saindo dessa máquina e que forem destinados a po rta 80, devem ser enviados como se tivessem sido gerados pela máquina de IP 10.10.10.1 (o próprio firewall) – Source NAT.

O iptables altera o cabeçalho do pacote trocando o IP de origem para

10.10.10.1.

Quando o pacote voltar ele destroca automaticamente.

Segurança de Redes

Firewalls – Iptables - NAT

Firewalls – Iptables - NAT

Casos de sucesso da tabela NAT (MASQUERADE)

Redirecionar tráfego da Internet para um servidor interno que tem IP privado.

Realizar NAT dinâmico, conhecido como mascaramento:

iptables -t nat -A POSTROUTING -p tcp --dport 80 -j SNAT --to 10.10.10.1

ou

iptables -t nat -A POSTROUTING -p tcp --dport 80 -j MASQUERADE

MASQUERADE = um “apelido” para –j SNAT <IP da ethx>

Segurança de Redes

Firewalls – Iptables - NAT

Firewalls – Iptables - NAT

Casos de sucesso da tabela NAT (PROXY TRANSPARENTE)

iptables -t nat -A PREROUTING -i eth1 -s 10.10.10.0/24 -p tcp --dport 80 -j DNAT --to 10.10.10.1:3128

ou

iptables -t nat -A PREROUTING -i eth1 -s 10.10.10.0/24 -p tcp --dport 80 -j REDIRECT --to 3128

REDIRECT: um apelido para –j DNAT --to <ip ethx>:porta

Segurança de Redes