You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Implementando uma VPN<br />
Configurando o cliente<br />
Como parte do processo de estabelecimento da VPN, o cliente e<br />
o servidor trocam certificados antes de iniciar a transmissão dos<br />
dados criptografados. Deste modo, é preciso criar um certificado<br />
para o cliente e sua respectiva configuração. Para isso, execute os<br />
comandos descritos a seguir:<br />
1. Criar a chave e certificado para o cliente<br />
No servidor, execute o comando build-key-pass:<br />
sh build-key-pass cliente<br />
Substitua o cliente pelo nome (ou e-mail) do usuário para o qual<br />
você estará gerando a chave.<br />
Em seguida o script irá criar a chave e pedir que você coloque<br />
uma senha, conforme a Listagem 5. Nesse momento, preferencialmente,<br />
o usuário da chave deverá estar presente para definir<br />
a sua senha.<br />
Listagem 5. Criando a chave do cliente.<br />
Generating a 1024 bit RSA private key<br />
....................++++++<br />
........++++++<br />
writing new private key to ‘cliente.key’<br />
Enter PEM pass phrase:<br />
Verifying - Enter PEM pass phrase:<br />
Listagem 6. Especificando os parâmetros do certificado do cliente.<br />
You are about to be asked to enter information that will be incorporated<br />
into your certificate request.<br />
What you are about to enter is what is called a Distinguished Name or a DN.<br />
There are quite a few fields but you can leave some blank<br />
For some fields there will be a default value,<br />
If you enter ‘.’, the field will be left blank.<br />
-----<br />
Country Name (2 letter code) [BR]:<br />
State or Province Name (full name) [EE]:<br />
Locality Name (eg, city) [CIDADE]:<br />
Organization Name (eg, company) [SUA EMPRESA]:<br />
Organizational Unit Name (eg, section) []:<br />
Common Name (eg, your name or your server’s hostname) []:email.suaempresa.<br />
com.br<br />
Email Address [adm@suaempresa.com.br]: cliente@suaempresa.com.br<br />
Please enter the following ‘extra’ attributes<br />
to be sent with your certificate request<br />
A challenge password []:<br />
An optional company name []:<br />
Feito isso, o script irá solicitar algumas informações específicas<br />
do cliente (tais como o e-mail) para incorporar no certificado a<br />
ser gerado. Na Listagem 6 vemos que o script já vem preenchido<br />
com alguns dados padrão e na prática só precisamos alterar dois<br />
valores: Common Name e Email Address.<br />
O Common Name deverá ser, apenas por questões de padronização,<br />
igual ao e-mail do cliente sem o @. Logo, se o e-mail dele for joao@<br />
suaempresa.com.br, o Common Name será joao.suaempresa.com.br.<br />
Na sequência, o próprio software irá assinar o certificado com<br />
a chave do CA que foi gerada logo no começo do processo. Na<br />
62 Infra Magazine • Edição 03<br />
Listagem 7 o script repete os dados entrados e solicita a sua<br />
confirmação.<br />
No final desse processo o script terá criado dois arquivos chamados<br />
de cliente.key e cliente.crt, ambos no diretório keys do servidor.<br />
1. Copiar os arquivos para a máquina do cliente<br />
Nas etapas anteriores foram criados vários arquivos que serão<br />
usados pelo cliente. Como estes foram gerados no servidor, será<br />
necessário copiar os arquivos ca.crt, cliente.key, cliente.crt e dh1024.<br />
pem do diretório keys do servidor para a máquina do cliente.<br />
Você deverá colocá-los no diretório do OpenVPN. Dependendo<br />
da versão do Windows instalado, ele poderá mudar, mas o local<br />
padrão é C:\Program Files\OpenVPN\config.<br />
2. Criar o arquivo de configuração<br />
A etapa final do processo consiste em criar o arquivo de configuração<br />
para a sua VPN. Para tanto, basta usar o bloco de notas e criar<br />
um arquivo em C:\Program Files\OpenVPN\config\empresa.ovpn.<br />
O nome em si não é importante, desde que a extensão .ovpn seja<br />
mantida. O programa que controla a VPN lê todos os arquivos<br />
.ovpn do diretório acima e os exibirá como opção para conexão.<br />
Em nosso caso, criaremos o arquivo conforme a Listagem 8.<br />
Listagem 7. Assinando o certificado do cliente.<br />
Using configuration from /root/easy-rsa/openssl.cnf<br />
Check that the request matches the signature<br />
Signature ok<br />
The Subject’s Distinguished Name is as follows<br />
countryName :PRINTABLE:’BR’<br />
stateOrProvinceName :PRINTABLE:’EE’<br />
localityName :PRINTABLE:’CIDADE’<br />
organizationName :PRINTABLE:’SUA EMPRESA’<br />
commonName :PRINTABLE:’cliente.suaempresa.com.br’<br />
emailAddress :IA5STRING:’cliente@suaempresa.com.br’<br />
Certificate is to be certified until Jun 13 01:50:04 2012 GMT (365 days)<br />
Sign the certificate? [y/n]:y<br />
1 out of 1 certificate requests certified, commit? [y/n]y<br />
Write out database with 1 new entries<br />
Data Base Updated<br />
Listagem 8. Arquivo de configuração do cliente.<br />
client<br />
dev tun<br />
proto udp<br />
remote 200.243.68.1 1194<br />
resolv-retry infinite<br />
nobind<br />
ca “C:\\Program Files\\OpenVPN\\config\\ca.crt”<br />
cert “C:\\Program Files\\OpenVPN\\config\\cliente.crt”<br />
key “C:\\Program Files\\OpenVPN\\config\\cliente.key”<br />
cipher BF-CBC<br />
verb 3<br />
comp-lzo<br />
O arquivo do cliente é mais simples que o do servidor, repetindo-o<br />
em alguns pontos, como as diretivas proto e dev.<br />
A primeira diferença entre os arquivos de configuração do<br />
cliente e do servidor é que estamos configurando o OpenVPN<br />
para atuar em modo cliente (client).