OpenVPN para clientes Windows no Debian Squeeze
Usar uma VPN (Virtual Private Network) permite você compartilhar e acessar arquivos de uma rede local estando fora dela. Como o próprio nome sugere, você virtualiza a rede para conseguir fazer parte dela, conseguindo assim, até imprimir em uma impressora local que esteja na rede. E claro, você consegue trabalhar de casa, se for necessário.
Instalação
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
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
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/
#wald feelings!