redes virtuais privadas vpn

40
REDES VIRTUAIS PRIVADAS SOBRE TECNOLOGIA IP Edgard Jamhour

Upload: cornelius-welsh

Post on 15-Mar-2016

46 views

Category:

Documents


6 download

DESCRIPTION

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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Redes Virtuais Privadas VPN

REDES VIRTUAIS PRIVADAS SOBRE TECNOLOGIA IP

Edgard Jamhour

Page 2: Redes Virtuais Privadas VPN

VPN: VIRTUAL PRIVATE NETWORK

Estende os privilégios de acesso a uma rede privada através da uma rede pública.

Page 3: Redes Virtuais Privadas VPN

ISOLAMENTO DE REDE

VPN A VPN

B

Membros da VPN A não podem enviar

pacotes para membros da VPN B

Internet Pública

Page 4: Redes Virtuais Privadas VPN

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

Page 5: Redes Virtuais Privadas VPN

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

Page 6: Redes Virtuais Privadas VPN

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

Page 7: Redes Virtuais Privadas VPN

VPN = TUNELAMENTO

redeInsegura

pacote protegido

redeInsegura pacote

desprotegido

redeInsegura

Page 8: Redes Virtuais Privadas VPN

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.

Page 9: Redes Virtuais Privadas 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

Page 10: Redes Virtuais Privadas VPN

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

Page 11: Redes Virtuais Privadas VPN

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)

Page 12: Redes Virtuais Privadas VPN

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

Page 13: Redes Virtuais Privadas VPN

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

Page 14: Redes Virtuais Privadas VPN

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

Page 15: Redes Virtuais Privadas VPN

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

Page 16: Redes Virtuais Privadas VPN

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)

Page 17: Redes Virtuais Privadas VPN

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

Page 18: Redes Virtuais Privadas VPN

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

Page 19: Redes Virtuais Privadas VPN

EXEMPLO: ICMPV4 TRANSPORTADO POR PPP

PPP identifica o protocolo com 2 bytes

IPv4 identifica o protocolo com apenas 1 byte

Page 20: Redes Virtuais Privadas VPN

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

Page 21: Redes Virtuais Privadas VPN

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

Page 22: Redes Virtuais Privadas VPN

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

Page 23: Redes Virtuais Privadas VPN

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

Page 24: Redes Virtuais Privadas VPN

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

Page 25: Redes Virtuais Privadas VPN

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

Page 26: Redes Virtuais Privadas VPN

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

Page 27: Redes Virtuais Privadas VPN

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

Page 28: Redes Virtuais Privadas VPN

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

Page 29: Redes Virtuais Privadas VPN

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

Page 30: Redes Virtuais Privadas VPN

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

Page 31: Redes Virtuais Privadas VPN

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

Page 32: Redes Virtuais Privadas VPN

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.

Page 33: Redes Virtuais Privadas VPN

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

Page 34: Redes Virtuais Privadas VPN

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.

Page 35: Redes Virtuais Privadas VPN

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

Page 36: Redes Virtuais Privadas VPN

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)

Page 37: Redes Virtuais Privadas VPN

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

Page 38: Redes Virtuais Privadas VPN

OPENVPN SOBRE UDP NEGOCIAÇÃO DO CANAL SEGUROO canal seguro é criado utilizando-se o handshake SSL

Page 39: Redes Virtuais Privadas VPN

TRANSPORTE DE DADOS UDP E TCP

Page 40: Redes Virtuais Privadas VPN

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.