VPN - 04-02-09
VPN significa Virtual Private Network (Rede Virtual Privada). A VPN surgiu da necessidade de se utilizar redes de comunicação não confiáveis para trafegar informações de forma segura. O objetivo é trafegar dados entre redes WAN de forma a criar um túnel, onde o mesmo possa manter essas informações encriptadas.
E o que Norma diz sobre isso?
A VPN é considerada um sistema de acesso de usuário remotamente seguro. Portanto, é mencionada na norma no item 11.4.2, que é preciso uso de técnicas baseadas em criptografia, ou protocolo de desafio/resposta.
E o que vem a ser Tunelamento?
Uma VPN sempre se baseia no conceito de tunelamento. Essa tecnologia consiste no processo de encapsular um protocolo dentro de outro. Porém, o tunelamento utilizado em uma VPN, usa um novo componente nessa técnica: ele criptografa o pacote que será transportado antes de encapsulá-lo, afim de que ele fique ilegível caso ocorra uma interceptação do pacote no meio do caminho. Ele só retorna ao seu formato original(descriptografado e desencapsulado) quando alcança o destino desejado.
Quais são as ferramentas utilizadas, para se fazer uma VPN?
Kame: O Kame prove uma solução livre de VPN para suporte a IPSec. Esse tipo de VPN é provido pelas ferramentas ipsec-tools e racoon.
OpenVPN: O OpenVPN é uma solução de VPN que trabalha com SSL.
PPTP: É um tipo de VPN muito simples, é muito prática porem não possui fortes criptografias.
Bom, o SSL voçês já conhecem. Mas qual é o melhor: SSL ou IPSec?
Isso depende muito, IPSec trabalha em uma camada mais baixa da OSI, e o SSL trabalha na camada de Aplicação. O IPSec tem suporte em sistemas Linux, Windows, Cisco e vários outros. O SSL é mais prático para VPN’s client-to-gateway, e o IPSec tem um desempenho melhor de gateway-to-gateway. Ou seja, se você procurar na internet SSLxIPSec, você vai ter várias discussões, mas nenhuma delas é realmente melhor que a outra.
Nessa aula, vamos falar do Kame IPSec. E vamos implementar uma VPN gateway-to-gateway
Mas o que é exatamente o IPSec?
O IPSec é um protocolo padrão de camada 3, projetado IETF que trabalha como uma solução para interligar redes. Suporta vários protocolos de criptografia. Por padrão, ele provê funções de segurança como autenticação, criptografia e integridade (além de gerenciamento de chaves) em um pacote IP, depois encapsula este pacote protegido em outro pacote IP, transmitindo-o em seguida.
Os pré-requisitos de segurança no IPSec podem ser divididos em dois grupos, a serem utilizados de forma conjunta ou separda, de acordo com a necessidade de cada implementação:
- Autenticação e integridade.
- Confidencialidade.
Para implementar esses pré-requisitos, o IPSec é composto de três mecanismos:
- AH: Autentication Header - Esse é o protocolo é responsável pela autenticação.
- ESP: Encapsulation Security Payload - Esse protocolo é responsável pelo estabelecimento do túnel.
- ISAKMP - Internet Security Association and Key Management Protocol - Esse protocolo é responsável por gerenciar a troca de chaves criptografadas utilizadas para decifrar os dados no túnel.
Esses protocolos vem ativados no Kernel em todas as distribuições. Caso um dia vocês precisem recompilar o Kernel e vão montar um VPN nesse servidor, será necessário ativá-los.
Nós conseguiriamos montar uma VPN entre um Linux e um WIndows usando IPSec? Qual seria a principal barreira para não deixar isso acontecer?
As criptografias. Elas precisam ser as mesmas nas duas pontas. Pois os dois sistemas tem suporte ao IPSec, mas os dois lados tem que passar as mesmas criptograficas nas trocas de informações.
Vamos por a mão na massa. O cenário proposta é o seguinte. Temos a matriz da nossa empresa em São Paulo, que é onde fica o nosso ERP, e temos a filial no Rio de Janeiro. Queremos fazer com que essas duas redes se tornem uma só, ou seja, o pessoal do Rio tem que acessar o sistema ERP como se estivesse na mesma rede de São Paulo.
- Todos esses procedimentos, precisam ser feitos nos gateways ou em uma máquina que fará VPN e tem rotas definidas.
* Primeiro precisamos instalar os pacotes necessários nos gateways:
# aptitude install ipsec-tools racoon iproute
Quando estiverem instalado o racoon, apareça uma janela pergutando se desejam configurar via racoon-tool ou direto. Escolham a forma direta.
Agora precisamos criar um scripts, para ativar e desativar os protocolos AH e ESP que vão estabelecer o túnel da VPN.
Primeiro, vamos criar um script chamado vpn-off.sh que está postado no Netclass:
# vim vpn-off.sh
-f = file
Agora, o script vpn-on.sh que também está postado no Netclass:
# vim vpn-on.sh
Esse dois scripts, precisam ter permissão de execução:
# chmod 700 vpn-on.sh
# chmod 700 vpn-off.sh
Quando instalamos o racoon, ele criou um diretório chamado racoon dentro do /etc. Nesse diretório vamos configurar o racoon.conf, que o arquivo que define como vai ser feita a troca de criptografias entre as pontas da VPN.
Agora, precisamos acertar o arquivos psk.txt. É o arquivo onde vão ficar as chaves compartilhadas da VPN. O arquivo está postado no Netclass:
# vim psk.txt

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis tempor dui id erat. Donec commodo, nunc ac bibendum porta | 