Você está na página 1de 3

Instalado Open VPN

Aptitude update
Aptitude install openvpn
Modprobe tun
Echo tun >> /etc/modules

Mcedit /etc/init.d/rc.firewall “ descomentar as linha OpenVPN e mudar a porta de 5000 para 1194”

Criando VPNs usando chaves estáticas


A forma mais simples de configurar o OpenVPN é utilizar chaves estáticas, onde um arquivo contendo um algoritmo de
encriptação é usado pelas duas partes para encriptar os dados transmitidos através da VPN.

Nesse modo, você gera uma arquivo de texto no servidor, contendo a chave de encriptação e precisa apenas copiá-la para o
cliente e fazer uma configuração rápida para criar a VPN. Se você quer apenas criar uma VPN doméstica, ou criar uma VPN
temporária entre duas redes, esta é a configuração recomendada.

O grande problema em utilizar uma chave estática é que, como o nome sugere, a mesma chave é utilizada sessão após sessão,
sem nunca mudar. Com isso, existe uma pequena possibilidade de um atacante obstinado conseguir quebrar a VPN usando um
ataque de força bruta. Como a chave é um arquivo de texto, que é armazenado tanto no cliente quanto no servidor, existe
também a possibilidade de alguém conseguir copiá-lo, caso tenha acesso físico a uma das máquinas. Outra limitação é que
usando uma chave estática o servidor suportará a conexão de um único cliente por VPN.

Para VPNs com vários clientes, ou em redes empresariais, onde a segurança é prioridade, é recomendável utilizar uma estrutura
baseada em certificados X509, como veremos no tópico seguinte.

Vamos então à configuração de nossa primeira VPN. Para este exercício inicial, recomendo que utilize duas máquinas da rede
local, que não tenham firewall ativo. Depois de entender melhor como o sistema funciona, passaremos para uma configuração
mais elaborada.

O primeiro passo é gerar o arquivo com a chave, no servidor. O arquivo deve ser gerado dentro do diretório "/etc/openvpn" (o
diretório padrão de configuração), de forma que acessamos o diretório antes de executar o comando que gera a chave:
# cd /etc/openvpn
# openvpn --genkey --secret static.key

Isso gerará o arquivo "static.key", que contém a chave de encriptação que será usada para criar a conexão. Ele é um arquivo de
texto simples, que contém uma chave de 2048 bits, como em:

#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
0600d007988a59c6f7895884d336d445
2679fd3d2c0b9e0b777b4da92ab97043
... (mais 13 linhas)
e871ed9077185a2a6904e67cd0869e15
-----END OpenVPN Static key V1-----

Este arquivo deve ser copiado para a pasta "/etc/openvpn" do cliente, usando (por exemplo) o SFTP. Você pode usar também um
pendrive, ou outra mídia de uso local, mas não é recomendável enviá-lo por meios não seguros (e-mail por exemplo), já que
qualquer um que tenha acesso ao arquivo poderá se conectar à sua VPN ou desencriptar todo o tráfego transmitido através dela.

Para acessar o servidor (a partir do cliente) via SFTP, use o comando "sftp ip" para se conectar e, em seguida, use os comandos
"cd /etc/openvpn" e "get static.key" para fazer a cópia, como em:

# cd /etc/openvpn
# sftp root@192.168.1.101

Password:
sftp> cd /etc/openvpn
sftp> get static.key
Fetching /etc/openvpn/static.key to static.key
sftp> quit

Com o arquivo contendo a chave presente nas duas máquinas, falta criar os arquivos de configuração que serão usados pelo
OpenVPN. Neste exemplo, criarei o arquivo "/etc/openvpn/server.conf" no servidor e o arquivo "/etc/openvpn/client.conf" no
cliente. Os nomes podem ser diferentes, mas os arquivos devem ser criados dentro da pasta "/etc/openvpn" e devem terminar
com a extensão ".conf"

O arquivo "/etc/openvpn/server.conf", no servidor, fica com o seguinte conteúdo:


dev tun
ifconfig 10.0.0.1 10.0.0.2
secret static.key

A linha "ifconfig 10.0.0.1 10.0.0.2" inclui os endereços que serão usados pelas interfaces virtuais da VPN, no servidor e no cliente.
No exemplo, o servidor utilizará o endereço "10.0.0.1" e o cliente o endereço "10.0.0.2". Você pode utilizar outros endereços se
preferir. O importante é que os endereços utilizados na VPN devem ser sempre diferentes dos endereços usados na rede local.

A linha "secret static.key" especifica o arquivo com a chave de encriptação, que criamos no passo anterior. Não esqueça de
alterar a linha caso o nome do arquivo seja diferente.

Em seguida, vem o arquivo "/etc/openvpn/client.conf", que deve ser criado no cliente:

remote 192.168.1.101
dev tun
ifconfig 10.0.0.2 10.0.0.1
secret static.key

A primeira linha especifica o endereço IP do servidor. No exemplo, estou utilizando um endereço de rede local, já que estamos
apenas testando a VPN, mas, em um exemplo real de uso, você utilizaria o endereço IP de Internet do servidor ou (ao utilizar
uma conexão com IP dinâmico) um domínio virtual utilizado por ele. Se você ainda não tem um, acesse o no-ip.com ou o
dyndns.org e faça o registro.

Com os arquivos de configuração criados, inicializar a VPN é incrivelmente simples. Você precisa apenas reiniciar o serviço
"openvpn" tanto no cliente quanto no servidor, usando o comando:

# /etc/init.d/openvpn restart

Ao ser iniciado, o serviço procura por arquivos ".conf" dentro do diretório "/etc/openvpn" e inicia as VPNs configuradas
automaticamente (desde que o serviço esteja configurado para subir durante o boot, o que é feito por padrão na maioria das
distribuições). Isso não apenas simplifica a configuração, mas faz com que a VPN passe a ser automaticamente restabelecida a
cada boot. Para desativá-la, basta parar o serviço:

# /etc/init.d/openvpn stop

Você pode, também, ativar o OpenVPN manualmente, usando (como root) o comando:

# openvpn --config /etc/openvpn/client.conf

(onde o "client.conf" é o arquivo de configuração que será usado)

Este comando manual permite acompanhar as mensagens de inicialização e de conexão, o que ajuda a descobrir o que está
errado em casos em que a VPN não funciona, embora a configuração pareça estar correta.

Se a VPN é usada pelos clientes apenas esporadicamente, você pode criar um ícone no desktop, ou um pequeno script contendo o
comando, para que o usuário possa se conectar à VPN apenas quando precisar. Outra opção é instalar o kvpnc
(http://home.gna.org/kvpnc/), um cliente gráfico que pode ser usado para se conectar a VPNs baseadas em diversos protocolos,
incluindo o OpenVPN:

Depois de estabelecida a VPN, o cliente passará a ter uma nova interface de rede, a "tun0", com o endereço IP "10.0.0.2", que
funciona como um link ponto-a-ponto com a interface "tun0" do servidor, que recebe o endereço "10.0.0.1":
Teste a conexão usando o ping, ou acessando algum serviço disponível no servidor, como em:

# ssh 10.0.0.1

Depois do teste inicial, você pode fazer um teste realizando a conexão via Internet (você pode usar uma conexão discada ou
outra conexão temporária no cliente para fazer o teste). Para isso, você vai precisar apenas alterar a configuração no cliente,
adicionando o endereço de internet do servidor, como em:

remote guiadohardware.no-ip.org
dev tun
ifconfig 10.0.0.2 10.0.0.1
secret static.key

Não se esqueça de reiniciar o OpenVPN para que a alteração entre em vigor:

# /etc/init.d/openvpn restart

Você também pode gostar