Você está na página 1de 12
OpenVPN Virtual Private Network ­ VPN Este cap í tulo estuda as implementa çõ es

OpenVPN

Virtual Private Network ­ VPN

Este capí tulo estuda as implementações de Redes privadas Virtuais ­VPN ­, um dos serviços fundamentais para garantir segurança entre duas ou mais redes privadas interligada pela Internet.

1. Introduç ã o

VPN – Virtual Private Network ­ A Rede Privada Virtual foi criada para interligar duas redes privadas atrav é s da Internet de forma segura. Sabemos que as máquinas com endere ç o IP n â o v á lido podem acessar a Internet atrav é s de um Proxy ou IP masquerade, entretanto existem uma impossibilidade t é cnica para que m áquina de uma rede privada comuniquem com m áquinas de outra rede privada atrav é s da Internet. A VPN permite esta funcionalidade atrav é s de um tunel estabelecido entre duas m áquinas destas redes que possuam IP v á lidos.

Al é m de estabelecer comunicaçã o entre duas redes privadas, as VPNs garantem autenticidade de

dados, sigilo de informa çã o, controle de acesso atrav é s de criptografia do tr á fego de informa çã o entre uma rede e outra. Esta garantia é obtida atrav é s de criptografia, ou seja, todo dado que trafegar de uma rede para outra ser á criptografado independente de qual aplica çã o for utilizada. Ent ã o podemos concluir que se uma pessoa executar telnet ou qualquer outra aplica çã o que n ã o criptografe seu dados

de uma rede para outra estar ã o seguros na Internet.

2. Pr é ­requisitos para implementa ç ã o

Para implementa çã o da VPN é necess á rio que as duas pontas da rede tenham IP v álido, ou seja, para interligar duas redes ser á necess á rio dois endere ç os v á lidos, para interligar tr ê s redes ser á necessá rio tr ê s IP v álidos e assim por diante.

3. Ferramentas disponíves para implementa ç ã o

Existem v á rias ferramentas diponíveis para Linux atualmente, entre elas temos o freeswan e o openvpn. Estas ser ã o as ferramentas usadas neste material.

O freeswan é a implementa çã o do protocolo IPSec, protocolo suportado por v á rios sistemas

operacionais incluindo Linux e Windows.

Openvpn

­ É um servi ç o que roda sobre a camada de aplicaçã o, podendo ser utilizados em

Seja um Profissional Aprendendo com Profissionais

www.3way.com.br

OpenVPN plataformas: Linux, FreeBSD, OpenBSD, NetBSD, Windows 2000/XP, Solaris e Mac OS X. Um outro

OpenVPN

plataformas: Linux, FreeBSD, OpenBSD, NetBSD, Windows 2000/XP, Solaris e Mac OS X.

Um outro protocolo bastante utilizado em ambiente Windows é o PPTP – Point to Point Tunneling Protocol .

4. Arquitetura de VPNs

As VPNs podem ser estruturadas de tr ê s formas :

1. Host­>Host; O objetivo desta arquitetura é estabelecer apenas um canal seguro entre as duas
1.
Host­>Host; O objetivo desta arquitetura é estabelecer apenas um canal seguro entre as duas
m
áquinas, pois as mesmas j á devem se comunicarem.
Fig1. Diagrama de exemplo de arquitetura VPN utilizando a configura çã o Host­>Host.
2.
Host­>Network; O objetivo deste é permitir um host externo comunicar com a rede privada. Est á

estrutura geralmente é utilizada quando deseja­se de sua casa comunicar com sua empresa.

quando deseja­se de sua casa comunicar com sua empresa. Fig2. Diagrama de exemplo de arquitetura VPN

Fig2. Diagrama de exemplo de arquitetura VPN utilizando a configura çã o Host­>Network

3. Network­>Network; Esta arquitetura permite que duas redes se comuniquem. Exemplo: voc ê tem

uma matriz em Goi â nia­GO e uma filial em Brasilia­DF e quer comuicar as duas redes privadas por meio da VPN.

Seja um Profissional Aprendendo com Profissionais

www.3way.com.br

OpenVPN Fig3. Diagrama de exemplo de arquitetura VPN utilizando a configura çã o Network­>Network 5.

OpenVPN

OpenVPN Fig3. Diagrama de exemplo de arquitetura VPN utilizando a configura çã o Network­>Network 5. Seguran

Fig3. Diagrama de exemplo de arquitetura VPN utilizando a configura çã o Network­>Network

5. Seguranç a e VPN

É importante saber a partir de que ponto em cada arquitetura os dados realmente est ã o seguros. Sabemos que para cada arquitetura de VPN est ã o envolvidas duas máquinas onde é estabelecido o canal seguro. Todos os dados que saem desta m áquina é vai at é a outra ponta desta m áquina é

criptografado. Vamos agora analizar a terceira arquitetura de VPN – Network­>Network: Observe que

h á tr ê s est á gio no tr áfego da informa çã o:

1. Primeiro os dados saem de um cliente na rede privada 1 e vai at é o roteador ­ Primeira ponta da

VPN.

2. Os dados s ã o criptografados e roteados no roteador VPN e caminham at é a outra ponta da VPN

3. Na segunda ponta da VPN, os dados s ã o decriptografados e reencaminhados para o cliente de

destino na rede privada 2.

Vejamos como isto acontece:

de destino na rede privada 2. Vejamos como isto acontece: Seja um Profissional Aprendendo com Profissionais

Seja um Profissional Aprendendo com Profissionais

www.3way.com.br

OpenVPN Fig4. Ilustra ç ã o do processo de envio de informa ç ã o

OpenVPN

Fig4. Ilustraç ã o do processo de envio de informa ç ã o atrav é s de uma VPN

Podemos observar que a informa ç ao somente é segura ç a entre os dois pontos da VPN. Assim se uma intruso dentro da rede rodar um sniffer ir á conseguir obter os dados em texto limpo – cleartext ­ caso a aplicação usada n ã o seja segura.

Portanto, VPN garante a seguran ç a da informa çã o entre as duas pontas, ou seja, garante que toda infoma ção quando trafegar na Internet e tiver destino a outra rede privada seja criptografado. Tamb é m deve­se ressaltar que toda informa çã o que passe pelo roteador VPN e n ã o tenha destino à outra rede privada n ã o ser á criptografada, o tratamento do pacote ser á normal.

6. Implementa ç ã o OpenVPN

O OpenVPN é um servi ç o que trabalha na camada de aplica çã o por meio de uma porta.

6.1 Caracter í sticas do OpenVPN

O OpenVPN tamb ém permite interligar os tr ê s tipos de arquitetura, utilizando para isto uma interface

serial virtual, denominada tun0 primeira interface, tun1 segunda interface.As conex õ es VPN s ã o estabelecidas ponto­a­ponto de forma que seja necess á rio um sistema de rota para que as duas redes possam comunicar.

Todos os dados trafegados s ã o criptografados utilizando o algoritmo Blowfish.

6.2 Instalando o OpenVPN

O software do openVPN pode ser obtido em: http://www.openvpn.net

baixado no diret ó rio /usr/local/src,

abaixo:

O c ó digo fonte pode ser

onde deve ser descompactado conforme o comando

#tar xvfz openvpn­2.0.9.tar.gz ­C /usr/local/src/

Este comando ir á gerar o diret ó rio openvpn.

ú ltima vers ã o era a vers ã o 2.0.9. Para compilar o OpenVPN, entre no diret ó rio gerado e execute:

No momento em que escrevemos este material a

#cd /usr/local/src/openvpn­2.0.9 #./configure ­­disable­lzo

Seja um Profissional Aprendendo com Profissionais

#make #make install OpenVPN Caracteriza çã o das m á quinas: M á quina torre:

#make

#make install

OpenVPN

#make #make install OpenVPN Caracteriza çã o das m á quinas: M á quina torre: Endere

Caracterização das m áquinas:

M

áquina torre:

Endere ç o IP:

eth0: 200.1.2.3

má scara : 255.255.255.0

eth1: 10.1.0.1

m áscara: 255.255.0.0

tun0: 192.168.0.1

má scara: 255.255.255.255

M

áquina dama:

Endere ç o IP:

eth0: 200.163.1.79 m áscara : 255.255.255.0

eth1: 10.2.0.1 tun0: 192.168.0.2

m áscara: 255.255.0.0 má scara: 255.255.255.255

6.3 Configurando o OpenVPN

6.3.1 Configura çã o do servidor OpenVPN

M áquina torre

A configuracã o do servidor OpenVPN dever ser feita da seguinte forma:

Criar diretó rio de trabalho:

#mkdir /etc/openvpn

Seja um Profissional Aprendendo com Profissionais

www.3way.com.br

OpenVPN Ap ó s a cria çã o do diret ó rio /etc/openvpn devemos copiar

OpenVPN

Ap ó s a cria ção do diret ó rio /etc/openvpn devemos copiar os arquivos de configura çã o que est ã o na pasta de instala çã o.

#cp sample­config­files/static­office.conf /etc/openvpn/torre­dama.conf #cp sample­config­files/office.up /etc/openvpn/torre.up

A seguir edite o arquivo /etc/openvpn/torre­dama.conf e altere as seguintes op çõ es:

ifconfig 192.168.0.1 192.168.0.2

cd

/etc/openvpn

up

./torre­dama.up

secret static.key port 5000 proto tcp­server

Todas as altera çõ es acima s ã o baseadas no computador torre que foi definido como servidor OpenVPN. Vejamos o significado de cada op çã o:

ifconfig 192.168.0.1 192.168.0.2

Esta op ção determina qual o endere ç o IP utilizado no servidor 192.168.0.1 e no cliente

192.168.0.2 para a interface tun0.

cd /etc/openvpn

Esta op ção determina em qual diret ó rio estar á contido os arquivos de configura çã o e as chaves utilizadas para a conex ã o VPN.

up ./torre­dama.up

Est á op ção determina qual o arquivo ser á executado quando o daemon do openvpn for ativo. Neste

arquivo deve­se conter as rotas utilizadas para conex ã o entre redes.

secret static.key Esta op ção determina qual o nome do arquivo chave utilizado para realizar a checagem dos hosts que iram estabelecer o tú nel VPN.

port 5000 Esta op ção determina qual a porta utilizada para estabelecer a conex ã o VPN. Para cada novo cliente que for realizar a conex ã o com este servidor devermos adicionar uma nova porta, afim de evitar conflitos.

proto tcp­server Est á op ção determina a caracter í stica cliente­servidor deste computador, quando utilizado o par â metro server, est á m áquina dever á ser obrigatoriamente o servidor VPN, enquanto o outro ponto VPN deverá ser cliente, ou seja utilizar o param ê tro proto tcp­client.

Ap ó s a edi ção do arquivo de configura çã o, devemos editar o arquivo de rotas, afim de definir e

Seja um Profissional Aprendendo com Profissionais

www.3way.com.br

OpenVPN carregar as rotas ao iniciar o daemon do openvpn. #vi /etc/openvpn/torre­dama.up #!/bin/sh route add

OpenVPN

carregar as rotas ao iniciar o daemon do openvpn.

#vi /etc/openvpn/torre­dama.up

#!/bin/sh

route add ­net 10.2.0.0/16 gw 192.168.0.2

6.3.2 Gera çã o de chaves de criptografia no OpenVPN

Para gerar chaves de criptografia utiliza­se o comando openvpn. O OpenVPN possui dois tipos de chaves de criptografia que pode ser utilizado para garantir a seguran ça entre as duas pontas da VPN, que s ã o chaves est áticas e chaves din â micas.

Para os dois tipos de formato de arquivo, a id é ia é a seguinte: as chaves s ã o geradas no servidor e deve ser repassada para o cliente. Novamente, chamamos a aten çã o do leitor para a forma com que ser á feita a transmiss ã o desta chave, pois est á chave é a garantia de sua seguran ça.

Para gerar chaves do tipo est ática devemos executar o seguinte comando:

#openvpn ­­genkey ­­secret static.key

O formato da chave gerado pode ser verificado no arquivo gerado.

#cat static.key ­­­­­BEGIN OpenVPN Static key V1­­­­­

e5e4d6af39289d53

171ecc237a8f996a

97743d146661405e

c724d5913c550a0c

30a48e52dfbeceb6

e2e7bd4a8357df78

4609fe35bbe99c32

bdf974952ade8fb9

71c204aaf4f256ba

eeda7aed4822ff98

fd66da2efa9bf8c5

e70996353e0f96a9

c94c9f9afb17637b

283da25cc99b37bf

6f7e15b38aedc3e8

e6adb40fca5c5463

­­­­­END OpenVPN Static key V1­­­­­

Ap ó s a gera ção da chave devemos mover este arquivo para a pasta /etc/openvpn/ , e em seguida passar este arquivo para o outro roteador.

Seja um Profissional Aprendendo com Profissionais

www.3way.com.br

OpenVPN #cp static.key /etc/openvpn 6.3.3 Configura çã o do cliente OpenVPN M á quina dama

OpenVPN

#cp static.key /etc/openvpn

6.3.3 Configura çã o do cliente OpenVPN

M áquina dama

A configura ção do cliente OpenVPN é muito similar ao servidor OpenVPN.

Criar diretó rio de trabalho:

#mkdir /etc/openvpn

Ap ó s a cria ção do diret ó rio /etc/openvpn devemos copiar os arquivos de configura çã o que est ã o na pasta de instala çã o.

#cp sample­config­files/static­home.conf /etc/openvpn/dama­torre.conf #cp sample­config­files/home.up /etc/openvpn/dama.up

A seguir edite o arquivo /etc/openvpn/dama­torre.conf e altere as seguintes op çõ es:

ifconfig 191.168.0.2 192.168.0.1

cd

/etc/openvpn

up

./dama­torre.up

secret static.key

port 5000 proto tcp­client

Ap ó s a edi ção do arquivo de configura çã o, devemos editar o arquivo de rotas, afim de definir e carregar as rotas ao iniciar o daemon do openvpn.

#vi /etc/openvpn/dama­torre.up

#!/bin/sh

route add ­net 10.1.0.0/16 gw 192.168.0.1

Copiando o arquivo static.key do servidor ( torre ) para o nosso cliente ( dama )

#scp 200.1.2.3:/etc/openvpn/static.key /etc/openvpn

6.4 Inicializa ç ã o do serviç o OpenVPN

A inicialização do servi ç o pode ser feita manualmente ao atrav é s de um script de inicializaçã o, para

Seja um Profissional Aprendendo com Profissionais

www.3way.com.br

inici á ­lo manualmente. Na m á quina TORRE execute: OpenVPN #openvpn ­­ config /etc/openvpn/torre­dama.conf

inici á ­lo manualmente. Na máquina TORRE execute:

OpenVPN

#openvpn ­­ config /etc/openvpn/torre­dama.conf ­­ daemon

Na máquina DAMA execute:

#openvpn ­­ config /etc/openvpn/dama­torre.conf ­­ daemon

Observe que, ao inicializar o servi ç o, é possível verificar a nova interface serial do OpenVPN atrav é s do comando ifconfig.

#ifconfig tun0

tun0

Encapsulamento do Link: SLIP VJ

inet end.: 192.168.0.1 P­a­P:192.168.0.2 Masc:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 M é trica:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0

compactados:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 colis ões:0 compactados:0

RX bytes:0 (0.0 b)

TX bytes:0 (0.0 b)

6.5 Testes pós­implementaç ã o

Depois que todos os passos acima foram seguidos, é hora de verificar o funcionamento da VPN, o primeiro teste é verificar o principal arquivo de log do syslog, o arquivo /var/log/message.

#ping 192.168.0.2

Onde 192.168.0.2 é o IP da interface serial VPN do outro roteador.

Outro teste interessante é executar um sniffer em qualquer dos roteadores VPN, o sniffer apresentar á conex õ es na porta 5000. Para verificar se realmente os dados est ã o sendo criptografados execute um ftp na interface serial do outro roteador e verifique os dados em tr â nsito. Isto pode ser bem observado utilizando o sniffit.

Nota:Como este teste está sendo realizado de um roteador para o outro roteador, você deve utilizar, no ftp ou qualquer outra aplicação, a interface VPN do outro roteador, caso você utilize o IP da interface ethernet ou qualquer outra interface, os dados não irão fluir via VPN, e consequentemente não haverá criptografia.

Nota: A configuração das máquina da rede interna é baseada em apenas uma rota padrão para roteador VPN.

o

Seja um Profissional Aprendendo com Profissionais

www.3way.com.br

OpenVPN Links Indicados http://www.freeswan.org – Site oficial do freeswan . Este endere ç o disponibiliza

OpenVPN

Links Indicados

http://www.freeswan.org – Site oficial do freeswan. Este endere ç o disponibiliza download, documenta çã o e FAQ.

Http://www.vpnc.org ­ Virtual Private Network Consortium é uma associa çã o internacional para

fabricante no mercado de VPN. Este site disponibiliza documenta çã o, exemplo e listas de email sobre

v á rias tecnologia voltada para VPN.

http://www.ietf.org/html.charters/ipsec­charter.html– Neste endere ç o s ã o encontradas as principais RFC – Request For Comments.

http://www.wlan.uib.no/vpn­linux.html – Este site fornece software e documenta çã o para implementa ção do PPTP no Linux.

http://www.linuxdoc.org – Possue v á rios HOWTOs e FAQs sobre VPN. Fornece alguns exemplo de configuração de VPN com firewall.

http://openvpn.net ­ Site oficial do OpenVPN. Possue download, FAQ e documenta çã o incluindo exemplos sobre o OpenVPN.

Seja um Profissional Aprendendo com Profissionais

www.3way.com.br

OpenVPN Terminologia utilizada IP masquerade – Tem a fun çã o de compartilhar a Internet,

OpenVPN

Terminologia utilizada

IP masquerade – Tem a fun çã o de compartilhar a Internet, disponibilizando recurso da Internet para rede interna.

Proxy – Traduzido como intermedi á rio ou procurador. Tem a fun çã o de compartilhar a Internet assim como o IP masquerade, entretanto utiliza de conex õ es TCP para tal objetivo.

IP válido – Endere ç o IP utilizado na Internet, ou seja, IP que conecta uma m áquina diretamente na Internet sem a necessidade de servi ç os como IP masquerade ou Proxy. Tamb ém é chamado de IP

p ú blico

IP não válido – Endere ç o IP utilizado em redes privadas. Para que esta m áquina acesse a Internet, ela precisa necessariamente de servi ç os como: IP masquerade ou Proxy.

Túnel – Canal criptografado onde ser á transmitido os dados de forma segura.

Sniffers – Traduzido como farejaradores. S ã o ferramentas utilizadas para capturar os dados em

tr â nsito na rede.

Criptografia simé trica – Tipo de criptografia onde a chave para criptografar é a mesma chave para descriptografar.

Criptografia assimé trica – Tipo de criptografia que utiliza de um par de chave – chave pú blica e privada. Neste tipo de criptografia as chaves para criptografar e descriptografar s ã o diferentes.

Pingar – Termo oriundo do comando ping utilizado para testar a comunica çã o entre computadores.

Left – Roteador VPN definido na diretiva left do arquivo ipsec.conf

Right – Roteador VPN definido na diretiva righ do arquivo ipsec.conf

Daemon – Pode ser entendido como servi ç o: daemon vpnd é o mesmo que servi ç o vpnd

Seja um Profissional Aprendendo com Profissionais

www.3way.com.br

OpenVPN Exerc í cios de Revis ã o 1. Quais os dois principais objetivos de

OpenVPN

Exerc ícios de Revis ã o

1. Quais os dois principais objetivos de uma VPN?

2. Quais as principais ferramentas de implementa çã o de VPN? Site quais sistemas operacionais s ã o

suportados por estas ferramentas.

3. Comente sobre os tr ê s tipos de arquiteturas de VPN. Quando uma m áquina de uma rede interna

comunicar com outra m áquina de outra rede interna, em quais etapas desta comunicaçã o em que os dados n ã o se encontram criptografados pela VPN – Considere a arquitetura Network­>Network.

4. O freeswam implementa qual protocolo? Explique como este protocolo funciona dentro da pilha de

protocolo TCP/IP.

5. Explique literalmente o processo de instala çã o do freeswan a partir de seu c ódigo fonte.

6. Quais s ã o os arquivos utilizados na configura çã o do freeswan? Explique tamb ém quais os tipos de

criptografia s ã o suportados pelo freeswan.

7. Qual a diferen ç a entre o Freeswan e o OpenVPN?

8. Descreva literalmente o princ í pio de configura çã o do OpenVPN? Apresente as principais op çõ es

que devem ser alteradas no arquivo de configura çã o do OpenVPN.

9. Crie um exemplo de arquitetura de rede e apresente os comandos de roteamento necess á rios para

estabelecer conectividade entre as duas redes privadas. Mostre como estas rotas podem ser executadas

automaticamente pelo OpenVPN.

Seja um Profissional Aprendendo com Profissionais

www.3way.com.br