Crear Certificados Cliente OpenVPN y trasladarlos a Windows

Certificados Cliente OpenVPN
Certificados Cliente OpenVPN

Este procedimiento tiene como objetivo indicar los pasos para la creación de certificados cliente OPENVPN, para ser instalados en máquinas Windows, con el cliente estándar de OpenVPN.

1. Conexión por SSH al servidor OPENVPN.

Se puede usar un cliente como Putty, para conectarnos al servidor de OpenVPN:

En este ejemplo se realiza la conexión al puerto 22 de la IP 192.168.1.57.

Conectándose por ssh al servidor OpenVPN
Conectándose por ssh al servidor OpenVPN

 

2. Ingreso con el usuario normal

Se ingresa con las credenciales del usuario normal (por ejemplo pharma) y su contraseña respectiva:

Ingreso con usuario normal a OpenVPN Server

Introducimos el siguiente comando:

sudo -i

Y ahora ingresamos la contraseña de sudo del usuario ingresado:

Conexión con sudo al servidor openvpn
Conexión con sudo al servidor openvpn

Quedamos ahora en el modo root:

Modo root en Openvpn server
Modo root en Openvpn server

Introducimos los comandos:

cd  ~/openvpn-ca/

source ./vars

./build-key test     (test es un nombre de usuario de ejemplo, dando por respuesta lo siguiente)

Please edit the vars script to reflect your configuration,

  then source it with "source ./vars".

  Next, to start with a fresh PKI configuration and to delete any

  previous certificates and keys, run "./clean-all".

  Finally, you can run this tool (pkitool) to build certificates/keys.

root@pharma-PowerEdge-T100:~/openvpn-ca# source ./vars

NOTE: If you run ./clean-all, I will be doing a rm -rf on /root/openvpn-ca/keys

root@pharma-PowerEdge-T100:~/openvpn-ca# ./build-key test

Generating a 2048 bit RSA private key

.........+++

...............................................................................................................+++

writing new private key to 'test.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) [CO]:^C

root@pharma-PowerEdge-T100:~/openvpn-ca# ./build-key test

Generating a 2048 bit RSA private key

...............................................................................+++

....................+++

writing new private key to 'test.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) [CO]:

State or Province Name (full name) [CU]:

Locality Name (eg, city) [Bogota]:

Organization Name (eg, company) [FireOS]:

Organizational Unit Name (eg, section) [DepartamentoIT]:

Common Name (eg, your name or your server's hostname) [test]:

Name [server]:

Email Address [me@fireos.com.co]:
 

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

Using configuration from /root/openvpn-ca/openssl-1.0.0.cnf

Check that the request matches the signature

Signature ok

The Subject's Distinguished Name is as follows

countryName           :PRINTABLE:'CO'

stateOrProvinceName   :PRINTABLE:'CU'

localityName          :PRINTABLE:'Bogota'

organizationName      :PRINTABLE:'FireOS'

organizationalUnitName:PRINTABLE:'DepartamentoIT'

commonName            :PRINTABLE:'test'

name                  :PRINTABLE:'server'

emailAddress          :IA5STRING:'me@fireos.com.co'

Certificate is to be certified until Jul  4 23:32:16 2027 GMT (3650 days)

Sign the certificate? [y/n]:Y

 
1 out of 1 certificate requests certified, commit? [y/n]y

Write out database with 1 new entries

Data Base Updated

 

Nota: Damos ENTER a cada una de las opciones que tiene un corchete [] y Si (Y) a las últimas dos opciones.

En la carpeta ~/openvpn-ca/keys quedan guardados tres archivos con el nombre que le hayamos puesto, en el ejemplo anterior lo llamamos test, entonces los archivos son:

test.crt

test.csr

test.key

 

3. Traslado de los certificados:

Ahora los certificados deben ser movidos a un usuario que tenga acceso remoto, en este ejemplo el usuario que tiene acceso remoto es pharma.

Vamos a la carpeta donde quedaron los certificados:

cd ~/openvpn-ca/keys

Copiamos los archivos generados a la carpeta /home/pharma/keys  (en este ejemplo los archivos de certificado tienen por nombre test):

cp test.* /home/pharma/keys/

chown -R pharma:root  /home/pharma/keys/

 

Conectamos ahora un cliente ftp, como WinSCP, para descargar los archivos:

Ingreso con winscp al servidor OpenVPN
Ingreso con winscp al servidor OpenVPN

Ingresamos con el usuario y la contraseña.

En home de usuario remoto OpenVPN Server
En home de usuario remoto OpenVPN Server

Nos ubicamos en la carpeta key:

En keys de usuario remoto OpenVPN Server
En keys de usuario remoto OpenVPN Server

Y ya podemos entonces bajar los tres archivos a una ubicación precisa.

Estos tres archivos se juntan con los otros archivos comunes para la VPN, y se distribuyen al usuario respectivo:

Certificados Cliente OpenVPN
Certificados Cliente OpenVPN

Estos archivos de certificados Cliente OpenVPN se ubican en el cliente conforme se indica en el artículo Instalación del Cliente OpenVPN.

  

VERIFICACION DEL SERVICIO OPENVPN

 El servicio de OpenVPN lo podemos monitorear si hay algún problema, mediante los siguientes comandos:

  • Estado del servicio
/etc/init.d/openvpn status

 

  • Reinicio del servicio
/etc/init.d/openvpn restart

 

El sistema OpenVPN permite establecer túneles seguros para el intercambio de información desde redes remotas, con redes LAN corporativas. Por eso es amplio su uso para manejar la seguridad de la información de una empresa, cuando sus empleados necesitan acceder a ella de forma remota.

 

Este artículo hace parte del sistema de divulgación de conocimiento de FireOS SAS.

Si te gustó, por favor no olvides compartirlo en las redes sociales. Thks 😉

Comentarios

Por favor comenta aquí

Deja un comentario