RED29004-2014-1-Seminario1-VPN

De MediaWiki do Campus São José
Ir para: navegação, pesquisa
VPN (Virtual Private Network)


Sobre a página

Página criada como extensão do Seminário de Redes de Computadores 2014/1, tendo como tema as redes VPN.

Introdução

Atualmente, a demanda crescente no mercado de telecomunicações tem se destacado como uma grande área para atuação profissional, assim como o aprimoramento de tecnologias que tornem as comunicações mais efetivas, seguras e de baixo custo. Abordando o contexto de comunicação segura e de baixo custo, as VPNs – Virtual Private Network (Redes Virtuais Privadas) - tem se destacado como um método de comunicação cada vez mais adotado, devido ao seu baixo custo e complexidade.

A utilização e criação do conceito de Rede Privada Virtual (Virtual Private Network - VPN) surgiu da necessidade de utilizar redes de comunicação inseguras e não confiáveis para trafegar informações de forma segura. Assim, ao invés de utilizar uma linha privativa para implementar redes corporativas pode-se utilizar a rede pública, estabelecendo-se uma comunicação lógica entre pontos, de menor custo, que em contrapartida, oferece menos confiabilidade. Este é o principal objetivo de uma VPN, utilizar uma rede pública para redução de custos na comunicação.

O funcionamento de uma VPN consiste no encapsulamento dos dados transmitidos e o tunelamento estabelecido na comunicação, explicado posteriormente neste trabalho.

Requisitos Básicos Para o Funcionamento de uma VPN

Para que uma VPN opere de forma satisfatória, deve garantir confidencialidade, integridade e autenticidade de informações, sendo implementadas por:

Autenticação de Usuários

Verificação da identidade do usuário, podendo ser efetuada em nível de máquina (através da camada de enlace) ou de usuário, com utilização de login e senha.

Gerenciamento de Endereço

O endereço do cliente não deve ser visível publicamente, sendo adotados endereços de origem “fictícios” no tráfego externo. Majoritariamente utiliza-se comunicação ponto-a-ponto entre as entidades de rede.

Criptografia de Dados

Os dados devem ser codificados em sua origem, podendo ser decodificados apenas em seu destino final, mecanismo implementado sobretudo com a utilização de chaves.

Gerenciamento de Chaves

Mecanismo utilizado para codificar e decodificar as mensagens trocadas na comunicação.

Suporte a Múltiplos Protocolos

Como a comunicação é estabelecida geralmente sobre redes públicas (sobretudo a Internet), é esperado que a VPN suporte múltiplos protocolos, como o IP (Internet Protocol) e o IPX (Internetwork Packet Exchange), por exemplo.

Classificação de VPNs quanto a funcionalidade

Acesso Remoto Via Internet

O acesso remoto a redes corporativas através da Internet pode ser viabilizado com a VPN através da ligação local a algum provedor de acesso (Internet Service Provider - ISP). A estação remota disca para o provedor de acesso, conectando-se à Internet e o software de VPN cria uma rede virtual privada entre o usuário remoto e o servidor de VPN corporativo através da Internet.

AcessoRemoto.gif
Figura 1 - Acesso Remoto Via Internet

Conexão de Lans via Internet

Uma solução que substitui as conexões entre LANs através de circuitos dedicados de longa distância é a utilização de circuitos dedicados locais interligando-as à Internet.

Lans.gif
Figura 2 - Conexão de Lans via Internet

Conexão de computadores numa intranet

Em algumas organizações, existem dados confidenciais cujo acesso é restrito a um pequeno grupo de usuários. Nestas situações, redes locais departamentais são implementadas fisicamente separadas da LAN corporativa. As VPNs possibilitam a conexão física entre redes locais, restringindo acessos indesejáveis através da inserção de um servidor VPN entre elas. Assim, apenas os usuários credenciados para acesso poderão ver os dados que trafegam sobre a rede VPN, ou seja, mesmo que outra alguém não credenciado esteja conectado fisicamente ao enlace, nem sequer saberá da existência da rede virtual privada.

Voluntario.gif
Figura 3 - Conexão de computadores numa intranet

Mecanismos de Segurança

Criptografia a partir de Chaves Públicas e Privadas

Basicamente, o processo de criptografia é realizado usando o algoritmo contido na chave pública, disponível pelo destinatário. Adquiri-se a chave pública com o algoritmo de criptografia, e criptografa-se a a mensagem. Ao chegar no destinatário, o mesmo utiliza sua chave privada para descriptografar a mensagem, voltando assim a sua forma original.

Como apenas o destinatário possui o algoritmo para descriptografar a mensagem (chave privada), caso alguma mensagem seja interceptada no meio da comunicação, a mesma será ilegível para quem a interceptou.

ChavesPublicas.png
Figura 4 - Esquemático do funcionamento de criptografia por chaves públicas

Tunelamento

O protocolo que será transportado é encapsulado e criptografado, e é adicionado um cabeçalho com informações referentes ao destino do pacote transportado. Caso seja interceptado, estará ilegível, devido à criptografia. Quando chega ao destino, é desencapsulado e descriptografado, podendo ser lido pelo destinatário. O caminho lógico percorrido pelo pacote é denominado túnel, ocasionando a denominação de tunelamento. É importante ressaltar que diferentes protocolos podem ser encapsulados e transmitidos por outros protocolos. Note que o processo de tunelamento envolve encapsulamento, transmissão ao longo da rede intermediária e desencapsulamento do pacote.

Quanto ao nível de implementação de tunelamento no modelo de referência OSI, pode ser implementado na camada de enlace ou rede.

Tunelamento.gif
Figura 5 - Tunelamento

Tunelamento em nível de enlace

O objetivo é transportar protocolos de nível 3, tais como o IP e IPX na Internet. Os protocolos utilizam quadros como unidade de troca, encapsulando os pacotes da camada 3 (como IP/IPX) em quadros PPP (Point-to-Point Protocol).

Como exemplos de protocolos podemos citar:

  • PPTP (Point-to-Point Tuneling Protocol): Desenvolvido como uma extensão do PPP, realiza tunelamento ponto-a-ponto. Permite que o tráfego IP, IPX e NetBEUI seja encapsulado, criptografado (na camada de rede) pelo MPPE (Criptografia Ponto-a-ponto da Microsoft) e enviado por redes IP.
  • L2F (Layer 2 Forwarding): Protocolo de tunelamento criado pela Cisco, utiliza redes discadas para transporte seguro de pacotes. Similar ao PPTP, cria ligações ponto-a-ponto e permite que os protocolos de alto nível criem túneis através do enlace.
  • L2TP (Layer 2 Tunneling Protocol): O L2TP é um protocolo de encapsulamento da Internet padrão da indústria, que possui quase a mesma funcionalidade do Protocolo PPTP. O L2TP permite que o tráfego IP, IPX e NetBEUI seja encapsulado e criptografado e enviado por redes IP, X25, Frame Relay ou ATM. Utiliza majoritariamente o protocolo de transporte UDP, e não possui mecanismos de encriptação, sendo essa deficiência suprida pelo uso deste protocolo juntamente com o IPSec.

Tunelamento em nível de rede

O IP Security Tunnel Mode (Protocolo IP de Segurança - IPSec) da IETF (Internet Engineering Task Force) permite que pacotes IP sejam criptografados e encapsulados com cabeçalho adicional deste mesmo protocolo para serem transportados numa rede IP pública ou privada. O IPSec é um protocolo desenvolvido para IPv6, sendo alterado para utilização com o IPV4. Provê mecanismos para sigilo, autenticação, integridade dos dados e prevenção de ataques de repetição (captura de mensagens para fins maliciosos).

Intrínseco ao IPSec, há dois protocolos de principais: o Authentication Header (Protocolo de Cabeçalho de Autenticação AH) e o Encapsulating Security Payload (Protocolo de Carga de Segurança de Encapsulamento - ESP). A diferença entre estes protocolos é perceptível em suas características, pois ambos proveem autenticação da fonte e integridade dos dados, mas apenas o ESP provê sigilo.

Antes de enviar datagramas IPSec da entidade remetente à entidade destinatária, essas entidades criam uma conexão lógica da camada de rede, denominada Associação de Segurança (Security Association - SA). Uma SA é uma conexão lógica simplex; ou seja, ela é unidirecional do remetente ao destinatário.

O IPSec possui duas formas diferentes de pacotes, uma para o modo túnel e outra para o modo transporte (menos utilizada e imprópria para VPNs, não sendo alvo de estudo).

Segundo Kurose (2010), considerando o modo túnel do IPSec, a conversão de um datagrama IP para um datagrama deste protocolo segue os seguintes procedimentos:

  • Anexa atrás do datagrama IP original um campo “trailer ESP”
  • Codifica o resultado utilizando o algoritmo e chaves especificados pela SA
  • Anexa na frente dessa quantidade codificada um campo denominado “cabeçalho ESP”, o pacote resultante é denominado “enchilada”
  • Cria uma autenticação MAC por toda a enchilada usando o algoritmo e chaves especificados pela ESA
  • Anexa a MAC atrás da enchilada, formando a carga útil
  • Por fim, cria um cabeçalho IP novo com todos os campos de cabeçalho IP clássicos, o qual se anexa antes da carga útil

No campo “novo cabeçalho IP” são estabelecidos os endereços para as interfaces do roteador remetente e destinatário que estão nas duas extremidades dos túneis, considerando que a conexão é estabelecida ponto-a-ponto.

E.png
Figura 6 - Formato do Datagrama IPSec

Funcionamento dos Túneis

Nas tecnologias orientadas à camada 2 (enlace), um túnel é similar a uma sessão, onde as duas extremidades do túnel negociam a configuração dos parâmetros para estabelecimento do túnel, tais como endereçamento, criptografia e parâmetros de compressão. Na maior parte das vezes, são utilizados protocolos que implementam o serviço de datagrama. A gerência do túnel é realizada através protocolos de manutenção. Nestes casos, é necessário que o túnel seja criado, mantido e encerrado. Nas tecnologias de camada 3, não existe a fase de manutenção do túnel.

Tipos de Túneis

  • Voluntário: o tunelamento é feito no computador do próprio usuário, não dependendo de um servidor específico para realizá-lo, interessante para aplicação em serviços remotos. Neste tipo de túnel, o próprio usuário atua como cliente do servidor
Voluntario.gif
Figura 7 - Tunelamento Voluntário


  • Compulsório: tunelamento realizado pelo servidor de acesso à rede que é configurado para criar os túneis depois da autenticação do usuário, que não interfere no processo. Neste caso, o cliente da comunicação VPN é o servidor de acesso a rede, que acessa outro servidor na borda da comunicação
Compulsorio.gif
Figura 8 - Tunelamento Compulsório


Referências

Referências Bibliográficas
  • KUROSE, J. ROSS, K. Redes de Computadores e a Internet: Uma Abordagem Top-Down. São Paulo: Pearson, 2010. p. 492-531.
Imagens
  • Figura 6 extraída do livro do Kurose (Redes de Computadores e a Internet: Uma Abordagem Top-Down)


Literatura Recomendada

  • KUROSE, J. ROSS, K. Redes de Computadores e a Internet: Uma Abordagem Top-Down. São Paulo: Pearson, 2010. p. 492-531.
Disciplina de Redes