Redes Virtuais Privadas
VPN
Edgard Jamhour
2010, Edgard Jamhour
Tipos de VPN
ENTRE DUAS MÁQUINAS
rede
Insegura
rede
Insegura
ENTRE UMA MÁQUINA
E UMA REDE
(VPN DE ACESSO)
rede
Insegura
ENTRE DUAS REDES
(INTRANET OU
EXTRANET VPN)
2010, Edgard Jamhour
VPN = Tunelamento
pacote protegido
rede
Insegura
rede
Insegura
pacote
desprotegido
rede
Insegura
2010, Edgard Jamhour
Conceitos Básicos de uma VPN
• TUNELAMENTO:
– Permite tranportar pacotes com IP privado ou com outros protocolos
de rede através da Internet.
• AUTENTICAÇÃO:
– Permite controlar quais usuários podem acessar a VPN
– Reduz o risco de ataques por roubo de conexão e spoofing.
• CRIPTOGRAFIA:
– Garante a confidencialidade dos dados transportados através da
VPN.
2010, Edgard Jamhour
TUNELAMENTO
• TUNELAR: Significa colocar as estruturas de dados de um
protocolo da mesma camada do modelo OSI dentro do
outro. Existem dois tipos de Tunelamento:
– Camada 3: Transporta apenas pacotes IP
– Camada 2: Permite tranportar outros protocolos de rede: IP,
NetBEUI, IPX.
CABEÇALHO
QUADRO
CABEÇALHO
QUADRO
CABEÇALHO
IP
CABEÇALHO
QUADRO
CABEÇALHO
PACOTE IP
CABEÇALHO
PACOTE
DADOS
CRC
CABEÇALHO
PACOTE IP
DADOS
CRC
CABEÇALHO
QUADRO
DADOS
CRC
TUNELAMENTO
DA CAMADA 3
TUNELAMENTO
DA CAMADA 2
2010, Edgard Jamhour
TUNELAMENTO
Aplicação
Pilha
Normal
SSL
Tunelamento
Camada 3
APLICAÇÃO
APLICAÇÃO
APLICAÇÃO
APLICAÇÃO
TRANSPORTE
TRANSPORTE
REDE
REDE
REDE
ENLACE
Tunelamento
Camada 2
SSL
S.O.
TRANSPORTE
REDE
TRANSPORTE
REDE
REDE
Placa de
Rede
ENLACE
ENLACE
ENLACE
ENLACE
FISICA
FISICA
FISICA
FISICA
2010, Edgard Jamhour
PROTOCOLOS PARA VPN
• L2F: Layer 2 Fowarding Protocol (Cisco)
– Não é mais utilizado.
• PPTP: Tunelamento de Camada 2
– Point-to-Point tunneling Protocol
• L2TP: Tunelamento de Camada 2
– Level 2 Tunneling Protocol (L2TP)
– Combinação do L2F e PPTP
• IPSec: Tunelamento de Camada 3
– IETF (Internet Engineering Task Force)
2010, Edgard Jamhour
Protocolos para VPN
Protocolo Tunelamento
Criptografia
Autenticação
Aplicação
PPTP
Camada 2
Sim
Sim
VPN de Acesso Iniciada
no Cliente
L2TP
Camada 2
Não
Sim
VPN de Acesso Iniciada
no NAS
Intranet e Extranet VPN
IPsec
Camada 3
Sim
Sim
VPN de Acesso
Intranet e Extranet VPN
IPsec e
L2TP
Camada 2
Sim
Sim
VPN de Acesso Iniciada
no NAS
Intranet e Extranet VPN
2010, Edgard Jamhour
Acesso por linha discada
• Serviço de Acesso Remoto:
– Implementado pelos sistemas operacionais comerciais mais
difundidos.
– Permite que um usuário acesse um servidor por linha discada.
PRECISA DE UM
MODEM PARA
CADA USUÁRIO
MODEM
PSTN
RAS OU NAS
MODEM
REDE
MODEM
PPP: POINT TO POINT PROTOCOL
2010, Edgard Jamhour
PPP: Point to Point Protocol
• Permite criar conexão de rede através de links ponto a
ponto.
– O PPP é um protocolo do nível de enlace destinado a transportar
mensagens ponto a ponto.
– O PPP supõem que o link físico transporta os pacotes na mesma
ordem em que foram gerados.
IPX
IP
O PPP permite transportar
diversos protocolos de rede.
link físico
2010, Edgard Jamhour
Frame PPP
• O Frame PPP segue uma variante da estrutura do HDLC
(High-level Data Link Control)
– FLAG: 0x7E
– ADDRESS: Usualmente FF (broadcast)
– CONTROL: 0x03
– FCS: Checksum
FLAG ADDRESS CONTROL PROTOCOL
8 bits
8 bits
8 bits
16 bits
DADOS
FCS FLAG
16 bits
8 bits
2010, Edgard Jamhour
Sequência PPP
• Link Control Protocols (LCP)
– Configura parâmetros do link como tamanho dos quadros.
• Protocolos de Autenticação
– Determina o método para validar a senha do usuário no servidor.
Pode variar de texto aberto até criptografia.
• Network control protocols (NCP):
– Configura parâmetros específicos do protocolo transportado, como
IP, IPX, and NetBEUI.
2010, Edgard Jamhour
PPTP: Point-to-Point tunneling Protocol
• Definido pelo PPTP Forum:
– Ascend Communication, U.S. Robotics, 3Com Corporation,
Microsoft Corporation e ECI Telematics
– Formalizado por RFC
• Requisitos para Utilização:
– Os sistemas operacionais do cliente e do servidor devem suportar
PPTP
– PPTP é o protocolo de tunelamento mais difundido no mercado:
• Windows, Linux, Roteadores, etc...
2010, Edgard Jamhour
Cenários de Utilização do PPTP
• Cenários:
– A) Acesso por modem:
• O cliente estabelece uma conexão com um provedor (ISP) e depois
com o servidor de VPN.
– B) Acesso por placa de rede:
• O cliente já está na Internet, ele se conecta diretamente ao servidor
de VPN.
• O cliente e o servidor da VPN se encontram na mesma rede
corporativa.
2010, Edgard Jamhour
Tipos de Conexão
• O cliente tem acesso direto ao servidor, seja via linha
discada, seja via rede.
Protocolo
TCP/IP
IPX/SPX
NetBEUI
Protocolo
TCP/IP
IPX/SPX
NetBEUI
possui protocolo PPTP
instalado e
serviço RAS
configurado
possui protocolo PPTP
instalado e
serviço de dial up
discado
MODEM
permanente
PLACA DE REDE
2010, Edgard Jamhour
Opções de Configuração
Opções no Servidor:
- Número de portas VPN
- DHCP ou RAS
- O cliente pode especificar seu IP (S/N)
- Range de IP’s
- Tipo de Autenticação
- Criptografia de Dados (S/N)
- Acesso ao servidor ou a toda rede.
Opção no Cliente:
- Conexões Virtuais Simultâneas
(1 no WINDOWS 95/98).
- Criptografia
- Método de Autenticação
PORTAS VPN
PARA DISCAGEM
discado
PORTAS VPN
PARA
RECEPÇÃO
rede
2010, Edgard Jamhour
Conexão PPTP
MODEM
NAS
MODEM
USUÁRIO
REMOTO
PPP
REDE TELEFÔNICA
PSTN
MODEM
MODEM
ISP
SERVIDOR
EMPRESA
PPTP
PROVEDOR DE
ACESSO A INTERNET
INTERNET
TUNEL
2010, Edgard Jamhour
Topologias de Conexão
PORTAS VPN
PORTAS VPN
RAS
Acesso apenas a
esta máquina
WINDOWS NT/LINUX
RAS
Outro Servidor
da Rede
WINDOWS NT/LINUX
O servidor VPN libera
acesso a toda rede
2010, Edgard Jamhour
Exemplo
• 1) Situação Inicial
– Considere um cliente e um servidor conectados por uma rede
TCP/IP.
– Ambos possuem endereços pré-definidos.
IPNORMAL2
IPNORMAL1
SERVIDOR RAS
INTERNET
RANGE IP
IPVPN1
IPVPN2
...
EXEMPLO:
192.168.0.1
..
192.168.0.254
2010, Edgard Jamhour
Estabelecimento da Conexão PPTP
• 2) O cliente disca para o endereço IP do servidor.
– Nesse processo, o cliente deve fornecer seu login e senha.
– A conta do usuário deve existir no servidor, e ele deve ter direitos de
acesso via dial up.
– O servidor atribui um IP para o cliente, e reconfigura suas rotas.
IPNORMAL2
LOGIN
SENHA
IPVPN E ROTAS
IPNORMAL1
SERVIDOR RAS
RANGE
IP
IPVPN1
IPVPN2
...
INTERNET
2010, Edgard Jamhour
Rede Virtual
• Os clientes conectados a rede virtual utilizam o servidor
RAS como roteador.
SERVIDOR RAS
VPN
VPN
VPN
VPN
2010, Edgard Jamhour
Comunicação com Tunelamento
CLIENTE
SERVIDOR RAS
CLIENTE
IPN2
IPN1
IPN3
IPVPN2
IPVPN1
IPVPN3
IPN2
IPN1
IPVPN2 IPVPN3
IPN1
IPN3
IPVPN2 IPVPN3
2010, Edgard Jamhour
Pacotes PPTP
• A técnica de encapsulamento PPTP é baseada no padrão
Internet (RFC 1701 e 1702) denominado:
– Generic Routing Encapsulation (GRE)
– O PPTP é conhecido como GREv2, devido as extensões que
acrescentou:
• controle de velocidade da conexão
• identificação das chamadas.
2010, Edgard Jamhour
Estrutura do PPTP
• Um pacote PPTP é feito de 4 partes:
– Delivery Header:
• adapta-se ao meio físico utilizado
– IP Header:
• endereço IP de origem e destino sem tunelamento
– GREv2 Header:
• indentifica qual protocolo foi encapsulado
– Payload Datagram:
• pacote encapsulado (IPX, IP, NetBEUI, etc.)
2010, Edgard Jamhour
Formato Geral de um Pacote PPTP
• A figura abaixo mostra o formato geral de um pacote PPTP.
O conteúdo de cada campo varia de acordo como o meio
utilizado e com o protocolo transportado.
Delivery
Header
IP
Header
GREv2
Header
Payload Datagram
Intentifica o
Protocolo
Encapsulado
Corresponde ao
cabeçalho do
protocolo de enlace
(Ethernet,
FrameRelay, etc.)
Cabeçalho do
Datagrama IP de
encapsulamento
Datagrama do
Protocolo
Encapsulado
2010, Edgard Jamhour
Datagramas Tunelados
• A figura abaixo mostra o que acontece quando um
datagrama IP é tunelado através de uma rede local
Ethernet, com protocolo TCP/IP.
Delivery
Header
Ethernet
Header
IP
Header
IP Origem e
Destino Sem
Tunelamento
IP
Header
GREv2
Header
GREv2
Header
IP
Payload
Datagram
Protocolo de
Transporte
Protocolo de
Aplicação
IP Origem e
Destino com
Tunelamento
2010, Edgard Jamhour
Porta de Controle
• O estabelecimento de uma conexão PPTP é feito pela porta
de controle TCP 1723.
• Esta porte precisa ser liberada no firewall para implantar
uma VPN de acesso.
configuração do link
autenticação
configuração de rotas
TCP
> 1024
1723
IP: Protocol Type = 2F
2010, Edgard Jamhour
Exemplo de VPN com Firewall
IP_Servidor_VPN
>1023
1723
INTERNET
FIREWALL:
Liberar a porta TCP 1723 no IP = Servidor_VPN
Liberar o protocolo PPTP (Protocol Type=2F) para o IP=Servidor_VPN
2010, Edgard Jamhour
L2TP: Layer Two Tunneling Protocol
• Baseado nos Protocolos:
– PPTP
– L2F
• As mensagens do protocolo L2TP são de dois tipos:
– Mensagens de controle:
• Utilizadas para estabelecer e manter as conexões
– Mensagens de dados:
• Utilizadas para transportar informações
2010, Edgard Jamhour
L2TP
• Possui suporte as seguintes funções:
– Tunnelamento de múltiplos protocolos
– Autenticação
– Anti-spoofing
– Integridade de dados
• Certificar parte ou todos os dados
– Padding de Dados
• Permite esconder a quantidade real de dados Transportados
• Não possui suporte nativo para criptografia.
2010, Edgard Jamhour
PPTP e L2TP
• PPTP:
– Utiliza uma conexão TCP para negociar o túnel, independente da
conexão utilizada para transferir dados.
– No Windows 2000, por exemplo, o cliente e o servidor utilizam a
porta TCP 1723 para negociar os túneis PPTP.
– Não possui mecanismos fortes de integridade dos pacotes (baseiase apenas no PPP).
– Túneis são usualmente criados pelo cliente.
• L2TP:
– Envia tanto as mensagens de controle quanto os dados
encapsulados em datagramas UDP.
– No Windows 2000, por exemplo, o cliente e o servidor utilizam a
porta UDP 1701 para negociar os túneis L2TP.
– Túneis são usualmente criados automaticamente pelo NAS.
2010, Edgard Jamhour
Tunelamento L2TP
• O tunelamento no L2TP é feito com o auxílio do protocolo
UDP.
• Observe como o L2TP é construído sobre o protocolo PPP.
2010, Edgard Jamhour
Iniciada pelo Servidor de Acesso a Rede
(NAS)
MODEM
PPP
PPP
MODEM
USUÁRIO
REMOTO
PPP
REDE TELEFÔNICA
NAS
PSTN
MODEM
MODEM
ISP
L2TP
SERVIDOR
INTERNET
PROVEDOR DE
ACESSO A INTERNET
TUNEL
EMPRESA
2010, Edgard Jamhour
IP Sec - IP Seguro
• Padrão aberto baseado em RFC (IETF).
– Comunicação segura em camada 3 (IPv4 e IPv6)
– Provê recursos de segurança sobre redes IP:
• Autenticação, Integridade e Confidencialidade
• Dois modos de funcionamento:
– Modo Transporte
– Modo Túnel
• Dois Protocolos (Mecanismos)
– IPsec ESP: IP Encapsulating Security Payload (50)
– IPsec AH: IP Autentication Header (51)
2010, Edgard Jamhour
Modos de Utilização do IPsec
• Modo transporte
– Garante a segurança apenas dos dados provenientes das camadas
superiores.
– Utilizado geralmente para comunicação "fim-a-fim" entre
computadores.
• Modo tunel
– Fornece segurança também para a camada IP.
– Utilizado geralmente para comunicação entre roteadores.
2010, Edgard Jamhour
Tipos de IPSec
• IP Autentication Header (AH)
– Protocolo 51
– Oferece recursos de:
• Autenticação
• Integridade
• IP Encapsulating Security Payload (ESP)
– Protocolo 50
– Oferece recursos de:
• Confidencialidade
• Autenticação
• Integridade
2010, Edgard Jamhour
Protocolo AH
• Definido pelo protocolo IP tipo 51
• Utilizando para criar canais seguros com autenticação e
integridade, mas sem criptografia.
• Permite incluir uma “assinatura digital” em cada pacote
transportado.
• Protege a comunicação pois atacantes não conseguem
falsificar pacotes assinados.
2010, Edgard Jamhour
AH e Modo Túnel e Modo Transporte
IPv4
IP TCP/UDP DADOS
IP Normal
IPv4 com autenticação
IP AH TCP/UDP DADOS
Modo Transporte
IPv4 com autenticação e tunelamento
IP AH IP TCP/UDP DADOS
Modo Tunel
Especifica os Computadores
Especifica os Gateways nas Pontas do Tunnel
2010, Edgard Jamhour
Authentication Header
• Provê serviços de autenticação e Integridade de
Pacotes.
1 byte
Next Header
1 byte
Length
1 byte
reserved
1 byte
reserved
SPI: Security Parameter Index
Sequence Number
Authentication Data
(ICV: Integrity Check Value)
Campo de Tamanho Variável, depende do protocolo de autenticação
utilizado
2010, Edgard Jamhour
Campos do IPsec AH
• Next Header:
– Código do protocolo encapsulado pelo IPsec, de acordo com os
códigos definidos pela IANA (UDP, TCP, etc ...)
• Length:
– comprimento do cabeçalho em múltiplos de 32.
• Security Parameter Index:
– identificador de 32 bits, com a SA compartilhada pelo transmissor e
pelo receptor.
• Authentication Data:
– Código de verificação de integridade (ICV) de tamanho variável,
depende do protocolo utilizado.
2010, Edgard Jamhour
Authentication Data
• Para enviar um pacote:
– O transmissor constrói um pacote com todos os campos IP e
protocolos das camadas superiores.
– Ele substitui todos os campos que mudam ao longo da transmissão
com 0’s (por exemplo, o TTL)
– O pacote é completado com 0’s para se tornar múltiplo de 16 bits.
– Um checksum criptográfico é computado para concatenação:
• Algoritmos: HMAC-MD5 ou HMAC-SHA-1
– MAC: Message Authentication Code
2010, Edgard Jamhour
Autenticação
• Para receber um pacote:
– O receptor utiliza o SPI para determinar qual o algoritmo a ser
utilizado para validar o pacote recebido.
– O receptor substitui os campos mutáveis por “0” e calcula o
checksum criptográfico do pacote.
– Se ele concordar com o checksum contido no cabeçalho do pacote
de autorização, ele é então aceito.
Assinatura HMAC
IP
AH
TCP/UDP
ICV
iguais?
DADOS
ICV
2010, Edgard Jamhour
HMAC
• h = função de hashing (MD5 ou SHA1)
• k = chave secreta
• ipad = 0x363636 ... 3636
• opad = 0x5c5c5 ... c5c5c
2010, Edgard Jamhour
Security Association
• Uma vez definida uma política comum a ambos os
computadores, uma associação de segurança (SA) é criada
para “lembrar” as condições de comunicação entre os hosts.
• Isso evita que as políticas sejam revistas pelo IPsec a cada
novo pacote recebido ou transmitido.
• Cada pacote IPsec identifica a associação de segurança ao
qual é relacionado pelo campo SPI contido tanto no IPsec
AH quanto no IPsec ESP.
2010, Edgard Jamhour
Associação de Segurança
• SA: Associação de Segurança
– Contrato estabelecido após uma negociação que estabelece como
uma comunicação IPsec deve ser realizada.
• Algoritmo de Autenticaçã/Criptografia
• Chave de Sessão
• SPI: Secure Parameter Index
• Número inteiro (32 bits) que identifica um SA.
• É transmitido junto com os pacotes IPsec para permitir ao
destinatário validar/decriptografar os pacotes recebidos.
2010, Edgard Jamhour
AH Modo Tunel e Transporte
S
A
IPsec AH
IPsec AH
IPsec AH
IPsec AH
S
A
IPsec AH
Internet
Conexão IPsec em modo Transporte
IP
IPsec AH
IP
SA
IPsec AH
Internet
IPsec AH
SA
IP
IP
Conexão IPsec em modo Túnel
2010, Edgard Jamhour
Protocolo ESP
• Definido pelo protocolo IP tipo 50
• Utilizando para criar canais seguros com autenticação,
integridade e criptografia.
• Além da criptografia, permite incluir uma “assinatura digital”
em cada pacote transportado.
• Protege a comunicação pois atacantes não conseguem
falsificar pacotes assinados e criptografados.
2010, Edgard Jamhour
ESP IPSec : Tunel e Transporte
MODO TRANSPORTE
autenticado
criptografado
IP
IP
ESP
HEADER
TCP
UDP
DADOS
IP
TCP
UDP
DADOS
ESP
HEADER
IP
TCP
UDP
DADOS
ESP
TRAILER
ESP
AUTH
ESP
TRAILER
ESP
AUTH
criptografado
autenticado
MODO TUNNEL
2010, Edgard Jamhour
Encrypted Security Payload Header
• ESP provê recursos de autenticação, integridade e
criptografia de pacotes.
1 byte
1 byte
1 byte
1 byte
Security Parameter Index
HEADER
Sequence Number
Encrypted Payload
(dados criptografados)
Pad (0 – 255 bytes)
Pad Length
Authentication Data
(tamanho variável)
Next Header
TRAILER
AUTH
2010, Edgard Jamhour
Campos do IPsec ESP
• Header:
– SPI e Sequence Number: Mesmas funções do AH
– O algoritmo de criptografia pode ser qualquer, mas o DES CipherBlock Chaining é o default.
• Trailler:
– Torna os dados múltiplos de um número inteiro, conforme requerido
pelo algoritmo de criptografia.
– O trailler também é criptografado.
• Auth:
– ICV (Integrity Check Value) calculado de forma idêntica ao cabeçalho
AH. Este campo é opcional.
2010, Edgard Jamhour
ESP Modo Tunel e Transporte
S
A
IPsec ESP
IPsec ESP IPsec ESP IPsec ESP
S
A
IPsec ESP
INTERN
ET
Conexão IPsec em modo Transporte
IP
IPsec ESP
IP
SA
IPsec ESP
INTERNE
T
IPsec ESP
SA
IP
IP
Conexão IPsec em modo Túnel
2010, Edgard Jamhour
Configuração do IPsec
• Cada dispositivo de rede (Host ou Gateway) possui uma
política de segurança que orienta o uso de IPsec.
• Uma política IPsec é formada por um conjunto de regras,
muito semelhantes as regras de um firewall.
• As políticas IPsec são definidas de maneira distinta para os
pacotes transmitidos e para os pacotes recebidos.
2010, Edgard Jamhour
Estrutura Geral do IPsec
Administrador
configura
Base de
Políticas
IKE
Solicita criação
do SA
Aplicação
Protocolo
Aplicação
Sockets
refere
consulta
Transporte (TCP/UDP)
IP/IPsec(AH,ESP)
Base de
SAs
consulta
Enlace
2010, Edgard Jamhour
Políticas de Segurança
• Uma Política IPsec é formada por um conjunto de regras
com o seguinte formato:
– Se CONDICAO Satisfeita
Então executar ACAO da POLÍTICA
• A CONDIÇÃO (Chamada de Filtro):
– define quando uma regra de Política deve ser tornar ATIVA.
• A AÇÃO:
– define o que deve ser feito quando a condição da REGRA for
SATISFEITA.
2010, Edgard Jamhour
Elementos para Configuração do IPsec
Lista de Regras
Ações
(Ação de Filtro)
Regra de Política
Política IPsec
Regra de Política
Condições
(Lista de Filtros)
Regra de Política
2010, Edgard Jamhour
Condição (Lista de Filtros)
• Cada filtro define as condições em que uma política deve
ser ativa.
– IP de origem e destino:
• nome, IP ou sub-rede
– b) Tipo de protocolo
• código IANA para TCP, UDP, ICMP, etc...
– c) Portas de origem e destino
• se TCP/UDP
2010, Edgard Jamhour
Ação
• A ação define o que deverá ser feito com o pacote recebido
ou transmitido.
• O IPsec define 3 ações:
– repassar o pacote adiante sem tratamento
• ação: bypass IPsec
– rejeitar o pacode
• ação discard
– negociar IPsec
• define um modo de comunicação incluindo as opções Tunel,
Transporte, IPsec ESP e IPsec AH.
2010, Edgard Jamhour
Ações IPsec na Transmissão
IP
Regras IPsec
IP
IPsec Driver
Bypass
Discard
IP
X
Negociar IPsec
IPsec
ESP
IPsec AH
• gerar assinaturas
digitais
• criptografar os dados
Enlace
2010, Edgard Jamhour
Ações IPsec na Recepção
IP
X
IP
IP
Discard
Bypass
Regras IPsec
X
Negociar IPsec
• verifica assinaturas
• decriptografa
IPsec Driver
IPsec AH
IP
IPsec
ESP
Enlace
2010, Edgard Jamhour
Negociar IPsec
• Se a ação for do tipo Negociar IPsec, deve-se definir:
– Obrigatoriedade:
• Facultativo: aceita comunicação insegura
– (se o outro não suporta IPsec).
• Obrigatório: aceita apenas comunicação segura.
– (rejeita a comunicação se o outro não suportar IPsec)
– Tipo de IPsec:
• AH(hash) ou ESP(cripto,hash)
– Modo Túnel ou Modo Transporte
• Se modo túnel, especificar o IP do fim do túnel
2010, Edgard Jamhour
Algoritmos IPsec
• CRIPTOGRAFIA
– MUST
NULL (1)
– MUST-
TripleDES-CBC [RFC2451]
– SHOULD+
AES-CBC with 128-bit keys [RFC3602]
– SHOULD
AES-CTR [RFC3686]
– SHOULD NOT
DES-CBC [RFC2405] (3)
• AUTENTICAÇÃO
– MUST
HMAC-SHA1-96 [RFC2404]
– MUST
NULL (1)
– SHOULD+ AES-XCBC-MAC-96 [RFC3566]
– MAY
HMAC-MD5-96 [RFC2403] (2)
2010, Edgard Jamhour
Implementação de Políticas
• Para que dois computadores "A" e "B" criem uma
comunicação IPsec:
– Computador A:
• deve ter políticas IPsec para transmitir pacotes cujo endereço de
destino é "B".
• deve ter políticas IPsec para receber pacotes cujo endereço de
origem é "B".
– Computador B:
• deve ter políticas IPsec para transmitir pacotes cujo endereço de
destino é "A".
• deve ter políticas IPsec para receber pacotes cujo endereço de
origem é "A".
2010, Edgard Jamhour
Observação: Políticas com Tunelamento
• É necessário criar uma regra para enviar e outra
para receber pacotes pelo túnel, em cada um dos
gateways
VPN. do túnel
terminação
IP_B IP_A R_B R_A
IP_B IP_A R_B R_A
in
in
IP_A IP_B R_A R_B
out
IP_A IP_B R_A R_B
out
A
B
Rede
B
Rede
A
IP_A
IP_B
2010, Edgard Jamhour
IKE: Internet Key Exchange
• O IPsec define um mecanismo que permite negociar as
chaves de criptografia de forma automática
• A negociação de SA e o gerenciamento de chaves é
implementado por mecanismos externos ao IPsec.
• A única relação entre esses mecanismos externos e o IPsec
é através do SPI (Secure Parameter Index).
• O gerenciamento de chaves é implementado de forma
automática pelo protocolo:
– IKE: Internet Key Exchange Protocol
2010, Edgard Jamhour
Princípios para Criação das SA
• Princípio:
– Todo dispositivo que estabelece um SA deve ser previamente
autenticado.
– Autenticação de “peers” numa comunicação IPsec.
• Através de segredos pré-definidos.
• Através do Kerberos.
• Através de Certificados.
– Negocia políticas de segurança.
– Manipula a troca de chaves de sessão.
2010, Edgard Jamhour
IKE
• O protocolo IKE é implementado sobre UDP, e utiliza a porta
padrão 500.
IKE
UDP
500
initiator
UDP
500
responder
autenticação efetuada
chave secreta definidia
SA estabelecida
2010, Edgard Jamhour
IPsec faz uma negociação em Duas Fases
• FASE 1: Main Mode
– O resultado da negociação da fase 1 é denominado “IKE Main Mode
SA’.
– A “IKE Main Mode SA” é utilizada para as futuras negociações de SA
entre os peers
• A IKE SA tem um tempo de vida limitado por tempo e o número de
IPsec SA’s negociadas.
• FASE 2: Quick Mode
– O resultado da negociação da fase 2 é denominado “IPsec SA”
– O “IPsec SA” é utilizado para transmissão de dados
• A IKE SA tem um tempo de vida limitado por tempo e a quantidade
de bytes trocados pela SA.
2010, Edgard Jamhour
IKE = ISAKMP e OAKLEY
• O IKE (RFC 2409) é uma combinação de dois protocolos
definidos anteriormente:
– OAKLEY (RFC 2412)
• Protocolo de Troca de Chaves
• Utiliza o algoritmo Diffie-Hellman
– ISAKMP (RFC 2408)
• Internet Security Association and Key Management Protocol
• Conjunto de mensagens para autenticar os peers e definir os
parâmetros da associação de segurança.
2010, Edgard Jamhour
Algoritmo Diffie-Hellman
• 1) Cada host obtém os parâmetros "Diffie-Hellman“ (podem
ser hard-coded).
– Um número primo 'p' (> 2) e uma base g (numero inteiro < p).
• 2) Cada host gera um número privado X < (p – 1).
• 3) Cada host gera sua chave pública Y:
– Y = g^X % p
• 4) Os hosts trocam as chaves públicas e calculam a chave
secreta Z.
– Zb = Ya^Xb % p e Za=Yb ^Xa % p
• Matematicamente Z é idêntica para ambos os hosts: Za = Zb
2010, Edgard Jamhour
Diffie-HellMan
1. Segredo Pré-Compartilhado
(um número primo e um número inteiro , podem estar no código)
2a. gera a chave
pública Y
a partir do
segredo e de um
número aleatório
X.
A
B
3a. envia a chave pública Y para B
2b. gera a chave
pública Y’
a partir do
segredo e de um
número aleatório
X’.
3b. envia a chave pública Y’ para A
4a. gera a
chave de
sessão Z
usando Y’ e X
4b. gera a chave
de sessão Z
usando Y e X’
2010, Edgard Jamhour
ISAKMP
• O ISAKMP permite que os peers definam todos os
parâmetros da associação de segurança e façam a troca de
chaves.
• Os parâmetros negociados são:
– modo de autenticação
– SPI
– modo túnel ou transporte
– modo ESP ou AH
– protocolos de assinatura
– protocolos de criptografia
2010, Edgard Jamhour
Fases de Criação da SA
• FASE 1: Cria o IKE Main Mode SA
• 1. Policy Negotiation, determina:
– O Algoritmo de criptografia: DES, 3DES, 40bitDES, ou nenhum.
– O Algoritmo de integridade: MD5 or SHA.
– O Método de autenticação: Public Key Certificate, preshared key, or
Kerberos V5.
– O grupo Diffie-Hellman.
• 2. Key Information Exchange
– Utiliza Diffie-Helman para trocar um segredo compartilhado
• 3. Authentication
– Utiliza um dos mecanismos da fase 1 para autenticar o usuário.
2010, Edgard Jamhour
Fases de Criação da SA
• FASE 2: Cria a IPsec SA
– Define o SA que será realmente usado para comunicação segura
• 1. Policy Negotiation
– Determina:
• O protocolo IPsec: AH, ESP.
• O Algoritmo de Integridade: MD5, SHA.
• O Algoritmo de Criptografia: DES, 3DES, 40bitDES, or none.
• O SA e as chaves são passadas para o driver IPsec, junto
com o SPI.
2010, Edgard Jamhour
Modos ISAKMP
• O ISAKMP define quatro modos de operação:
– Troca Básica
• Consiste de 4 mensagens
• A troca de chaves é feita com as identidades
• Não protege a identidade
– Troca com Proteção de Identidade
• Consiste de 6 mensagens
• Protege a Identidade
– Troca somente Autenticação
• Não calcula chaves
• Não protege a Identidade
– Troca Agressiva
• Consiste de 3 mensagens
• Não protege a Identidade
2010, Edgard Jamhour
NAT Traversal (NAT-T)
• Em seu modo básico, o IPsec não pode atravessar
roteadores que implementam NAT, pois as portas TCP e
UDP podem estar criptografadas.
• Para resolver esse problema, um mecanismo denominado
“Traversal NAT” encapsula os pacotes IPsec em UDP.
• No caso do IPsec, o encapsula mento é feito na porta UDP
4500, a qual também deve ser liberada no firewall.
2010, Edgard Jamhour
Tunelamento L2TP com IPsec
• L2TP e IPsec podem ser combinados para implementar um
mecanismo completo de VPN para procotolos de rede
diferentes do IP, como IPx e NetBEUI.
2010, Edgard Jamhour
Conclusão
• IPsec é uma extensão de segurança para o protocolo IP
definido pelo IETF, que permite criar políticas que servem
tanto para intranets quanto para extranets.
• IPsec define mecanismos que são padronizados tanto para
IPv4 (IPsec é facultativo) quanto para IPv6 (neste caso,
IPsec é mandatório).
• Existem críticas sobre o modo atual de operação do IKE em
dua fases, bem como o uso do protocolo AH. Esses temas
são sujeitos a revisões futuras
2010, Edgard Jamhour
Download

tunelamento