OpenVPN em Linux
Neste artigo procurarei mostrar como se monta uma VPN - Virtual Private Network - no Linux, independente de distribuição, de uma maneira simples e didática usando o OpenVPN.
Parte 3: Configurando o OpenSSL
Agora chegamos em uma parte um pouco mais complicada, mas também nenhum bicho de sete cabeças.
Primeiro vamos lidar com a segurança, por isso o pacote openSSL, ele cria certificados de segurança, como os usados em páginas de banco para aumentar a segurança dos dados transferidos de uma máquina para outra.
Então vamos lá, encontre o arquivo openssl.cnf, neste exemplo ele está dentro de /etc/ssl, mas se precisar localizá-lo digite:
# find / -name openssl.cnf
Agora vamos editá-lo:
# vi openssl.cnf
Dentro dele procure por [ CA_defaults ] - fica logo no começo do arquivo e altere as respectiva linha como no exemplo:
Primeiro vamos lidar com a segurança, por isso o pacote openSSL, ele cria certificados de segurança, como os usados em páginas de banco para aumentar a segurança dos dados transferidos de uma máquina para outra.
Então vamos lá, encontre o arquivo openssl.cnf, neste exemplo ele está dentro de /etc/ssl, mas se precisar localizá-lo digite:
# find / -name openssl.cnf
Agora vamos editá-lo:
# vi openssl.cnf
Dentro dele procure por [ CA_defaults ] - fica logo no começo do arquivo e altere as respectiva linha como no exemplo:
dir = /etc/ssl/certificados # Where everything is kept
certificate = $dir/my-ca.crt # The CA certificate
private_key = $dir/my-ca.key # The private key
certificate = $dir/my-ca.crt # The CA certificate
private_key = $dir/my-ca.key # The private key
Saia do arquivo e salve com o comando :wq.
Agora dentro do diretório /etc/ssl, crie o diretório "certificados" com o comando:
# mkdir certificados
Acesse o mesmo:
# cd certificados
e digite:
# touch index.txt
# echo 01 > serial
Ótimo, agora vamos criar o certificado e a chave ainda dentro do diretório /etc/ssl/certificados, digite:
# openssl req -nodes -new -x509 -keyout my-ca.key -out my-ca.crt -days 365
Generating a 1024 bit RSA private key
...........................................++++++
....++++++
writing new private key to 'my-ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:BR --> Preencha os campos todos com letra maiuscula
State or Province Name (full name) [Some-State]:SP
Locality Name (eg, city) []:JAÚ
Organization Name (eg, company) [Internet Widgits Pty Ltd]:INET
Organizational Unit Name (eg, section) []:VPN
Common Name (eg, YOUR name) []:PAULO
Email Address []:PILAO51@HOTMAIL.COM
Feito isso, vamos executar mais um comando, sempre dentro do diretório /etc/ssl/certificados. Para terminar a criação do certificados e chaves:
# openssl dhparam -out dh.pem 1024
Pronto! Fase completa.
Jul 3 10:36:34 ADES openvpn[2647]: OpenVPN 2.0.7 i686-pc-linux [SSL] [LZO] built on Jul 3 2006
Jul 3 10:36:34 ADES openvpn[2647]: IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA. OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
Jul 3 10:36:34 ADES openvpn[2647]: WARNING: --ping should normally be used with --ping-restart or --ping-exit
Jul 3 10:36:34 ADES openvpn[2647]: Cannot open dh.pem for DH parameters: error:02001002:system library:fopen:No such file or directory: error:2006D080:BIO routines:BIO_new_file:no such file
Jul 3 10:36:34 ADES openvpn[2647]: Exiting
Obrigado
Rafael