19.11.2012 Views

Tecnologia IPV6

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).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!