REDES VIRTUAIS PRIVADAS SOBRE TECNOLOGIA IP
Edgard Jamhour
VPN: VIRTUAL PRIVATE NETWORK
Estende os privilégios de acesso a uma rede privada através da uma rede pública.
ISOLAMENTO DE REDE
VPN A VPN
B
Membros da VPN A não podem enviar
pacotes para membros da VPN B
Internet Pública
ISOLAMENTO DE REDE
Por Criptografia/Autenticação
Exemplos: IPsec, PPTP, SSL, etc.
1. Segurança embutida nos pacotes
2. Segurança controlada pelo usuário final
3. Isolamento de rede feito por firewalls
4. Sem garantias de QoS
Por Roteamento Seletivo
Exemplos: ATM, Frame Relay, MPLS
1. Segurança feita pela rede
2. Segurança controlada pelo provedor
3. Isolamento de rede feito por roteamento
4. Pode ter garantias de QoS
MPLS VPN: ARQUITETURA HUB X SPOKES
Todos os sites (Spokes) enviam
tráfego apenas para o Hub
A comunicação entre Hub e Spoke usa endereçamento
próprio, independente da Internet
Implementado com as tecnologias MPLS,
GRE, VRP pelo Provedor
TIPOS DE VPN
ENTRE DUAS MÁQUINAS
ENTRE UMA MÁQUINA E UMA REDE(VPN DE ACESSO)
ENTRE DUAS REDES(INTRANET OU
EXTRANET VPN)
redeInsegura
redeInsegura
redeInsegura
VPN = TUNELAMENTO
redeInsegura
pacote protegido
redeInsegura pacote
desprotegido
redeInsegura
CONCEITOS BÁSICOS DE UMA VPN
O que caracteriza uma tecnologia como VPN:
TUNELAMENTO:• Permite transportar pacotes com IP privado ou com outros protocolos de rede
através da Internet pública.
AUTENTICAÇÃO/INTEGRIDADE:• 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.
O QUE É TUNELAMENTO?Tunelar significa encapsular o pacotes do protocolo A dentro do campo de dados do protocolo B, de forma que apenas o protocolo B é interpretado pela rede.
Usualmente o tunelamento implica em duplicar camadas do modelo de redes.
L2 L3
Tunelamento L3
Tunelamento L2
L4 Pacote OriginalL7 dados
L2 L3 L3 L7 dados
L2 L3 L2 L7
L4 L7 dados
L3 L7 dados
TUNELAMENTO
FISICA
ENLACE
REDE
TRANSPORTE
APLICAÇÃO
FISICA
ENLACE
REDE
SSL
APLICAÇÃO
FISICA
ENLACE
REDE
TRANSPORTE
APLICAÇÃO
FISICA
ENLACE
REDE
TRANSPORTE
APLICAÇÃO
TRANSPORTE
REDE
REDE
ENLACE
Aplicação
S.O.
Placa de Rede
Pilha Normal SSL
Tunelamento Camada 3
Tunelamento Camada 2
PROTOCOLOS PARA VPN (L2 E L3)
L2F: Layer 2 Fowarding Protocol (Cisco)
• Não é mais utilizado.
PPTP: Tunelamento de Camada 2
• Point-to-Point tunneling Protocol• Usa MPPE (Microsoft Point-to-Point Encryption) para segurança• Usa GRE (Generic Routing Encapsulation) para tunelamento
L2TP: Tunelamento de Camada 2
• Level 2 Tunneling Protocol (L2TP)• Combinação do L2F e PPTP• L2PTv3: (2005)
IPSec: Tunelamento de Camada 3
• IETF (Internet Engineering Task Force)
VPN DE CAMADA 4
Transport Layer Security (SSL/TLS)• Usado por OpenVPN e SoftEther VPN
• Software Livre (GNU GPL)• Usado pelo SSTP (Secure Socket Tunneling Protocol)
• Desenvolvido pela Microsoft
Datagram Transport Layer Security (DTLS)• Usado por Cisco AnyConnect VPN e OpenConnectVPN
Secure Shell (SSH) VPN• Implementado por SSH• Pouco escalável mas versátil e de fácil implementação
PROTOCOLOS PARA VPNProtocolo Tunelamento Criptografia Autenticação Aplicação
PPTP Camada 2 Sim Sim Transporta qualquer protocolo suportado pelo PPP
L2TP Camada 2 Não Sim Transporta qualquer protocolo suportado pelo PPP
IPsec Camada 3 Sim Sim Transporta apenas pacotes IP
IPsec e L2TP
Camada 2 Sim Sim Transporta qualquer protocolo suportado pelo PPP
PONTO-A-PONTO VS MULTI-PONTO
Serviço Multiponto:
• Múltiplas entidades conectadas ao mesmo meio• Permite envio de mensagens em broadcast• Quadros precisam incluir o endereço do destinatário
Serviço Ponto-a-Ponto:
• Apenas duas entidades conectadas entre si• Usuários em conexões ponto-a-ponto diferentes não se comunicam por broadcast• Não precisa de endereçamento
MODEM
MODEM
MODEM
um modem para cada usuário (linha)
RAS: Remote Acess Server ou NAS: Remote Acess Server
PSTNRede Remota
MODEM
Tecnologia Multi-Ponto
PPP: POINT TO POINT PROTOCOL
Permite criar conexão de rede através de enlaces 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.
O PPP permite transportar diversos protocolos de rede.IP
IPX
link físico
ARQUITETURA PPP
Link Control Protocol (LCP)• Configura parâmetros do link como tamanho dos quadros.
Protocolos de Autenticação (CHAP, PAP, EAP)• Determina o método para validar a senha do usuário no servidor. Pode variar de texto aberto até criptografia.
Internet Protocolo Control Protocol (IPCP)• Configura parâmetros de rede de forma similar ao DCHP • Tipo específico de NCP (Network Control Protocol) para IP• Existem outros para IPx, Netbios, etc.
DHCP é para redes MultipontoIPCP é para redes Ponto-a-PontoPAP: Autenticação sem segurançaEAP: Extensible Authentication Protocol(Usado em Wireless)
AUTENTICAÇÃO CHAP: PPP
CHAP: Chalenge Handshake Authentication Protocol
• Autenticação One-Way• Depende de um segredo Pré-compartilhado
FASE LCP
2. Challenge String (CS)
3. MD5 [Password + CS]
5
MD5
Segredo +CS
Digest
COMPARAÇÃO
4. VALIDAÇÃO
4. OK ou Failure
Suplicant Authenticator
FRAME PPP: LINKS PONTO A PONTO
O Frame PPP segue uma variante da estrutura do HDLC (High-level Data Link Control)
FLAG ADDRESS CONTROL PROTOCOL FCS FLAG
8 bits 8 bits 8 bits 16 bits 16 bits 8 bits
DADOS
0x7E 0xFF 0x03 0x0021
IP TCP
IPv4
Dados
EXEMPLO: ICMPV4 TRANSPORTADO POR PPP
PPP identifica o protocolo com 2 bytes
IPv4 identifica o protocolo com apenas 1 byte
PPTP: POINT-TO-POINT TUNNELING PROTOCOL
• Publicado pela Microsoft em 1999 (RFC 2637)
• Microsoft, Ascend (Nokia), 3Com e outros• Cria túneis baseados em GRE (Generic Routing Encapsulation)• O canal de controle para criação de túneis PPTP é baseado em TCP (Porta 1723)
• Mecanismos de segurança utilizados:
• MPPE (Microsoft Point-to-Point Encryption)• MS-CHAP v1 (inseguro)• MS-CHAP v2 (vulnerável a ataques de dicionário)
• PPTP com MPPE é considerado VULNERÁVEL• Nativo para várias versões de Microsoft Windows• Versões mais recentes do Windows usam SSTP
• SSTP (Secure Socket Layer Tuneling Protocol)
• Suporta EAP-TLS para autenticação
PPP VS PPTP
IP
PPP
PSTN Rede Ethernet
IP
PPP Eth
IP
Ethlinha telefônica meio compartilhado
Destino
IP
PPTP
PSTN Internet
IP
PPP XYZ
IP
Eth
linha telefônica
IPPPP
NAS
RAS
PNSIP
PPTP
IPXYZ
Eth
Rede Ethernet
PPP
PPTP
inseguro
seguro
Ambiente da Empresa
Ambiente da Empresa
NAS: Network Access ServerPNS: PPTP Network Server
TOPOLOGIAS PPTP
Usuários conectados a VPN
A não podem enviar pacotes para membros da VPN B
Internet Pública
Servidor PPTP A
Servidor PPTP B
filtro de pacotes
filtro de pacotes
EXEMPLO
Cliente e servidor possuem endereços PÚBLICOS pré-definidos: IPC e IPS.
Após a conexão eles recebem endereços PRIVADOS
IPC
IPS
SERVIDOR PPTP
RANGE IPIPprivado1
IPprivado2
...
EXEMPLO:192.168.0.1
..192.168.0.254
INTERNET
LOGIN + SENHA
IPVPN + ROTAS
SERVIDOR RADIUS
INTERNET
REDE VIRTUAL = TOPOLOGIA EM ESTRELA
Apenas pacotes enviados para endereços virtuais são protegidos.
O servidor PPTP funciona como um HUB
VPN
VPN
VPN
VPN
SERVIDOR PPTP
IPA IP2
IP1
IPS
IPB IP3
IPC IP4
IPA IPS IP2 IP4
IPS IPc IP2 IP4
PPTP = GRE VERSÃO 2
Pacotes de PPTPsão identificados pelo IP
como GRE47 = 0x2F
GRE (Generic Routing Encapsulation) é uma técnica de tunelamento usada no core
das redes ISP
MSCHAP V1: PPTP
1. Pedido de Login (Identificação)
2. Challenge String (CS1)
3. Challenge String (CS2) +MD4 (CS1+Password)
5) chave (CS2 + password)chave (CS1 + password)
RSA’s RC440 ou 128 bits (negociado)
6) chave (CS1 + password)chave(CS2 + password)
RSA’s RC440 ou 128 bits (negociado)
4. OK +MD4(CS1, CS2, Password)
> 1024 TCP:1723
• CHAP não gera uma chave para criptografia
• MS-CHAP é uma extensão do CHAP para gerar uma chave de criptografia a partir de um segredo pré-compartilhado
• A negociação é feita usando a porta de controle TCP 1723
EXEMPLO DE VPN COM FIREWALL
INTERNET
1723>1023
IP_PPTP
FIREWALL:• Liberar conexão TCP no servidor PPTP na porta 1723 • Liberar envio de pacotes PPTP (0x2F) para IP de destino IP_PPTP
Não há regras do firewall para
servidores de destino ou IP de
origem
SSTP (SECURE SOCKET TUNNELING PROTOCOL)• Problemas do PPTP
• Não é encapsulado em protocolos de transporte (TCP ou UDP)• Não pode atravessa NAPT• Utiliza o MPPE que é considerado inseguro
• SSTP: Secure Socket Tunneling Protocol
• Originalmente criado para Windows (2008 em diante)• Utiliza SSL/TLS para autenticação e transporte• Transporta pacotes PPP na porta TLS 443 (HTTPS)• Pode utilizar EAP-TLS para métodos fortes de autenticação
TCP HTTPS SSTP PPPIP pacote usuário
SSTP
• Define 2 tipos de pacotes:
• SSTP Control Packets• SSTP Data Packets
• cliente SSTP servidor SSTP
1. O cliente faz uma conexão TCP na porta 443 do servidor2. O handshake TLS/SSL é efetuado3. O cliente negocia um túnel SSTP com o servidor4. O cliente negocia uma conexão PPP com o servidor5. Pacotes são transportados através do canal PPP
CENÁRIO DE USO SSTPCLIENTE REMOTO• De forma similar a uma rede PPTP, o STP permite atribuir um endereço da rede
privada para um usuário externo.
• A comunicação feita com o endereço privado é protegida pelo túnel SSTP
CENÁRIO DE USO SSTPSITE A SITEUsando o SSTP cliente como roteador, é possível usar o SSTP para conectar duas redes através a Internet
L2TP: LAYER TWO TUNNELING PROTOCOL
• Baseado nos Protocolos: PPTP + L2F• Oferece as seguintes funções de segurança:
• Tunelamento , Autenticação, Anti-spoofing e Integridade • Não possui suporte nativo para criptografia.
VPNS QUE USAM PPP
PPTP:• Negociação TCP (Porta 1723)• Integridade feita apenas pelo PPP• Possui suporte nativo a criptografia
L2TP:• Negociação UDP (Porta 1701)• Possui mecanismo forte de
integridade.• Não possui suporte nativo a
criptografia
SSTP:• Negociação TCP (Porta 443)• Criptografia e integridade são feitos
pelo TLS/SSL
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.
TUN/TAP
Interfaces TUN/TAP permite redirecionar pacotes enviados ao sistema operacional para programas fora do kernel (espaço usuário)
• TUN: Simula uma dispositivo que opera em camada 3 e transporta pacotes
• TAP: Simula um dispositivo que opera em camada 2 e transporta quadros
OPENVPN
• Software “open-source” que implementa uma VPN baseada em SSL/TLS
• Baseado em OpenSSL• Escrito por James Yonan • Publicado como GNU GPL (General Public License)
• Suporta autenticação de clientes usando:
• Chave Estática: segredos pré-compartilhados• TLS/SSL + certificados para autenticação e troca de chaves• Nome Usuários/ Senha (novo)
• Protocolo de Transporte: Suporte a NAT
• UDP: Tipicamente (porta 1195)• TCP: Opcional (porta 1194)
OPENVPNEXEMPLO DE TOPOLOGIATúnel entre o cliente remoto e o servidor de VPN
Acesso ao Target (10.10.2.20) que não está associado a VPN
OPENVPN SOBRE UDP NEGOCIAÇÃO DO CANAL SEGUROO canal seguro é criado utilizando-se o handshake SSL
TRANSPORTE DE DADOS UDP E TCP
CONCLUSÃO
VPNs podem ser implementadas em diferentes camadas.
As VPNs de camada 2 e 3 são implementadas na pilha de rede do sistema operacional.
As VPNs de camada 4 pode ser implementadas usando SSL/TLS e não requerem suporte do sistema operacional.
As VPNs de camadas 2 e 3 apresentam geralmente menos overhead (bytes adicionais usados para proteger os pacotes) e funcionam de maneira mais transparente para as demais aplicações.
Top Related