REDES VIRTUAIS PRIVADAS SOBRE TECNOLOGIA IPjamhour/Pessoal/Graduacao/Ciencia/... · CONCEITOS...
Transcript of REDES VIRTUAIS PRIVADAS SOBRE TECNOLOGIA IPjamhour/Pessoal/Graduacao/Ciencia/... · CONCEITOS...
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)
rede
Insegura
rede
Insegura
rede
Insegura
VPN = TUNELAMENTO
rede
Insegura
pacote protegido
rede
Insegura pacote
desprotegido
rede
Insegura
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 Original L7 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 VPN
Protocolo 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
PSTN Rede 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 Multiponto
IPCP é para redes Ponto-a-Ponto
PAP: Autenticação sem segurança
EAP: 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
Eth
linha telefônica meio compartilhado
Destino
IP
PPTP
PSTN Internet
IP
PPP XYZ
IP
Eth
linha telefônica
IP
PPP
N
A
S
R
A
S
P
N
S
IP
PPTP
IP
XYZ
Eth
Rede
Ethernet
PPP
PPTP
inseguro
seguro
Ambiente da Empresa
Ambiente da Empresa
NAS: Network Access Server
PNS: 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 IP
IPprivado1
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 PPTP
são identificados pelo IP
como GRE
47 = 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 RC4
40 ou 128 bits (negociado)
6) chave (CS1 + password)
chave(CS2 + password)
RSA’s RC4
40 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 PPP IP 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 servidor
2. O handshake TLS/SSL é efetuado
3. O cliente negocia um túnel SSTP com o servidor
4. O cliente negocia uma conexão PPP com o servidor
5. Pacotes são transportados através do canal PPP
CENÁRIO DE USO SSTP
CLIENTE 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 SSTP
SITE A SITE
Usando 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)
OPENVPN
EXEMPLO DE TOPOLOGIA
Tú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 SEGURO
O 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.