Redes Virtuais Privadas VPN Edgard Jamhour 2013, 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) 2013, Edgard Jamhour VPN = Tunelamento pacote protegido rede Insegura rede Insegura pacote desprotegido rede Insegura 2013, 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. 2013, 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 2013, 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 2013, 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) 2013, 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 2013, 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 2013, 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 2013, 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 2013, 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. 2013, 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... 2013, 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. 2013, 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 2013, 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 2013, 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 2013, 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 2013, 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 2013, 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 2013, Edgard Jamhour Rede Virtual • Os clientes conectados a rede virtual utilizam o servidor RAS como roteador. SERVIDOR RAS VPN VPN VPN VPN 2013, Edgard Jamhour Comunicação com Tunelamento CLIENTE SERVIDOR RAS CLIENTE IPN2 IPN1 IPN3 IPVPN2 IPVPN1 IPVPN3 IPN2 IPN1 IPVPN2 IPVPN3 IPN1 IPN3 IPVPN2 IPVPN3 2013, 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. 2013, 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.) 2013, 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 2013, 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 2013, 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 2013, 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 2013, Edgard Jamhour Autenticação por CHAP • CHAP: Challenge HandShake Authentication Protocol – Definido pela RFC 1994 como uma extensão para PPP • Não utiliza passwords em aberto • Um password secreto, criado apenas para a sessão, é utilizado para o processo de autenticação. • CHAP permite repetir o processo de validação da senha durante a conexão para evitar ataques por roubo de conexão. 2013, Edgard Jamhour Autenticação CHAP • O processo utilizado é do tipo challenge-response: – a) O cliente envia sua identificação ao servidor (mas não a senha) – b) O servidor responde enviando ao cliente uma “challenge string”, única, criada no momento do recebimento do pedido. – c) O cliente aplica um algoritmo RSA’s MD5 (one-way hashing), e combinado-se password e a string recebida. – d) O servidor compara a senha criptografada recebida pelo usuário aplicado a mesma operação na senha armazenada localmente. 2013, Edgard Jamhour Autenticação no CHAP 1. Pedido de Login (Identificação) 4. VALIDAÇÃO Senha + Challenge String 2. Challenge String MD5 5 2. One-Way-Hash(Password+Challenge String) = RSA’s MD5 5. OK Digest COMPARAÇÃO 2013, Edgard Jamhour MD4 e MD5 • O Algoritmo MD5: • O Algoritmo MD4: • Aceita uma mensagem de entrada de tamanho arbitrário e gera como resultado um “fingerprint” ou “message digest” de tamanho fixo (128 bits). • Versão anterior do MD5, menos segura e mais rápida. – Probabilidade de duas mensagens gerarem o mesmo digest: "computationally infeasible" • Definido na RFC 1321. – Probabilidade de duas mensagens gerarem o mesmo digest: 264 • Definido na RFC 1320. • O site do RSA (www.rsasecurity.com) indica que o MD4 deve ser considerado quebrado (1999). 2013, Edgard Jamhour MS-CHAP (Microsoft PPP CHAP Extensions) • Versão 1 (RFC 2433): – gera chaves criptográficas a partir apenas do password • a chave não muda de uma sessão para outra. – Autenticação one-way: • apenas o cliente prova a identidade para o servidor. – a mesma chave de criptografia é utilizada para enviar e receber dados. • Versão 2 (RFC 2759): – gera chaves criptográficas a partir do password e da challenge string – Autenticação é two-way: • (mutual authentication). – gera uma chave de criptografia diferente para transmitir e para receber dados. Ambos são considerados inseguros atualmente. 2013, Edgard Jamhour MSCHAP V1 1. Pedido de Login (Identificação) 2. Challenge String (CS1) 3. Challenge String (CS2) + MD4 (CS1+Password) 4. OK + MD4(CS1, CS2, Password) 5) chave (CS2 + password) chave (CS1 + password) RSA’s RC4 40 ou 128 bits (negociado) 6) chave (CS1 + password) chave(CS2 + password) RSA’s RC4 40 ou 128 bits (negociado) 2013, Edgard Jamhour MSCHAP V2 2013, Edgard Jamhour Generate NT Response 2013, 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 2013, 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. 2013, 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. 2013, 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. 2013, 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 2013, 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) 2013, 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. 2013, 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 2013, 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. 2013, 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 2013, 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 2013, 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. 2013, 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 2013, 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 2013, Edgard Jamhour HMAC • h = função de hashing (MD5 ou SHA1) • k = chave secreta • ipad = 0x363636 ... 3636 • opad = 0x5c5c5 ... c5c5c 2013, 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. 2013, 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. 2013, 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 2013, 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. 2013, 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 2013, 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 2013, 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. 2013, 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 2013, 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. 2013, 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 2013, 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. 2013, 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 2013, 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 2013, 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. 2013, 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 2013, 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 2013, 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 2013, 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) 2013, 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". 2013, 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 2013, 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 2013, 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. 2013, 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 2013, 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. 2013, 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. 2013, 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 2013, 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’ 2013, 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 2013, 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. 2013, 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. 2013, 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 2013, 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. 2013, 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. 2013, 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 2013, Edgard Jamhour