Construindo e Integrando VPNs utilizando IPSec



A   Virtual   Private   Networks   (VPN)   é   uma   das   maneiras   de   unir   empresas geograficamente dispersas, onde se utilize um meio publico para o tráfego dos dados entre as redes, como a Internet. O mecanismo fundamental que permite ter uma comunicação segura na Internet é a noção de túneis.  Tendo um túnel podemos deixá-lo seguro através de criptografia e autenticação de dados que trafegam por ele, recriando então a mesma segurança que tínhamos em linhas privadas alugadas ou
proprietárias. Com o objetivo de prover uma comunicação segura através de uma rede pública intermediária, as VPNs tem por base dois conceitos básicos: a criptografia e o
tunelamento. Uma rede VPN é formada freqüentemente por um conjunto de tecnologias algumas das principais serão descritas a seguir.

               Tunelamento
Segundo Rezende [2004] a técnica de tunelamento é utilizada para criar uma “conexão virtual, que causa impressão ao usuário de estar conectado diretamente à rede privada e não a uma infra-estrutura pública. Sendo assim, consiste em encapsular um tipo de pacote dentro de um outro pacote para facilitar algum tipo de vantagem no transporte de uma informação dentro da rede. Este é um mecanismo que permite utilizar a infra-estrutura de rede intermediária para tráfego de dados entre duas redes distintas. Não importando o protocolo dos dados transferidos, podendo ser pacotes do mesmo protocolo ou distintos.  O tunelamento é capaz de resolver um problema bastante   comum,   que   seria   a   necessidade   de   enviar   trafego   pela   Internet,
diferentemente do tráfego IP, como, por exemplo, pacotes do tipo NetBEUI ou IPX, pois, através do tunelamento esses pacotes podem ser encapsulados por pacotes IP. Desta maneira, o tunelamento fornece um mecanismo para que outros protocolos, além do IP, possam também ser transmitidos através de uma VPN  [Guimarães 2006].

        Autenticação
Autenticação é a técnica na qual o processo verifica se o parceiro de comunicação diz ser quem realmente é, e não um impostor, através da utilização de protocolos de autenticação, que geralmente implementam algoritmos hash. Mesmo se a mensagem estiver criptografada, a razão de se autenticá-la deve-se ao fato da prevenção de ataques do tipo Replay.

          Criptografia
Segurança e confidencialidade dos dados são requisitos primordiais para qualquer VPN. Uma das razões principais em escolher IPsec como sua tecnologia VPN e a confidencialidade dos dados gerados por qualquer esquema de criptografia. Um algoritmo criptográfico, também chamado cifrador (cipher), é uma função matemática usada para criptografar e descriptografar. Chamamos de plaintext o texto original e ciphertext o texto embaralhado ou criptografado [Wouters 2006].

           Ipsec
IPSEC (IP Security Protocol) é um conjunto de protocolos que define a arquitetura e as especificações para prover serviços de segurança dentro do protocolo IP.  Foi padronizado para garantir interoperabilidade, mecanismo de criptografia para o IPv4 e Ipv6.   IPSec também define um conjunto de serviços de segurança, incluindo integridade dos dados, autenticação, confidencialidade e limite de fluxo de trafego. Oferece estes serviços independentemente do algoritmo de criptografia usado, pois possui uma arquitetura aberta no sentido de possibilitar  a inclusão de outros algoritmos de autenticação e criptografia. [Silva 2003].


           Protocolos IPSEC
Seu objetivo é prover serviços de segurança para pacotes IP na camada de rede. Entre eles estão controle de acesso, integridade dos dados, proteção contra ataques do tipo modificação (replay) e confidencialidade dos dados.


             Authentication Header
O protocolo AH (Authentication Header) adiciona autenticação e integridade, ou seja, garante a autenticidade do pacote e também que este não seja alterado durante a transmissão. Pode ser usado no modo transporte ou no modo túnel. Previne ataques do tipo Replay, ou seja, quando uma pessoa mal intencionada captura pacotes válidos e autenticados pertencentes a uma conexão, replica-os e os reenvia, como se fosse à entidade que iniciou a conexão. Também previne ataques do tipo Spoofing, ou seja,
quando o invasor assume o papel de uma entidade confiável para o destino e, desta forma, ganha privilégios na comunicação [Sarlo 2003]. O AH adiciona autenticação, porém não trata a confidencialidade, portanto os dados que estão trafegando na rede estarão   intactos   e   desprotegidos,   podendo   ser   capturados   por   alguém   mal-intencionado. A confidencialidade é tratada pelo protocolo ESP (Encapsulation
Security Payload).

               Encapsulation Security Payload
O protocolo de Encapsulamento Seguro do Dado, fornece autenticação, confidencialidade das informações por meio da criptografia e proteção de replay. O algoritmo de criptografia utilizado é configurado na AS,  na qual o pacote IP é enviado. Como o pacote IP é um datagrama, cada pacote deve conter informações necessárias  para  estabelecer  o sincronismo  da criptografia,  permitindo que a descriptografia ocorra na entidade de destino [Sarlo 2003]. Se nenhum algoritmo de criptografia for utilizado, o que é uma situação possível no padrão, o protocolo ESP só oferecerá o serviço de autenticação.

            Modo Transporte
No Modo de Transporte apenas o segmento da camada de transporte é processado, autenticado e criptografado. O cabeçalho ESP é inserido entre o Cabeçalho IP e os Dados, adicionando os campos Dados de Autenticação e Segmento de
Autenticação. Se o pacote original já tiver um cabeçalho de segurança IPSec, ou seja, se for um pacote da AS, este novo cabeçalho será colocado antes do cabeçalho IPSec já
construído. Da mesma forma que o protocolo AH, como o cabeçalho original é mantido no novo pacote, o modo Transporte do ESP só pode ser usado entre servidores ou hosts [Rezende 2004].

             Modo Túnel
Neste modo todo o pacote IP é autenticado e criptografado, para isso todo pacote original é colocado dentro de um novo pacote, sendo gerado um novo cabeçalho ESP, bem como adiciona os campos Dados de Autenticação. Se o túnel for
estabelecido entre dois servidores ou hosts, os endereços destinos e origem do novo cabeçalho serão os mesmos do cabeçalho criptografado dentro do pacote. Se o túnel for feito entre gateways, como roteadores ou firewall, os endereços de origem e destino do novo cabeçalho serão dos gateways e os endereços dentro do pacote criptografados serão dos hosts ou servidores atrás dos gateways [Sarlo 2003].

                 Resultados Obtidos
Os testes e resultados obtidos, foram feitos utilizandoem um dos gateways VPN deste cenário foi instalado o software Wireshark , versão 0.99.5, para analisar e filtrar o tráfego de comunicação deste gateway foi possível acompanhar o estabelecimento da sessão ISAKMP, IPSEC e a comunicação criptografada.

            Estabelecimento da sessão
Há uma captura de tela do programa Wireshark, filtrando o protocolo ISAKMP e monitorando o estabelecimento de uma SA. É possível verificar que consta todos os passos para o estabelecimento da sessão, tais como o modo principal (Main Mode), este modo fará a troca de chaves Diffie-Hellman. Após o modo principal (Main Mode) estiver estabelecido, começará a “Fase 2” também chamada de “Quick Mode (modo rápido)”, está fase envolve acordos entre as duas pontas da VPN em vários parâmetros criptográficos tais como qual cifrador e
algoritmo usar, por quanto tempo a chave que estabeleceu a sessão pode ser válida e qual protocolo (AH ou ESP) e modo (Transporte ou Túnel) usar.

         Sessão FTP
Outra situação que se verificou o funcionamento da VPN é no estabelecimento de uma sessão FTP . No wireshark mostra o payload  selecionado está criptografado, assim como todos os outros pacotes transmitidos nesta sessão.

              Teste de desempenho utilizando o utilitário ping
Em testes realizados para avaliar o desempenho da solução VPN, houve uma análise dos tempos de respostas dos pacotes em uma conexão VPN. Verificou-se que os tempos de resposta estavam bem próximos à de um cenário sem o estabelecimento
de uma conexão VPN (sem criptografia e autenticação).

              Teste de desempenho utilizando a ferramenta Time
Realizou-se também testes utilizando a ferramenta time para cronometrar o tempo de transferência de um arquivo de um cliente da rede A para um cliente da rede B. A ferramenta time  é usada junto com um comando, neste caso o cp . Quando o
comando termina, é mostrado informações sobre recursos utilizados por este comando, tais como tempo de execução e processamento da CPU.

                Conclusão
Este trabalho se propôs a estudar e mostrar como implementar uma VPN baseada na Internet, bem como implementar um experimento de uma infra-estrutura de VPN utilizando ferramentas livres, tais como Linux utilizando o aplicativo Openswan   que   implementa   o   protocolo   IPSEC,   detalhando   aspectos   de   suas configurações, além de analisar a funcionalidade e segurança da mesma. Foram analisadas e discutidas algumas topologias de rede e serviços como Firewall que combinados podem ser utilizados em uma infra-estrutura VPN. As VPNs são cada vez mais pesquisadas e implementadas em organizações, sejam privadas ou governamentais, em diversos ambientes. Os principais motivos desta procura estão ligados a segurança e economia no tráfego das informações. Porém está economia no tráfego das informações não pode ser comprovada nos experimentos. O IPSEC como o conjunto de protocolos se mostrou mais adequado para suportar soluções VPN entre redes corporativas. Esse é um dos protocolos mais bem sucedidos, aceito por grande número de especialistas e com inúmeras aplicações. Mas uma de suas limitações é que ele apenas autentica computadores e não usuários. A   instalação   do   aplicativo   Openswan   não   possui   mistérios,   mas   sua
configuração é relativamente complexa, pois possui uma vasta gama de opções a serem analisadas e testadas, porém é facilitada com a vasta documentação e suporte de alguns desenvolvedores da ferramenta. O Openswan mostrou ser extremamente capaz de gerenciar os túneis VPNs, mas infelizmente ele tem uma certa complexidade ao ser configurado em ambientes aonde possua modems utilizando NAT (Network Address Translation).

Autor: Graziele Oliveira Alves


Artigos Relacionados


"amo Você."

Maior LiÇÃo De Vida

Longe De Ti

SolidÃo...

"amor E Vida"

Faces

Divagando