Instalando o OpenVPN
Todo ambiente foi testado na distribuição
Debian Squeeze.
Em primeiro lugar, vamos atualizar o APT:
# apt-get update
# apt-get upgrade
Agora fazemos a instalação do
OpenVPN e do
OpenSSL, para poder gerar os certificados.
# apt-get install openvpn openssl
Após a instalação, temos que criar uma pasta dentro da pasta "openvpn" em
/etc/openvpn, chamada "easy-rsa".
Então execute:
# mkdir /etc/openvpn/easy-rsa
Agora temos que copiar todos os scripts para o diretório "openvpn" para ficar mais fácil a administração da VPN e suas chaves.
Execute
# cp -rp /usr/share/doc/openvpn/examples/easy-rsa/2.0/. /etc/openvpn/easy-rsa/
Pronto, agora estamos prontos para configurar nossas chaves de acesso, tanto do cliente como do servidor.
O próximo passo é editar o arquivo "vars" dentro do diretório
/etc/openvpn/easy-rsa/.
No final do arquivo, temos as seguintes informações:
# Don't leave any of these fields blank.
export KEY_COUNTRY="Brasil" # SEU PAIS
export KEY_PROVINCE="Sao Paulo" # SUA CIDADE
export KEY_CITY="Sao Paulo" # SUA CIDADE
export KEY_ORG="Sua Empresa" # SUA EMPRESA
export KEY_EMAIL="Seu e-mail" # O E-MAIL DO ADMINISTRADOR
Troque estas informações pelas suas, da sua empresa no caso.
Então execute:
# nano vars
Faça as alterações, salve e saia.
Agora, dentro do diretório
easy-rsa/, execute o seguinte:
# source vars
* Uma coisa muito importante antes de criar qualquer certificado novo, ou quando você alterar qualquer informação dentro desse arquivo "vars", você precisa executar esse comando, para as informações serem lidas novamente.
Por padrão, os certificados são gerados para expirar de 10 em 10 anos, muito tempo, mas se você quiser alterar este tempo, é só editar o arquivo "vars", e na opção:
# In how many days should certificates expire?
export KEY_EXPIRE=3650 # DIAS QUE DURAM SEU CERTIFICADO
Nesta opção você limita o número de dias que seu certificado será válido. Não esqueça de executar o comando
source vars quando salvar e sair.
Agora vamos criar uma nova pasta dentro do diretório
easy-rsa, chamada "keys". Nesta pasta ficarão todos os certificados criados para os clientes.
Execute:
# mkdir /etc/openvpn/easy-rsa/keys
Agora temos que criar os certificados raiz que ficará no servidor, para isso, no diretório
/etc/openvpn/easy-rsa, temos o script "build-ca", entre nesse diretório:
# cd /etc/openvpn/easy-rsa
Execute o seguinte:
# ./build-ca
Saída do comando:
Country Name (2 letter code)
State or Province Name (full name)
Locality Name (eg, city) [SUACIDADE]:
Organization Name (eg, company)
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:
Email Address [seuemail@seudominio.com.br]:
Este script vai pedir uma série de informações sobre a sua região, é só seguir o padrão do arquivo "vars" que foi editado lá no começo.
Feito isso, dentro da pasta "keys", terão 4 arquivos:
- ca.crt
- ca.key
- index.txt
- serial
Dentro do mesmo diretório "easy-rsa", temos que executar o seguinte script "build-key-server", este script será a chave do servidor, no caso, mais uma camada de segurança para seus dados.
Então execute:
# ./build-key-server NOME DO SEU SERVER
Este script vai pedir uma senha que será sempre solicitada quando o usuário for fechar a VPN, vai do seu nível de segurança colocar ou deixar em branco.
No final o script, vai perguntar se você deseja realmente assinar o certificado, se você preencheu as informações corretas pressione:
y
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Agora, finalmente vamos criar as chaves de acesso para os usuários
No mesmo diretório "easy-rsa", execute o seguinte script:
# ./build-key usuariodavpn
Este certificado pedirá algumas informações, assim que informar todas as informações corretas, aperte o
Y para confirmar.
Ele também pedirá uma senha, se quiser colocar, fique à vontade.
Reforçando a segurança
Agora vamos reforçar a segurança da VPN.
Dentro do Diretório "easy-rsa", execute o seguinte script:
# ./build-dh
Aguarde terminar. Em seguida, vamos criar uma assinatura de uma chave secreta para a troca de informações. Então execute:
# cd /etc/openvpn/easy-rsa/keys
E depois:
# openvpn - -genkey - -secret chave.key
Estes 2 scripts geraram as chaves de segurança no diretório
/etc/openvpn/easy-rsa/keys
Pronto, agora vamos criar o seguinte diretório:
# mkdir /etc/openvpn/keys
Dentro deste diretório, temos que copiar algumas chaves de acesso para ele, são elas:
- dh1024.pem
- ca.crt
- servervpn.crt
- servervpn.key
- chave.key
Estas chaves foram criadas dentro do diretório
/etc/openvpn/easy-rsa/keys, é só copiar todas para o novo diretório criado em
/etc/openvpn/keys
# cp -a /etc/openvpn/easy-rsa/keys/dh1024.pem ca.crt servervpn.crt servervpn.key chave.key /etc/openvpn/keys/