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.

Te invitamos a seguir leyendo cada una de las siguientes páginas donde se detallan estos pasos:


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) [ITSoftware]:
Organizational Unit Name (eg, section) [DepartamentoIT]:
Common Name (eg, your name or your server's hostname) [test]:
Name [server]:
Email Address [me@itsoftware.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:'ITSoftware'
organizationalUnitName:PRINTABLE:'DepartamentoIT'
commonName            :PRINTABLE:'test'
name                  :PRINTABLE:'server'
emailAddress          :IA5STRING:'me@itsoftware.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

Te puede interesar leer también Tipos de Servicio OpenVPN Routed y Bridged


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.


Verficiación 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 ITSoftware SAS.

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

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.