Introdução
Atualmente é comum que pessoas
utilizem computadores com a finalidade de acessar
a Internet para verificar suas mensagens de correio
eletrônico (e-mail), acessar remotamente a rede
da empresa onde trabalha, realizar transações
bancárias, entre outras. O grande problema
em acessar e disponibilizar essas informações
pela Internet está na segurança, ou
melhor, na falta dela. O ideal nesses casos seria
que o acesso pela Internet fosse associado a um conjunto
de tecnologias que permitiriam uma forma segura e
transparente de comunicação, garantindo
a privacidade das informações.
Essa solução existe e é conhecida
como rede privada virtual ou VPN (Virtual Private
Network). Uma rede privada virtual é capaz
de garantir a privacidade das informações
que por ela trafegam uma vez que só pode ser
utilizada pelos funcionários da uma empresa
ou grupo de pessoas devidamente autorizadas. Além
do tráfego de dados, uma rede privada também
pode ser usada para o tráfego telefônico
interno entre a matriz e filiais de uma empresa, podendo
incorporar as conexões com fornecedores ou
clientes e prover ainda o acesso remoto aos funcionários
que realizam atividades externas como vendedores e
pessoal de assistência técnica.
Conceitos
Como mencionado, a transmissão
de informações estratégicas ou
sigilosas pela Internet somente se torna viável
com a utilização de tecnologias que
transformem esse meio altamente inseguro em um meio
confiável. O conceito de VPN surgiu dessa necessidade,
ou seja, utilizar redes de comunicação
públicas, consideradas não confiáveis,
para trafegar informações de forma segura.
As redes públicas são consideradas não
confiáveis tendo em vista que os dados que
nelas trafegam estão sujeitos a interceptação
e captura por pessoas não autorizadas.
Assim, a característica principal de uma VPN
é a segurança que ela garante na comunicação
entre os diferentes pontos da rede. Antes de ser transmitida,
a informação é criptografada
e autenticada. Essa medida garante o sigilo e a integridade
da informação mesmo que ocorra algum
tipo de interferência pelo caminho.
As conexões VPN pela rede pública utilizando
a Internet também podem oferecer um custo mais
baixo quando comparadas com a contratação
de links dedicados, principalmente quando as distâncias
envolvidas são grandes, devido aos degraus
tarifários das operadoras de serviços
de telecomunicações. Esse tem sido um
dos principais motivos das empresas utilizarem cada
vez mais a infra-estrutura da Internet para conectar
suas redes privadas.
A VPN é uma solução que pode
ser agregada a outros recursos, como a utilização
da voz sobre IP (VoIP), compactação
de vídeo, etc, tornando-se uma alternativa
eficiente na redução dos custos corporativos
com telecomunicações.
Definindo VPN
Uma Rede Privada Virtual - VPN (Virtual
Private Network) como o próprio nome sugere
é uma rede privada, construída sobre
a infra-estrutura de uma rede pública, normalmente
para aplicações que incluem a Internet
e que permite a conectividade entre pessoas, empresas
ou outras organizações para a transmissão
de informações (voz, dados, imagens,
etc) entre dois ou mais pontos. O acesso e a troca
das informações são permitidos
somente entre os usuários e/ou redes que façam
parte da mesma rede virtual.
Em lugar de utilizar links dedicados ou as redes de
dados das operadoras de telecomunicações,
uma VPN pode utilizar um link de Internet existente
para estabelecer a comunicação. Utilizando
uma técnica conhecida como “tunelamento” os
dados são transmitidos com segurança
na rede pública por um “túnel” privado
que simula uma conexão ponto-a-ponto. Esta
tecnologia possibilita o fluxo de várias fontes
de informação por diferentes túneis
sobre a mesma infra-estrutura, permitindo também
que diferentes sistemas operacionais e protocolos
de rede se comuniquem.
Uma VPN possibilita ainda diferenciar o tipo de tráfego
presente na rede, permitindo configurar rotas distintas
para os pacotes de dados entre a origem e destino
da informação bem como critérios
diferentes de Qualidade de Serviço (QoS) contratadas
em Acordos de Níveis de Serviços (SLA’s).
Princípios básicos
Uma VPN deve prover um conjunto
de funções que garantam alguns princípios
básicos para o tráfego das informações:
1. Confidencialidade
– Tendo em vista que estarão sendo usados meios
públicos de comunicação, é
imprescindível que a privacidade da informação
seja garantida, de forma que, mesmo que os dados sejam
capturados, não possam ser entendidos;
2. Integridade –
Na eventualidade da informação ser capturada,
é necessário garantir que não
seja alterada e reencaminhada, permitindo que somente
informações válidas sejam recebidas;
3. Autenticidade
– Somente os participantes devidamente autorizados
podem trocar informações entre si, ou
seja, um elemento da VPN somente reconhecerá
informações originadas por um segundo
elemento que tenha autorização para
fazer parte dela.
Elementos da VPN
Para implementar uma VPN é
necessário conhecer os seus elementos básicos
constituintes:
• Servidor VPN – responsável
por aceitar as conexões dos clientes VPN. Esse
servidor é o responsável por autenticar
e prover as conexões da rede virtual aos clientes;
• Cliente VPN – é aquele que
solicita ao servidor VPN uma conexão. Esse
cliente pode ser um computador ou mesmo um roteador;
• Túnel – é o caminho
por onde os dados passam pela rede pública.
Comparando com as tecnologias orientadas à
camada 2 (Enlace) do modelo OSI, um túnel é
similar a uma sessão, onde as duas extremidades
negociam a configuração dos parâmetros
para o estabelecimento do túnel, como endereçamento,
criptografia e parâmetros de compressão.
Na maioria das vezes, são utilizados protocolos
que implementam o serviço de datagrama.
• Protocolos de tunelamento – São
os responsáveis pelo gerenciamento e encapsulamento
dos túneis criados na rede pública;
• Rede Pública – Efetua as
conexões da VPN. Normalmente trata-se da rede
de uma prestadora de serviços de telecomunicações.
Figura 1 - Elementos da VPN
Transporte da informação
Resumidamente, o transporte da informação
ocorre após o estabelecimento do túnel
entre os pontos da rede que desejam se comunicar.
Uma vez que o túnel seja estabelecido entre
um cliente VPN e um servidor VPN, os dados são
criptografados e autenticados antes de serem enviados,
processo que utiliza chaves de segurança do
tipo RSA (chave pública x chave privada). Essa
medida garante o sigilo das informações
mesmo que haja algum tipo de interferência no
percurso pela rede. Esse é o aspecto mais importante:
a VPN fornece um canal seguro de comunicação
em um ambiente ainda inseguro.
O cliente ou servidor VPN utiliza um protocolo de
tunelamento de transferência de dados que adiciona
um cabeçalho preparando o pacote para o transporte.
Só então o cliente envia o pacote encapsulado
na rede que o roteará até o servidor
do túnel. Este recebe o pacote, desencapsula
removendo o cabeçalho adicional e encaminha
o pacote original ao destino.
Figura 2 – Transporte da informação
Protocolos de VPN
O protocolo da VPN estabelecerá
a conexão e a criptografia entre os hosts da
rede privada. Eles podem ser normalmente habilitados
através de um servidor Firewall ou RAS (Remote
Access Server). Os protocolos normalmente utilizados
em uma VPN são:
• PPP – Point to Point Protocol –
É responsável por verificar as condições
da linha telefônica (no caso das conexões
dial up), pela validação dos usuários
na rede, além de estabelecer as configurações
dos pacotes (tamanho, compressão utilizada,
etc);
• PPTP – Point to Point Tunneling
Protocol – É uma variação do
protocolo PPP, que encapsula os pacotes em um túnel
fim-a-fim, porém não oferece os serviços
de criptografia;
• IPSec – Internet Protocol Security
– Conjunto de padrões e protocolos para segurança
relacionada com VPN IP. Trata-se de um protocolo padrão
da camada 3 do modelo OSI, que oferece transparência
segura de informações fim-a-fim através
de rede IP pública ou privada. O IPSec especifica
os cabeçalhos AH e ESP, que podem ser usados
independentemente ou em conjunto;
• AH – Authentication Header – Utilizado para prover
integridade e autenticidade dos dados presentes no
pacote, incluindo a parte invariável do cabeçalho.
Não provê confidencialidade;
• ESP – Encapsuled Security Payload – Provê
integridade, autenticidade e criptografia aos dados
do pacote;
• L2TP – Level 2 Tunneling Protocol
– É o protocolo que faz o tunelamento de PPP
utilizando vários protocolos de rede como IP,
ATM, etc, sendo utilizado para prover acesso discado
a múltiplos protocolos;
• Socks v5 – Protocolo especificado
pelo IETF que define como uma aplicação
cliente-servidor, utilizando IP e UDP, irá
estabelecer a comunicação através
de um servidor proxy.
Figura 3 – Tunelamento
Túneis
Nas conexões VPN são
gerados túneis através da Internet,
ou seja, é criada uma ligação
segura entre os dois pontos que desejam se comunicar,
usando uma criptografia de alto nível. Nesse
caso, apesar da ligação ser efetuada
através de uma rede pública (Internet),
todas as informações passam com segurança
por esse túnel.
Podemos ter túneis "iniciados pelo usuário"
e túneis "iniciados pelo provedor de acesso".
Os túneis iniciados pelo usuário, também
chamados de voluntários, são criados
por requisições do usuário para
ações específicas e túneis
iniciados pelo provedor de acesso são chamados
de compulsórios, já que são criados
pelo provedor, não proporcionando ao usuário
nenhuma escolha ou alteração:
• Túnel voluntário
- Ocorre quando uma estação ou servidor
de roteamento utiliza um software de tunelamento cliente
para criar uma conexão virtual com o servidor
do túnel desejado. O tunelamento voluntário
pode requerer conexões IP através de
LAN ou acesso discado. No caso do acesso discado,
o mais comum é o cliente estabelecer a conexão
discada antes de criar o túnel. No caso da
LAN, o cliente já está conectado e o
túnel inicializado para alcançar uma
sub-rede privada na mesma rede;
• Túnel compulsório
- Ocorre quando um servidor de acesso discado VPN
configura e cria o túnel. Nesse caso, o computador
do usuário não funciona como extremidade
do túnel. Outro dispositivo, o servidor de
acesso remoto, localizado entre o computador do usuário
e o servidor do túnel, funciona como uma das
extremidades e atua como cliente do túnel.
O dispositivo de rede que provê o túnel
para o computador cliente é conhecido de várias
formas: FEP – Front End Processor, Access Concentrator
ou IP Security Gateway. No caso da Internet, o cliente
faz uma conexão discada para um túnel
habilitado pelo servidor de acesso no ISP (Internet
Service Provider).
No tunelamento compulsório,
o cliente faz uma conexão PPP. O dispositivo
que provê o túnel pode ser configurado
para direcionar todas as conexões discadas
para um mesmo servidor de túnel ou, alternativamente
fazer o tunelamento individual baseado na identificação
do usuário ou no destino da conexão.
Diferentemente dos túneis individualizados
criados no tunelamento voluntário, um túnel
compulsório entre o dispositivo de rede que
provê o túnel (por exemplo, FEP) e o
servidor de túnel pode ser compartilhado por
múltiplos clientes discados. Quando um cliente
disca para o servidor de acesso (FEP) e já
existe um túnel para o destino desejado, não
é necessária a criação
de um novo túnel redundante, pois o túnel
existente pode transportar igualmente os dados do
novo cliente. No caso do tunelamento compulsório
com múltiplos clientes, o túnel só
é finalizado no momento em que o último
usuário do túnel se desconectar.
Endereçamento
Dois roteadores interligando duas
redes de computadores via Internet e utilizando uma
VPN utilizam fora do túnel endereços
IP públicos (estáticos ou dinâmicos),
mas dentro do túnel serão usados os
endereços IP da rede local, os quais não
serão acessíveis pela Internet. Podemos
considerar então que no tunelamento teremos
efetivamente quatro endereços IP, sendo dois
endereços válidos na rede privada e
dois endereços válidos na rede pública
(endereços IP de origem e de destino). A parte
do pacote IP privado será criptografado e “encapsulado”
em um novo pacote IP com endereços válidos
na rede. O protocolo de tunelamento encapsula o pacote
com um cabeçalho adicional que contém
informações de roteamento e dessa forma
os pacotes criptografados e encapsulados trafegam
através da Internet até o destino onde
são desencapsulados e decriptografados, retornando
ao seu formato original.
Protocolos de Tunelamento
Enviar porções específicas
do tráfego através de túneis
é a maneira mais comum de se implementar uma
VPN. Túneis simulam a conexão ponto-a-ponto
requerida para a transmissão de pacotes através
da rede pública e utilizam protocolos de tunelamento
que permitem o tráfego de dados de várias
fontes para diversos destinos e diferentes protocolos
em uma mesma infra-estrutura. Os protocolos de tunelamento
mais comuns são:
GRE
Os túneis criados a partir
do protocolo GRE (Generic Routing Protocol) são
configurados entre os roteadores fonte e os roteadores
destino, respectivamente chegada e saída dos
pacotes de dados. Os pacotes a serem enviados através
do túnel são encapsulados em um pacote
GRE que contém um cabeçalho onde existe
o endereço do roteador de destino. Ao chegarem
no roteador de destino, os pacotes são desencapsulados
(retirada dos cabeçalhos GRE) e seguem até
o destino determinado pelo endereço de seu
cabeçalho original.
Os túneis implementados a partir do protocolo
GRE são utilizados na interligação
de redes LAN-to-LAN e na interligação
de diferentes nós de uma mesma rede pública.
Figura 4 - Protocolo GRE
L2TP e PPTP
Ao contrário do GRE, os protocolos
L2TP e PPTP são utilizados em VPDN (Virtual
Private Dial Network), ou seja, proporcionam o acesso
de usuários remotos acessando a rede corporativa
através do conjunto de modems de um provedor
de acesso.
O L2TP é um protocolo de tunelamento compulsório,
sendo essencialmente um mecanismo para repassar o
usuário a outro nó da rede. No momento
da interligação do usuário remoto
com o provedor de acesso e após a devida autenticação
e configuração, um túnel é
estabelecido até um ponto de terminação
predeterminado (um roteador, por exemplo), onde a
conexão PPP é encerrada.
Já o PPTP é um protocolo voluntário,
permitindo que os próprios sistemas dos usuários
finais estabeleçam um túnel sem a intermediação
do provedor de acesso.
Figura 5 – Protocolos L2TP e PPTP
A Escolha do Protocolo
A escolha de qual protocolo utilizar
é baseada na determinação da
posse do controle: se o controle será do provedor
ou do usuário final. Existem diferenças
entre o L2TP e o PPTP na determinação
de quem possui o controle sobre o túnel. Na
situação onde é utilizado o protocolo
PPTP, o usuário remoto tem a possibilidade
de escolher o destino do túnel. Este fato é
importante se o destino dos pacotes muda com muita
freqüência ou se nenhuma modificação
se torna necessária nos equipamentos por onde
o túnel passa. Os túneis PPTP são
transparentes aos provedores de acesso, assim nenhuma
ação se torna necessária além
do serviço comum de prover acesso à
rede.
Usuários com perfis diferenciados com relação
a locais de acesso (cidades diferentes, estados e
países) utilizam com mais freqüência
o protocolo PPTP pelo fato de se tornar desnecessária
a intermediação do provedor no estabelecimento
do túnel. Quando é utilizado o protocolo
L2TP, ocorre uma situação diferente
com relação aos usuários e provedores.
O controle passa para o provedor e, como ele está
fornecendo um serviço extra, que não
é apenas o acesso, este serviço pode
ser tarifado.
|