PPGIa | Programa de Pós-Graduação em Informática ...jamhour/Pessoal/Graduacao/...O servidor PPTP...
Transcript of PPGIa | Programa de Pós-Graduação em Informática ...jamhour/Pessoal/Graduacao/...O servidor PPTP...
-
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
AVPN
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: MPLS, GRE, SD-WAN
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 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 SSLTunelamento
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)
-
PROTOCOLOS PARA VPN (L2 E L3)
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
-
VPN DE CAMADA 4 (L4)
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
• Segurança para aplicações baseadas em UDP
Secure Shell (SSH) VPN
• Implementado por SSH
• Pouco escalável mas versátil e de fácil implementação
-
PPP: POINT TO POINT PROTOCOL
Protocolo para enlaces ponto-a-ponto.
• Supõe que pacotes são entregues na mesma ordem em que foram
gerados.
• Inclui recursos para: configurar o link (LCP), autenticação (CHAP, PAP,
EAP) e configurar parâmetros IP (IPCP) de forma similar ao DHCP
IPv4
IPv6
NAS
-
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
-
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
-
EXEMPLO: ICMPV4 TRANSPORTADO POR
PPP
PPP identifica
o protocolo
com 2 bytes
IPv4 identifica
o protocolo
com apenas 1
byte
-
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
-
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
-
TOPOLOGIAS PPTP
Usuários
conectados a VPN
A não podem
enviar pacotes para
membros da VPN B
Internet
Pública
Servidor
PPTP AServidor
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
IPprivado1IPprivado2...
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
IP1IPS
IPB IP3
IPC IP4
IPA IPS IP2 IP4
IPS IPc IP2 IP4
SERVIDOR
internoIP5
-
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)
> 1024TCP: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 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
-
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)
-
OPEN VPN USA 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
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.