Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
No nosso artigo utilizaremos o software livre OpenVPN para fazer os testes da VPN. O
OpenVPN foi desenvolvido por James Yonan e publicado pela GNU (General Public
Licence). um software destinado a VPN, o qual tem muitos recursos para
administrao da VPN. O OpenVPN est disponvel para vrios sistemas operacionais,
entre eles: Mac OS X, Windows Server/XP/7, Linux, Solaris e entre outros. O
OpenVPN no compatvel com o protocolo IPsec, para a autenticao entre os pontos
existe varias formas. O OpenVPN trabalha com chaves secretas compartilhadas,
autenticao de usurios com senha e autenticao com certificados. Existe uma
vantagem na utilizao desse software que a forma de transmisso dos pacotes, que
pode utilizar o protocolo UDP ou TCP, sendo que o UDP o mais adequado, porque
este protocolo transmite os pacotes diretamente, sem repetio, o que melhor para o
desempenho da rede.
Para maior segurana ser instalado junto ao OpenVPN, o OpenSSL que um software
que trabalha com os protocolos SSL e TLS, e tm a funo de criptografar. Estes
protocolos promovem a integridade e privacidade dos dados entre a comunicao das
redes, permitindo assim autenticao das duas partes envolvidas.
Instalao e configurao
Para montar a VPN utilizaremos o OpenVPN. Neste exemplo prtico, ser utilizada uma
mquina para a empresa matriz com o sistema operacional Linux Debian Squezze,
outra para o cliente que ter o sistema operacional Windows 7, e uma conexo de
internet. Aps tais procedimentos comearemos a configurao da VPN.
Instalao da Matriz
Com o Linux Instalado, vamos proceder a instalao dos pacotes necessrios para
montar nossa VPN.
Listagem 1: Fazendo a instalao do OpenVPN e do OpenSSL
# apt-get install openvpn openssl
Aps a instalao, criaremos um diretrio que receber os arquivos de configurao que
esto em uma diretrio padro:
Listagem 2: Criando um diretrio para os arquivos de configurao
# mkdir /etc/openvpn/easy-rsa
Depois de instalado, necessrio efetuar cpia dos arquivos do diretrio padro para o
diretrio que foi criado anteriormente, da seguinte forma:
# ./build-ca
Aps a execuo do build-ca, vamos criar agora a chave do servidor utilizando o
comando build-key-server seguido do nome do servidor:
Listagem 8: Criando a chave
# ./build-key-server nome do servidor
As perguntas sero as mesmas, mas pedir uma senha, que por motivos de segurana
deve ser informada. Agora, vamos criar as chaves de acesso para os usurios:
Listagem 9: Criando chaves de acesso para usurios
# ./build-key nome do usurio da vpn
Responda s opes e aceite a configurao no final com um y. Aps esta
configurao, executar o ltimo script que pode demorar um pouco a terminar no
processo:
Listagem 10: ltimo comando
# ./build-dh
Aps criar as chaves, entraremos no diretrio keys, no qual criaremos a chave:
Listagem 11: Acessando diretrio das chaves
# cd /etc/openvpn/easy-rsa/Keys
Dentro do diretrio, primeiramente vamos verificar o contedo com o comando ls e
vamos verificar se tem os certificados gerados anteriormente. Se no tiver estes
certificados, verificar o passo a passo novamente. Depois de analisar se tudo est
correto at aqui, passaremos para a criao da chave.
Listagem 12: Criao da chave
# openvpn --genkey --secret chave.key
Agora vamos criar o diretrio keys dentro do diretrio openvpn, para copiar os
certificados para este diretrio, pois no arquivo de configurao estar o caminho dos
certificados.
Listagem 13: Criando o diretrio keys
# mkdir /etc/openvpn/Keys
Este diretrio deve conter cinco chaves de acesso, so elas: chave.key, dh1024.pem,
ca.crt, servervpn.crt e servervpn.key. Para isso s copiar estas chaves que esto no
diretrio /etc/openvpn/easy-rsa/keys para o diretrio que foi criado antes.
Listagem 14: Copiando as chaves para o diretrio Keys
# cp -a /etc/openvpn/easy-rsa/keys/chave.key dh1024.pem
ca.crt servervpn.crt server.key /etc/openvpn/Keys/
Depois de criar todos os certificados e a chave, vamos digitar o arquivo principal para
detalhar a configurao da VPN, este arquivo deve ficar dentro do diretrio
/etc/openvpn, com o nome desejado pelo usurio. Neste exemplo vamos utilizar como
server.conf, as configuraes seguem abaixo:
Observao: o que tiver # so comentrios, ou seja, explicaes sobre os parmetros
descritos, portanto no h a necessidade de escrev-los no arquivo de configurao.
Listagem 15: Arquivo de configurao da VPN
# vim /etc/openvpn/server.conf
# Arquivo de configurao do OpenVPN.
proto udp # protocolo usando na conexo, pode ser udp ou
tcp.
port 1194 # porta do servio, pode ser outra porta que
estiver aberta para este tipo de comunicao.
dev tun # driver da interface de rede virtual, so
utilizadas duas interfaces virtuais a tun e a tap, a
interface virtual tap mais utilizada para o cliente
Windows.
server 10.0.0.0 255.255.255.0 # rede de ip que ser
distribuindo para os clientes vpns.
push "route 192.168.0.0 255.255.255.0" # faz com que haja
roteamento do ip local para o IP do tnel.
push "dhcp-option DNS 192.168.0.1" # IP da sua rede
#push "dhcp-option WINS 192.168.0.1" # IP da sua rede, para
redes que contenham servidores Windows.
route 10.0.0.0 255.255.255.0 # roteamento do cliente
comp-lzo # necessrio um software que faa a compactao
dos dados que so passados na rede.
keepalive 10 120 # o nmero 10 o intervalo de ping, 120
o tempo em que a vpn reiniciada, faz o monitoramento da
conexo entre servidor e cliente.
float # serve para IP dinmico, para que o tnel continue
aberto mesmo que o IP mude.
Aps estes passos, para que a segurana seja melhor e mais eficaz, devemos executar
alguns comandos no firewall. Temos uma explicao abaixo do que firewall e de como
vamos utilizar este recurso de segurana na nossa conexo da VPN.
Copiar os arquivos que esto no servidor no diretrio /etc/openvpn/easyrsa/Keys, so eles: dh1024.pem, ca.crt, usuariovpn.crt, usuariovpn.key e
chave.key. Aps isso, colar estes arquivos no diretrio que criamos
anteriormente C:\Program Files\OpenVPN\config\keys;
Lanay Marques
Primeiro lugar na Olmpiada do Conhecimento 2012 na fase Estadual, na modalidade
de Instalao e Manuteno de Redes, alm de ser Graduanda no curso de Sistemas
de Informao.