800 likes | 1.04k Views
Edgard Jamhour. Redes Virtuais Privadas VPN. 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). pacote protegido. rede Insegura. rede Insegura.
E N D
Edgard Jamhour Redes Virtuais PrivadasVPN
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)
pacote protegido rede Insegura rede Insegura pacote desprotegido rede Insegura VPN = Tunelamento
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.
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ÇALHOQUADRO CABEÇALHO PACOTE DADOS CRC CABEÇALHOQUADRO CABEÇALHO IP CABEÇALHO PACOTE IP DADOS CRC TUNELAMENTO DA CAMADA 3 CABEÇALHOQUADRO CABEÇALHO PACOTE IP CABEÇALHOQUADRO DADOS CRC TUNELAMENTO DA CAMADA 2
TUNELAMENTO Pilha Normal Tunelamento Camada 2 Tunelamento Camada 3 SSL Aplicação APLICAÇÃO APLICAÇÃO APLICAÇÃO APLICAÇÃO SSL TRANSPORTE TRANSPORTE TRANSPORTE TRANSPORTE S.O. REDE REDE REDE REDE REDE ENLACE REDE Placa de Rede ENLACE ENLACE ENLACE ENLACE FISICA FISICA FISICA FISICA
PROTOCOLOS PARA VPN • L2F: Layer 2 FowardingProtocol (Cisco) • Não é mais utilizado. • PPTP: Tunelamento de Camada 2 • Point-to-PointtunnelingProtocol • L2TP: Tunelamento de Camada 2 • Level 2 TunnelingProtocol (L2TP) • Combinação do L2F e PPTP • IPSec: Tunelamento de Camada 3 • IETF (Internet EngineeringTask Force)
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 RAS OU NAS MODEM PSTN MODEM REDE MODEM PPP: POINT TO POINT PROTOCOL
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 O PPP permite transportar diversos protocolos de rede. IP link físico
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 DADOS FCS FLAG 8 bits 8 bits 8 bits 8 bits 16 bits 16 bits
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.
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...
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.
Tipos de Conexão • O cliente tem acesso direto ao servidor, seja via linha discada, seja via rede. possui protocolo PPTP instalado e serviço RAS configurado Protocolo TCP/IP IPX/SPX NetBEUI Protocolo TCP/IP IPX/SPX NetBEUI possui protocolo PPTP instalado e serviço de dial up discado PLACA DE REDE permanente MODEM
Opções de Configuração Opções no Servidor: - Número de portas VPN - DHCP ou RAS - O cliente pode especificarseu 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 VirtuaisSimultâneas (1 no WINDOWS 95/98). - Criptografia - Método de Autenticação PORTAS VPN PARA DISCAGEM discado PORTAS VPN PARA RECEPÇÃO rede
PPP PPTP Conexão PPTP MODEM NAS MODEM PSTN MODEM USUÁRIO REMOTO MODEM ISP REDE TELEFÔNICA SERVIDOR EMPRESA INTERNET TUNEL PROVEDOR DE ACESSO A INTERNET
Topologias de Conexão PORTAS VPN RAS PORTAS VPN Acesso apenas a esta máquina WINDOWS NT/LINUX Outro Servidor da Rede RAS WINDOWS NT/LINUX O servidor VPN libera acesso a toda rede
Exemplo • 1) Situação Inicial • Considere um cliente e um servidor conectados por uma rede TCP/IP. • Ambos possuem endereços pré-definidos. RANGE IP IPVPN1 IPVPN2 ... IPNORMAL2 IPNORMAL1 SERVIDOR RAS EXEMPLO: 192.168.0.1 .. 192.168.0.254 INTERNET
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. RANGE IP IPVPN1 IPVPN2 ... IPNORMAL1 IPNORMAL2 LOGIN SENHA SERVIDOR RAS IPVPN E ROTAS INTERNET
Rede Virtual • Os clientes conectados a rede virtual utilizam o servidor RAS como roteador. SERVIDOR RAS VPN VPN VPN VPN
Comunicação com Tunelamento CLIENTE SERVIDOR RAS CLIENTE IPN1 IPN2 IPN3 IPVPN2 IPVPN1 IPVPN3 IPN2 IPN1 IPVPN2 IPVPN3 IPN1 IPN3 IPVPN2 IPVPN3
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.
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.)
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.) Datagrama do Protocolo Encapsulado Cabeçalho do Datagrama IP de encapsulamento
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 IP Header GREv2 Header Payload Datagram Ethernet Header IP Header GREv2 Header IP Protocolo de Transporte Protocolo de Aplicação IP Origem e Destino Sem Tunelamento IP Origem e Destino com Tunelamento
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
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
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
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.
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 (baseia-se 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.
Tunelamento L2TP • O tunelamento no L2TP é feito com o auxílio do protocolo UDP. • Observe como o L2TP é construído sobre o protocolo PPP.
PPP L2TP Iniciada pelo Servidor de Acesso a Rede (NAS) MODEM NAS PPP PPP MODEM PSTN MODEM USUÁRIO REMOTO MODEM ISP REDE TELEFÔNICA SERVIDOR INTERNET TUNEL PROVEDOR DE ACESSO A INTERNET EMPRESA
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)
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.
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
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.
AH e Modo Túnel e Modo Transporte IPv4 IP Normal IP TCP/UDP DADOS 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
Provê serviços de autenticação e Integridade de Pacotes. Authentication Header 1 byte 1 byte 1 byte 1 byte Next Header Length reserved 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
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.
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
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. ICV Assinatura HMAC iguais? IP AH TCP/UDP DADOS ICV
HMAC • h = função de hashing (MD5 ou SHA1) • k = chave secreta • ipad = 0x363636 ... 3636 • opad = 0x5c5c5 ... c5c5c
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.
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.
IP IP IP IP AH Modo Tunel e Transporte SA SA IPsec AH IPsec AH IPsec AH IPsec AH IPsec AH Internet Conexão IPsec em modo Transporte IPsec AH IPsec AH IPsec AH SA SA Internet Conexão IPsec em modo Túnel
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.
ESP IPSec : Tunel e Transporte MODO TRANSPORTE autenticado criptografado IP TCP UDP DADOS ESP TRAILER ESP AUTH ESPHEADER IP TCP UDP DADOS IP ESPHEADER IP TCP UDP DADOS ESP TRAILER ESP AUTH criptografado autenticado MODO TUNNEL
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) TRAILER Pad (0 – 255 bytes) Pad Length Next Header Authentication Data (tamanho variável) AUTH
Campos do IPsec ESP • Header: • SPI e Sequence Number: Mesmas funções do AH • O algoritmo de criptografia pode ser qualquer, mas o DES Cipher-Block 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.