ppgia | programa de pós-graduação em informática ...jamhour/pessoal/graduacao/...o servidor pptp...

35
REDES VIRTUAIS PRIVADAS SOBRE TECNOLOGIA IP Edgard Jamhour

Upload: others

Post on 29-Jan-2021

6 views

Category:

Documents


0 download

TRANSCRIPT

  • 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.