Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Implementando uma VPN<br />
A próxima etapa consistirá em configurar o servidor OpenVPN<br />
para operar segundo a modalidade que desejarmos. As configurações<br />
do servidor ficam em /etc/openvpn.<br />
Configurando servidor<br />
Em nossa configuração (host a rede) utilizaremos a modalidade<br />
de autenticação baseada em certificados digitais. Ela é uma maneira<br />
mais forte por se basear no conceito de autenticação de dois<br />
fatores (two-factor authentication): uma senha e o certificado.<br />
Desta maneira não adianta saber a senha sem ter o certificado<br />
correspondente ou ter o certificado e não saber a sua senha.<br />
Criando o Certificate Authority<br />
Assim, o primeiro passo será criar nosso cartório digital, ou<br />
Certificate Authority (CA). Esse cartório será responsável por<br />
criar os certificados para os usuários da VPN.<br />
O processo de criação de certificados é facilitado pela instalação<br />
do pacote OpenVPN, uma vez que com este pacote são instalados<br />
também pequenos programas, sob a forma de scripts, para auxiliar<br />
nessa atividade. Para criar os certificados para o seu servidor e<br />
Cliente basta seguir os passos abaixo:<br />
1. Copie o script de criação<br />
O OpenVPN instala os scripts de criação no diretório /usr/share/<br />
doc/openvpn-2.1.4/easy-rsa. Para facilitar o processo vamos copiá-lo<br />
para o diretório do root:<br />
cp -avr /usr/share/doc/openvpn-2.1.4/easy-rsa /root<br />
2. Edite o arquivo vars existente nesse diretório<br />
Esse arquivo contém diretivas de como você irá operar seu<br />
cartório digital. As configurações que devemos alterar estão no<br />
final do arquivo:<br />
export KEY_COUNTRY=”US”<br />
export KEY_PROVINCE=”CA”<br />
export KEY_CITY=”SanFrancisco”<br />
export KEY_ORG=”Fort-Funston”<br />
export KEY_EMAIL=”me@myhost.mydomain”<br />
Altere-as de acordo com a sua realidade, sendo o KEY_COUN-<br />
TRY a sigla para o país, KEY_PROVINCE o estado, KEY_CITY<br />
a cidade, KEY_ORG o nome de sua empresa (ou organização) e<br />
KEY_EMAIL o e-mail do responsável pela empresa.<br />
3. Carregue as configurações<br />
Na linha de comando, execute o comando:<br />
. vars<br />
Isso irá carregar em memória as opções definidas no arquivo vars.<br />
4. Crie o certificado para o seu CA<br />
Execute o comando:<br />
./build-ca<br />
O processo irá criar a chave e certificado para o CA, conforme<br />
a Listagem 2.<br />
60 Infra Magazine • Edição 03<br />
Em seguida é necessário criar o arquivo contendo os parâmetros<br />
para o servidor de VPN, executando o comando:<br />
./build-dh<br />
O processo é automático e acontecerá como na Listagem 3.<br />
Listagem 2. Criação do certificado do CA.<br />
Generating a 1024 bit RSA private key<br />
............++++++<br />
...........++++++<br />
writing new private key to ‘ca.key’<br />
-----<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) [KG]:<br />
State or Province Name (full name) [NA]:<br />
Locality Name (eg, city) [BISHKEK]:<br />
Organization Name (eg, company) [OpenVPN-TEST]:<br />
Organizational Unit Name (eg, section) []:<br />
Common Name (eg, your name or your server’s hostname) []:OpenVPN-CA<br />
Email Address [me@myhost.mydomain]:<br />
Listagem 3. Criando o arquivo com os parâmetros Diff-Hellfman.<br />
Generating DH parameters, 1024 bit long safe prime, generator 2<br />
This is going to take a long time<br />
.................+..............................................................+.............+.................+...........................................<br />
Ele irá criar um arquivo chamado dh1024.pem, que será usado<br />
pelo seu servidor e clientes na criação das chaves efêmeras necessárias<br />
para a criptografia do tráfego enviado e recebido 2 .<br />
Criando o certificado para o servidor de VPN<br />
Na comunicação criptografada que existe entre os dois pontos<br />
(cliente de um lado e servidor do outro) há a necessidade de que<br />
ambos os lados possuam certificados digitais. E para criar este<br />
certificado você deve usar o comando:<br />
./build-key-server server<br />
A execução do mesmo resultará em dois arquivos, server.key e<br />
server.crt. Estes serão usados apenas pelo seu servidor de VPN e<br />
não deverão ser compartilhados com ninguém.<br />
Criando o arquivo de configuração do servidor<br />
Após a definição do certificado do servidor, é necessário realizar<br />
a configuração do OpenVPN que utilizará os arquivos criados anteriormente.<br />
Para isso, devemos criar o arquivo de configuração chamado<br />
server.conf que ficará localizado no diretório /etc/openvpn.<br />
2 Chaves efêmeras fazem parte do protocolo utilizado no SSL. Para mais informações,<br />
acesse: http://bit.ly/kAQ4mD.