FIREWALLS
Edgard Jamhour
2002, Edgard Jamhour
Segurança de Redes
• Firewalls
– Firewalls com estado e sem estado. Arquiteturas de Firewall.
• Criptografia
– Simétrica, Assimétrica, Certificados Digitais e SSL.
• VPN
– Arquiteturas de VPN, PPTP e L2TP.
• IPsec
– Políticas IPsec, Modos de Utilização, Topologias de uso
2002, Edgard Jamhour
Bibliografia
• BIBLIOGRAFIA
– TCP/IP Tutorial e Técnico: Martin W. Murhammer et al., 2000,
Makron Books.
– FIREWALLS - GUIA COMPLETO, GONCALVES,MARCUS,
EDITORA CIENCIA MODERNA LTDA.
2002, Edgard Jamhour
Firewalls
• Definição:
– Termo genérico utilizado para designar um tipo de proteção de
rede que restringe o acesso a certos serviços de um computador
ou rede de computadores pela filtragem dos pacotes da rede.
• Os firewalls podem ser de dois tipos:
– Sem estado (stateless)
• A decisão sobre a passagem ou não de um pacote considera
apenas as informações carregadas no próprio pacote.
– Com estado (stateful) – Stateful Inspection
• A decisão sobre a passagem ou não de um pacote leva em
outros pacotes que atravessaram anteriormente o firewall.
2002, Edgard Jamhour
Firewall = Bloqueio de Pacotes
Aplicativo
Serviço
Aplicação
Aplicação
TCP
UDP
Aplicação
Sistema operacional
IP
Enlace
Placa de rede
Física
DISPOSITIVO DE
REDE
Programa
externo
2002, Edgard Jamhour
Firewalls Sem Estado
• O tipo mais comum de firewall é o sem estado:
– A decisão sobre a passagem ou não de um pacote
considera apenas as informações carregadas no
próprio pacote.
• Utiliza usualmente apenas informações das
camadas de rede e transporte.
– Essa simplificação permite:
• Tornar o firewall mais rápido.
• Tornar o firewall independente do protocolo
transportado.
• Tornar o firewall independente de criptografia e
tunelamento.
2002, Edgard Jamhour
Filtragem de Pacotes sem Estado
A filtragem de pacotes é feita com base nas informações contidas no
cabeçalho dos protocolos.
Aplicações
Protolco de
Aplicação
FTP, SMTP, HTTP,
Telnet, SNM, etc.
Seqüência de
empacotamento
aplicação
TCP, UDP
transporte
rede
IP
Tecnologia
heterogênea
Data Link
Ethernet, Token
Ring, FDDI, etc
Física
enlace
física
2002, Edgard Jamhour
Filtragem de Pacotes
Aplicativo
Aplicativo
Aplicação
Aplicação
TCP
UDP
Aplicação
Sistema operacional
IP
FIREWALL PESSOAL
Enlace
Física
Placa de rede
FIREWALL DE
REDE
Programa
externo
2002, Edgard Jamhour
Implementação Física
•
•
No software do Roteador: screening routers
No software de uma estação dedicada (um PC com duas placas de
rede).
ROTEADOR
REDE
INTERNA
REDE
EXTERNA
FIREWALL
PERSONAL
FIREWALL
ROTEADOR
REDE
EXTERNA
REDE
INTERNA
FIREWALL
2002, Edgard Jamhour
Exemplo
• Roteadores Cisco
– PIX Firewall
– Firewall
– Roteador
– Proxy
– Detetor de ataques (SMTP, etc)
– Defesa contra fragmentação de IP
– Implementa VPN com IPsec
– Mais de 256K sessões simultâneas.
2002, Edgard Jamhour
Exemplo
• Implementação por Software
– Check Point Firewall
• Interface Gráfica
• Módulo de Firewall
• Módulo de Gerenciamento
– Mútiplas Plataformas
• Windows, Solaris, Linux, HP-UX, IBM AIX
– Controle de Segurança e Qualidade de Serviço.
2002, Edgard Jamhour
Algorítmo dos Firewalls sem Estado
Recebe pacote
Seleciona Primeira Regra
S
Encaminhar
Pacote
OK para Passar?
N
Seleciona
Proxima
Regra
S
OK para Bloquear
Bloquear
Pacote
N
N
Última
Regra?
Regra Default
(Bloquear Tudo)
S
2002, Edgard Jamhour
Filtragem por Aplicação
• Os firewalls sem estado não analisam o
protocolo de aplicação para determinar o tipo de
serviço transportado pelo pacote.
• A dedução do tipo de serviço é feito
indiretamente:
– Pelo campo “Protocol Type” do IP
• RFC 1700: Assigned Numbers
– TCP = 6, UDP = 17, ICMP = 1, etc.
– Pelas portas quando o tipo de protocolo for 6 ou 17
• http://www.iana.org/assignments/port-numbers
• Todas as numerações são padronizada pela IANA (The
Internet Assigned Numbers Authority)
2002, Edgard Jamhour
Distribuição das Portas
0
….
1023
PORTAS
TCP ou
UDP
• Portas Bem conhecidas (well known
ports):
– Geralmente usada pelos
servidores de serviços
padronizados.
1024
….
49151
49152
….
65535
• Portas Registradas
– Geralmente usada por servidores
proprietários.
• Portas Dinâmicas ou Privadas:
– Usadas pelos clientes e pelos
serviços não padronizados.
2002, Edgard Jamhour
Distribuição das Portas
• Portas Bem Conhecidas:
– Definidas pela IANA
– Acessíveis apenas por processos de sistema (que
tenham privilégios do tipo root).
– Desina servícos padronizados para Internet:
• FTP (21), HTTP (80), DNS (53), etc.
– Range: 0 a 1023
– Geralmente, a porta é mapeada a um serviço em
ambos os protocolos (TCP e UDP), mesmo que
usualmente só seja utilizado um deles.
2002, Edgard Jamhour
Distribuição de Portas
• Portas Registradas:
–
–
–
–
Listada pela IANA
Serviço oferecido para conveniência da comunidade
Acessiveis por processos de usuário
Usadas geralmente para designar serviços
proprietários:
• Corba Management Agente (1050), Microsoft SQL
Server (1433), Oracle Server (1525), etc.
– Range: 1024 a 49151.
2002, Edgard Jamhour
Exemplos de portas bem conhecidas
Dados
armazenados
portas bem
conhecidas
Porta 49152
FTP
Porta 21
TELNET
Porta 23
SMTP
programa servidor de
transferência de arquivos
programa servidor de
terminal remoto
Porta 25
programa servidor de correio
eletrônico
HTTP
Porta 80
programa servidor de
hipertexto e outros serviços
WWW
NNTP
Porta 119
IRC
Porta 194
…
Porta 65535
Cliente
portas livres
programa servidor de notícias
programa servidor de
serviços chat
2002, Edgard Jamhour
Exemplo de Regras de Filtragem
regra
ação
interface/
sentido
protocolo
IP
origem
IP
destino
Porta
origem
Porta
destino
Flag ACK
1
aceitar
rede interna/
para fora
TCP
interno
externo
> 1024
80
*[1]
2
aceitar
rede externa/
para dentro
TCP
externo
interno
80
> 1023
1
3
rejeitar
*
*
*
*
*
*
*
[1] O símbolo "*" indica que qualquer valor é aceitável para regra.
2002, Edgard Jamhour
Problema: Spoofing de Porta
• Como diferenciar um ataque externo de uma resposta
solicitada por um usuário interno?
1024
80
80
É necessário liberar
pacotes com porta
de origem 80 para que
a resposta possa passar .
1024
Como evitar que a porta 80
seja usada para atacar
usuários internos?
80
1024... 65535
...
2002, Edgard Jamhour
Característica da Comunicação TCP
• Comunicação bidirecional, confiável e orientada
a conexão.
• O destino recebe os dados na mesma ordem em
que foram transmitidos.
• O destino recebe todos os dados transmitidos.
• O destino não recebe nenhum dado duplicado.
• O protocolo TCP rompe a conexão se algumas
das propriedades acima não puder ser garantida.
2002, Edgard Jamhour
Flags TCP
•
•
•
•
• RES: Reservado (2 bits)
• URG: Urgent Point
• ACK: Acknowlegment
0
4
8
PSH: Push Request
RST: Reset Connection
SYN: Synchronize Seqüence Number
FIN: Mais dados do transmissor
12
Byte 1
16
Byte 2
20
Byte 3
Porta de origem
24
28
31
Byte 4
Porta de destino
Número de Seqüência
Número de Confirmação
HLEN
Reservado
Janela de Recepção
BITS DE CÓDIGO
Ponteiro de Urgência
Checksum
Opções
Dados
…..
2002, Edgard Jamhour
Flag ACK
• Uma conexão TCP sempre se inicia com o cliente enviando
um pacote com o flag ACK= 0.
ACK=0
ACK=1
ACK=1
ACK=1
...
tempo
tempo
2002, Edgard Jamhour
Filtragem com Protocolo UDP
• Comunicação bidirecional, sem nenhum tipo de
garantia.
– Os pacotes UDP podem chegar fora de ordem.
– Pode haver duplicação de pacotes.
– Os pacotes podem ser perdidos.
• Cada pacote UDP é independente é não contém
informações equivalentes ao flag ACK dos
pacotes.
2002, Edgard Jamhour
Mensagem UDP
• As mensagens UDP não possuem flags de controle pois
o protocolo UDP não oferece a mesma qualidade de
serviço que o protocolo TCP.
16
0
31
Porta de Origem
Porta de Destino
Comprimento da Mensagem
checksum
Dados
…..
2002, Edgard Jamhour
Dynamic Packet Filtering com UDP
• Para poder criar regras sobre quem inicia uma
comunicação no protocolo UDP, os roteadores precisam se
lembrar das portas utilizadas.
200.0.0.1:1025 >>> 210.0.0.2:53
210.0.0.2:53 >>> 200.0.0.1:1025
210.0.0.2:53 >>> 200.0.0.1:1026
210.0.0.2:53 >>> 200.0.0.2:1025
...
tempo
tempo
2002, Edgard Jamhour
Regras para Filtragem de Pacotes
• Implementação:
– Analisar o cabeçalho de cada pacote que chega
da rede externa, e aplicar uma série de regras
para determinar se o pacote será bloqueado ou
encaminhado.
• ESTRATÉGIAS
– A) TUDO QUE NÃO É PROIBIDO É
PERMITIDO.
– B) TUDO QUE NÃO É PERMITIDO É
PROIBIDO.
2002, Edgard Jamhour
Exemplo: TUDO QUE NÃO É PERMITIDO É
PROIBIDO
Ação
Direção
Protocolo
IP Origem
IP Destino
Porta Origem
Porta Destino
ACK
permitir
Sair
tcp
interno
*
> 1023
23
*
permitir
Entrar
tcp
*
interno
23
> 1023
1
*
*
*
*
*
*
*
negar
• Interpretação:
– Hosts Internos podem acessar servidores de telnet
internos ou externos.
– Hosts externos podem apenas responder a
requisições, não podem iniciar um diálogo
(estabelecer uma conexão).
2002, Edgard Jamhour
Exemplo
>1023
>1023
1
23
2
INTERNET
200.17.98.?
?.?.?.?
INTERFACE 1
Ação
Protocolo
IP Origem
IP Destino
Porta Origem
Porta Destino
ACK
permitir
tcp
200.17.98.0:24
*
> 1023
23
*
negar
*
*
*
*
*
*
INTERFACE 2
Ação
Protocolo
IP Origem
IP Destino
Porta Origem
Porta Destino
ACK
permitir
tcp
*
200.17.98.0:24
23
> 1023
1
negar
*
*
*
*
*
*
2002, Edgard Jamhour
Exemplo
Ação
Direção
Protocolo
IP Origem
IP Destino
Porta Origem
Porta Destino
ACK
permitir
Out
tcp
interno
*
> 1023
23
*
permitir
In
tcp
*
interno
23
> 1023
1
permitir
In
tcp
*
interno
> 1023
80
*
permitir
Out
tcp
interno
*
80
> 1023
1
negar
*
*
*
*
*
*
*
• Interpretação:
– Hosts Internos podem acessar servidores de telnet internos ou
externos.
– Hosts externos podem acessar servidores de web internos.
2002, Edgard Jamhour
Seqüência de Criação de Regras
• A seqüência na qual as regras são aplicadas pode alterar
completamente o resultado da política de segurança. Por
exemplo, as regras de aceite ou negação incondicional
devem ser sempre as últimas regras da lista.
O deslocamento de uma regra genérica para cima anula as demais.
Ação
Direção
Protocolo
IP Origem
IP Destino
Porta Origem
Porta Destino
ACK
permitir
Out
tcp
interno
*
> 1023
23
*
permitir
In
tcp
*
interno
23
> 1023
1
permitir
In
tcp
*
interno
> 1023
23
*
permitir
Out
tcp
interno
*
23
> 1023
1
negar
*
*
*
*
*
*
*
2002, Edgard Jamhour
Desempenho do Filtro de Pacotes
• O processo de filtragem de pacotes exige que um certo
processamento adicional seja executado pelo roteador para cada
pacote que chega ou precisa ser transmitido.
• Dependendo da velocidade da linha de transmissão, esse
processamento pode ou não causar uma degradação do
desempenho da rede.
Conexão
Pacotes/s
(20 bytes)
Tempo
disponível
Ciclos CPU
100 MHz
56 Kbit/s
2 Mbit/s
10 Mbit/s
100 Mbit/s
1Gbit/s
350
12500
62500
625000
6250000
2.86 ms
80 s
16 s
1.6 s
0.16 s
286000
8000
1600
160
16
2002, Edgard Jamhour
Arquitetura DMZ
• Perimeter Network
– Uma rede adicionada entre a rede protegida e uma
rede externa, com o objetivo de proporcionar uma
camada a mais de segurança.
– Também chamada de DMZ (De-Militarized Zone).
• Bastion Host
– Um computador que precisa ser altamente protegido,
pois é suscetível a sofrer ataques. O bastion host é um
computador exposto simultaneamente a Internet e a
rede interna.
2002, Edgard Jamhour
Exemplo de DMZ
Host
Interno
Rede Interna
Roteador
Interno
Bastion Host
DMZ - Rede de Perímetro
Roteador
Externo
Internet
2002, Edgard Jamhour
Roteador Interno (Choke Router)
• Protege a rede interna da rede externa e da rede
de perímetro.
• É responsável pela maioria das ações de
filtragem de pacotes do firewall.
Ação
Direção
Protocolo
IP Origem
IP Destino
Porta Origem
Porta Destino
ACK
permitir
Out
tcp
interno
*
> 1023
*
*
permitir
In
tcp
*
interno
*
> 1023
1
negar
*
*
*
*
*
*
*
EXEMPLO DE REGRAS PARA O CHOKE ROUTER
2002, Edgard Jamhour
Roteador Externo (Access Router)
• Protege a rede interna e a rede de perímetro da rede
externa.
• Muitas vezes, a função o roteador externo está localizado
no provedor de acesso.
• Em geral, utiliza regras de filtragem pouco severas.
Ação
Direção
Protocolo
IP Origem
IP Destino
Porta Origem
Porta Destino
ACK
permitir
Out
tcp
interno
*
> 1023
*
*
permitir
In
tcp
*
interno
*
> 1023
1
permitir
In
tcp
*
dmz
> 1023
*
*
permitir
Out
tcp
dmz
*
*
> 1023
*
negar
*
*
*
*
*
*
*
EXEMPLO DE REGRAS PARA O ACCESS ROUTER
2002, Edgard Jamhour
Rede de Perímetro com Proxy
Hosts Internos
Com IP’s Privados
Rede Interna
Servidor
Proxy
Bastion Host
DMZ - Rede de Perímetro
Roteador
Externo
Internet
2002, Edgard Jamhour
EXERCÍCIO
200.0.0.1
200.0.0.2
200.0.0.3
Hosts
Interno
Rede Interna
I1
200.0.0.4
Roteador
Interno
Bastion Host
I2
200.1.0.1
E1
200.1.0.3
E2
200.2.0.1
200.1.0.2
DMZ - Rede de Perímetro
Roteador
Externo
Internet
2002, Edgard Jamhour
DEFINIÇÃO DAS ROTAS
• Indique as Rotas que Devem Existir:
•
•
•
•
A) Computadores da Rede Interna
B) Roteador Interno
C) Bastion Host
D) Roteador Externo
2002, Edgard Jamhour
EXERCÍCIO
• Defina as regras para filtragem de pacotes dos
roteadores da arquitetura DMZ para:
– A) Permitir aos computadores externos acessarem o
serviço HTTP no bastion HOST.
– B) Permitir aos computadores externos acessar o
serviço SMTP no bastion HOST.
– C) Permitir aos usuários internos acessarem o serviço
POP, SMTP e HTTP no bastion HOST.
– D) Permitir aos usuários internos acessarem qualquer
servidor HTTP externo.
– E) Proibir todos os demais acessos.
2002, Edgard Jamhour
Roteador Interno
AÇÃO
INTERFACE PROTOCOLO
IP ORIGEM
IP DESTINO
PORTA
ORIGEM
PORTA
DESTINO
FLAG
ACK
2002, Edgard Jamhour
Roteador Externo
AÇÃO
INTERFACE PROTOCOLO
IP ORIGEM
IP DESTINO
PORTA
ORIGEM
PORTA
DESTINO
FLAG
ACK
2002, Edgard Jamhour
Stateful Inspection
• As primeiras gerações de firewall eram
ditos "stateless".
– Cada pacote é analisado individualmente, sem
levar em conta pacotes anteriores trocados na
mesma conexão.
– Os firewalls baseados em filtros de pacotes
não olham o conteúdo dos protocolos de
aplicação.
2002, Edgard Jamhour
Filtro de Pacotes
• Usualmente
implementado em
roteadores.
• São idependentes da
aplicação (analisam
apenas informações de
IP e Porta).
• Tem alto desempenho.
2002, Edgard Jamhour
Filtro de Pacotes:
Problemas de Segurança
• São stateless:
– Precisam liberar
todas as portas de
cliente (> 1023)
para permitir uma
comunicação FTP.
• Apenas duas
opções:
– Ou libera-se todas
as portas ou
bloqueia-se o
serviço todo.
2002, Edgard Jamhour
Gateways de Aplicação
• Uma alternativa para os filtros de pacotes são os
gateways de aplicação.
– Gateways de aplicação (Proxy) são "statefull": Isto é,
eles guardam o estado das conexões inciadas pelos
clientes.
– Alguns tipos de gateways de aplicação (Proxy) são
capazes de analisar o conteúdo dos pacotes.
– Todavia, são dependentes da aplicação (não
funcionam para aplicações desconhecidas) e tem
baixo desempenho.
2002, Edgard Jamhour
Application Layer Gateways
• Usualmente
Implementados
como serviços.
• O Gateway de
Aplicação é
visto pelos
clientes como
um Servidor.
• Abrem apenas a
porta do cliente
utilizada para
fazer a conexão
com o servidor.
2002, Edgard Jamhour
Gateways de Aplicação
•
•
Dependentes de Aplicação
– Examinam o conteúdo dos pacotes, incluido os protoclos de aplicação.
– Exemplo: Proxy HTTP
Independentes da Aplicação
– Não precisa examinar o conteúdo.
– Exemplo: Socks
1*
1
1024
1024
8080
2
1025
1026
1024
3
80
2*
80
3*
1025
2002, Edgard Jamhour
Proxy Socks X Proxy de Aplicação
O proxy de aplicação localiza o Servidor de Destino analisando as informações do
protocolo de aplicação.
Get http:www.pucpr.br
Aplicação
ProxyEnabled
1024
1080
Proxy de
Aplicação
1024
80
Server
O cliente SOCKS inclui automaticamente informações adicionais (durante a conexão
TCP ou nos pacotes UDP), que são utilizadas pelo Proxy SOCKs para localizar o
Servidor de Destino.
CONNECT: IP_Destino, Porta_Destino, UserID
Cliente
Socks
1024
1080
Socks
Proxy
1024
80
Server
2002, Edgard Jamhour
Limitações dos Gateways de Aplicação
• Proxys de Aplicação
– Limitam o tipo de aplicativo que pode ser utilizado na
rede.
– Funcionam apenas para os aplicativos que foram
reescritos para utilizar o Proxy.
• Proxy Socks
– A versão corrente do protocolo SOCKs é 5.0
• RFC1928: suporta TCP , UDP e autenticação
– A versão 4 suporta apenas TCP.
– Algumas soluções proprietárias suportam também
ICMP.
2002, Edgard Jamhour
Application Layer Gateway
Problemas de Desempenho
• Quebram o
esquema clienteservidor (o proxy
cria uma nova
conexão para
cada cliente).
– O número de
sessões no
Gateway é
duplicado.
– Cada conexão
mantém um
processo no
Proxy.
2002, Edgard Jamhour
Stateful Inspection
• Tecnologia Desenvolvida pela CheckPoint.
• Implementa o conceito de estado sem criar novas
conexões no roteador.
– Um módulo de software analisa permanentemente o conteúdo
dos pacotes que atravessam o firewall.
– As informações relevantes dos pacotes são armazenadas em
tabelas dinâmicas para porterior uso.
– A decisão quanto a passagem ou não de um pacote leva em
conta o conteúdo de pacotes anteriormente trocados na mesma
conexão.
2002, Edgard Jamhour
Stateful Inspection
• Para poder criar regras sobre quem inicia uma
comunicação, o firewall armazena informações sobre as
portas utilizadas pelo cliente.
200.0.0.1:1024 >>> 210.0.0.2:53
210.0.0.2:53 >>> 200.0.0.1:1024
200.0.0.1:
1024
>>>
210.0.0.2:
53
210.0.0.2:53 >>> 200.0.0.1:1026
210.0.0.2:53 >>> 200.0.0.2:1025
...
tempo
tempo
2002, Edgard Jamhour
Stateful Inspection
• Analisa o
conteúdo dos
pacotes sem
quebrar o
modelo cliente
servidor.
• A informação
de estado é
capturada
quando o
pacote através
o firewall e
armazenadas
em tabelas
dinâmicas.
2002, Edgard Jamhour
Stateful Inspection
• Quando o
cliente requisita
um serviço FTP,
o Firewall
armazena a
porta utilizada
numa tabela
dinâmica, não
liberando
nenhuma outra
porta do cliente.
2002, Edgard Jamhour
Segurança de Conteúdo
• Além das informações de portas, as informações de conteúdo
também são utilizadas pelo Firewall.
• Normalmente, apenas os protocolos mais comuns são analisados.
– HTTP: Permite Filtrar:
• Métodos de acesso (GET, POST), URLs ("*.sk"), etc
• TAGS em HTML com referências a Applets em Java ou Objetos
Active X.
• Dowload de certos tipos MIME.
– FTP: Permite Filtrar
• Comandos específicos (PUT, GET), Nomes de Arquivo
• Pode disparar antivirus para verificação de arquivos.
– SMTP: Permite criar regras de Filtragem baseadas
• Nos campos FROM e TO
• Tipo MIME
• Etc.
2002, Edgard Jamhour
Integração com Métodos de Autenticação
• Firewalls com Tecnlogia Stateful permitem criar regras de
filtragem baseados no login do usuário ao invés do
endereço IP.
• Estas técnicas simplificam o processo de criar regras de
filtragem pois o usuário pode acesar o serviço
independentemente da máquina que estiver usando.
• Esta tecnologia só é possível para firewalls "Stateful".
• Três métodos são usualmente disponíveis:
– User Authentication (transparente)
– Session Autentication
– Mapeamento Transparente do Usuário em Endereço
2002, Edgard Jamhour
Integração com Métodos de Autenticação
– User Authentication (transparente)
• Permite a usuário remoto acessar um serviço da rede
independente do seu IP.
• O firewall reconhece o login do usuário analisando o conteúdo
dos protocolos FTP, HTTP, TELNET e RLOGIN.
– Session Authentication
• Quando o usuário tenta acessar um serviço da rede o Firewall
envia para o cliente um pedido de login (challange message).
• O cliente deve ter um software especial para confirmar a
senha.
• Só então o acesso é permitido (ou negado).
2002, Edgard Jamhour
Integração com Métodos de Autenticação
• Mapeamento Transparente entre Usuário e Endereço
– O Firewall captura mensagens DHCP para as máquinas.
– O Firewall captura as mensagens de login trocadas entre o
usuário e o servidores de domínio da rede.
• CHECK POINT, por exemplo, suporta as mensagens do
Windows NT.
• O usuário não se loga no Firewall, o sucesso do login é
identificado pelo Firewall também capturando as mensagens
do servidor.
2002, Edgard Jamhour
Download

Arquitetura de Firewalls