terça-feira, 9 de agosto de 2011

VPN - Virtual Private Network

Senhores,
Iremos tocar no assunto importante hoje, a Segurança dentro da Internet.
Imaginem os senhores o transtorno de uma empresa que precisa abrir o acesso aos seus equipamentos ou mesmo a sua rede interna, na Internet, porque não pode contar com os seus funcionários sempre, as 24hs dentro de suas dependência, para o acesso seguro de sua rede!
Para problemas como esse, temos soluções de segurança de TI chamadas VPN:
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.

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. 

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.

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.

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

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. 
 

Implementações de VPN

Uma ligação segura pode ser estabelecida utilizando VPN’s que podem ser divididas em ponto-a-ponto (site-to-site) e de acesso remoto (remote access) (ver figura 3). Em uma rede privada virtual o compartilhamento da infra-estrutura ocorre inclusive no que se refere a circuitos dedicados.
Os principais tipos de VPN’s são:

1. VPN formada por circuitos virtuais discados;
2. VPN formada por circuitos virtuais dedicados;
3. VPN utilizando a Internet;
4. VPN IP fornecida por um provedor com backbone IP.


1. Conexão por Acesso Discado


A implementação de um acesso discado VPN é semelhante a uma conexão dial-up entre dois computadores em localidades diferentes. A diferença é que os pacotes são transferidos por um túnel e não através da simples conexão discada convencional. Por exemplo, um usuário em trânsito conecta-se com um provedor Internet através da rede pública de telefonia (RTPC) e através dessa conexão estabelece um túnel com a rede remota, podendo transferir dados com segurança.

Acesso Discado

 2. Conexão por Link de Acesso Dedicado
 
O acesso por link dedicado, interligando dois pontos de uma rede, é conhecido como LAN-to-LAN. No link dedicado as redes são interligadas por túneis que passam pelo backbone da rede pública. Por exemplo, duas redes se interligam através de hosts com link dedicado, formando assim um túnel entre elas.

Acesso Via Link Dedicado
 
3. Conexão via Internet
O acesso é proporcionado por um provedor de acesso Internet (ISP) conectado à rede pública. A partir de túneis que passam pela Internet, os pacotes são direcionados até o terminador do túnel em um nó da rede corporativa. Atualmente a maneira mais eficiente de conectar redes por meio da Internet é através de um link dedicado de acesso como o ADSL. Basta que as redes disponham de uma conexão dedicada como esta para que a VPN possa ser montada. 

Acesso Via Internet

4. Conexão por VPN IP


Existem alguns tipos de VPN IP disponibilizadas pelas próprias operadoras de serviços de telecomunicações. A diferença entre uma e outra está nos tipos de serviços disponibilizados para o usuário:

• VPN IP baseada na rede da operadora (network-based IP VPN) – totalmente gerenciada pelo provedor de serviços. A tecnologia (ou lógica) fica sob responsabilidade da operadora. No cliente é instalado apenas um roteador e configurado o serviço;

• VPN IP com gestão de CPE’s (Managed CPE-based IP VPN) – o provedor de serviços instala e gerencia os CPE’s (Customer Premises Equipments) que são os elementos de rede que ficam nas instalações do cliente, além de todos os outros dispositivos de conectividade;

• VPN IP solução in-house – nesse caso a empresa adquire equipamentos de um fabricante e o link para a conectividade com a operadora, sendo de sua responsabilidade a implantação e o gerenciamento da VPN.

A VPN IP oferece ainda a possibilidade de se realizar a comutação dos túneis aumentando a flexibilidade de configuração da rede corporativa. Pode-se configurar diversos destinos baseados no usuário. Neste caso, um usuário de um setor da empresa pode ser interligado somente com o servidor específico daquele setor, enquanto que um fornecedor que deseja consultar os estoques atuais de produtos, deve ter acesso apenas ao servidor que contêm esta base de dados.

VPN IP


Segurança

A utilização da Internet como infra-estrutura de conexão entre hosts de uma rede privada é uma solução em termos de custos, mas não em termos de privacidade. A Internet é uma rede pública, logo os dados em trânsito podem ser interceptados e lidos.

Incorporando técnicas de criptografia na comunicação entre hosts da rede privada de forma que, se os dados forem capturados durante a transmissão, não possam ser decifrados, esses problemas de segurança são minimizados. Como mencionado, são criados túneis virtuais que habilitam o tráfego de dados criptografados pela Internet, capazes de manipular os dados criptografados, formando uma rede virtual segura sobre a rede pública.
Os dispositivos responsáveis pelo gerenciamento da VPN devem ser capazes de garantir a privacidade, a integridade e a autenticidade dos dados transmitidos. Assim são necessários cuidados especiais com relação aos usuários que acessam a rede e com os dados que trafegam entre os diversos nós da WAN:

• Autenticação dos usuários - permite ao sistema enxergar se a origem dos dados faz parte da comunidade que pode exercer acesso a rede;

• Controle de acesso - visa negar acesso a um usuário que não está autorizado a acessar a rede como um todo, ou simplesmente restringir o acesso de usuários;

• Confidencialidade - visa prevenir que os dados sejam lidos e/ou copiados durante o trânsito através da rede pública. Desta forma, pode-se garantir uma maior privacidade das comunicações dentro da rede virtual;

• Integridade de dados - garante que os dados não serão adulterados. Os dados podem ser corrompidos ou algum tipo de vírus pode ser implantado com finalidades diversas.

As tecnologias e protocolos de segurança mais utilizados em redes VPN são os seguintes:

• CHAP – Challenge Handshake Authentication Protocol;

• RADIUS – Remote Authentication Dial-in User Service;
• Certificados Digitais;
• Encriptação de Dados.

Os três primeiros protocolos visam autenticar usuários e controlar o acesso na rede. O último visa prover confidencialidade e integridade aos dados transmitidos.


Custos


Existem vários aspectos que podem ser observados em termos de custos entre as redes corporativas tradicionais e redes que utilizam VPN. Uma rede tradicional é baseada normalmente na conexão por links dedicados de banda larga (512Kbps ou mais), custos mensais fixos (instalação, manutenção, etc) e utilização de diversos equipamentos. Já as redes baseadas em VPN utilizam um único link, com uma banda menor (128Kbps ou 256Kbps, tipicamente) e, conseqüentemente, com custos de manutenção menores.
A tabela seguinte apresenta uma comparação entre os dois tipos de redes:

Rede Tradicional VPN
Diversos links de comunicação Apenas um link de comunicação
Custos mensais fixos, tarifas por km (degrau) Custo mensal variável
Vários equipamentos contratados para acesso Poucos equipamentos de acesso
Servidores dedicados para acesso Acesso remoto via ISP
Comparação entre Rede tradicional e VPN



As redes VPN também são facilmente escalonáveis em relação aos links dedicados. Para se interconectar um ponto adicional de conexão na rede, o provedor de serviço providencia a instalação do link local e respectiva configuração dos poucos equipamentos na rede do cliente. Do mesmo modo pode ser providenciado junto ao provedor um aumento da banda do link visando melhorias no desempenho da rede.
O gerenciamento dessa rede normalmente é feito pelo próprio usuário VPN, sendo que as alterações processadas (endereçamento, autenticação, privilégios de acesso, etc) são feitas de forma transparente ao provedor de serviço, proporcionando uma maior flexibilidade.


Exemplos de utilização


A implantação de uma VPN permite a comunicação entre redes de pontos distintos, como duas filiais de uma empresa, por exemplo, de forma transparente e segura, formando uma única rede virtual. Outros casos de aplicação de VPN’s são os seguintes:

• Empresas com filiais ou escritórios distantes entre si, onde cada escritório tenha uma intranet própria e exista a necessidade de unificar essas redes em uma só rede virtual;

• Funcionários que trabalham fora da empresa e necessitam de uma conexão discada para entrar na rede da empresa de forma segura;

• Empresas que desejam interligar sua rede com seus fornecedores ou clientes de uma forma mais direta. Permite, por exemplo, que uma empresa acesse diretamente o Banco de Dados da outra;

• Qualquer empresa ou pessoa que queira unir duas redes privadas remotas, através de um meio público com segurança e privacidade.


Conclusão


A principal motivação para a implantação de Redes Privadas Virtuais ainda é a financeira: links dedicados são caros, principalmente quando as distâncias são grandes. Entretanto, aspectos como segurança e flexibilidade na instalação, aliados ao baixo custo de implantação são outros benefícios importantes que devem ser igualmente analisados na escolha da tecnologia.
É importante salientar ainda que adotar uma tecnologia baseada em VPN não é a solução para a melhoria da qualidade da comunicação entre duas redes. Se a qualidade dos meios de comunicação for ruim, continuará ocorrendo o reenvio de pacotes, o que tornará lenta a comunicação. Nos casos onde a velocidade é um aspecto fundamental, outras soluções combinadas com a VPN poderão ser necessárias para atender essa necessidade.
De qualquer modo, uma VPN é sempre uma alternativa interessante para as empresas que desejam garantir a agilidade e a integridade do seu negócio pela na transmissão segura e confiável de suas informações, mantendo seus custos com comunicações em patamares aceitáveis.

-----------
É isso gente, depois de um bom tempo sem atualizar, espero ter contribuido um pouco mais para a informação a respeito de segurança dentro da Web!

Abraços!