Creación de llaves para OpenVPN
Llaves RSA
Las llaves RSA son un tipo de criptografía asimétrica que se utiliza para asegurar la comunicación y proteger la información. La criptografía asimétrica se basa en la utilización de dos llaves: una pública y otra privada. La llave pública se puede compartir abiertamente, mientras que la llave privada debe mantenerse en secreto. Cuando se envía un mensaje cifrado con la llave pública, solo puede ser descifrado con la llave privada correspondiente. De esta manera, si alguien intercepta el mensaje, no podrá leerlo sin conocer la llave privada.
El presente manual se emite exclusivamente como instrumento de apoyo para las áreas competentes en la administración, custodia, y soporte de equipos de cómputo local (laptops o computadoras) para cumplimentar la solicitud de soporte de infraestructura para el trámite de acceso por VPN mediante la creación de Llaves RSA. Este documento es de carácter práctico, queda bajo total responsabilidad de los clientes el: uso, aseguramiento, resguardo, mantenimiento, y tratamiento de los artefactos generados. El equipo de infraestructura se deslinda de cualquier intervención o solicitud de soporte para la: ejecución, implementación o supervisión de procedimientos a equipos locales por quedar fuera del tramo de responsabilidad, limitando su participación a la atención de la disponibilidad del servicio de autenticación, autorización y conectividad al servicio de VPN y la subsecuente conectividad entre los servicios de TIC soportados dentro de la misma.
Creación de llaves por tipo de sistema Operativo
flowchart TD
id1["<b>¿Qué tipo de Sistema Operativo tengo?</b>"]
id1 -->id2[<a>Windows</a>]
id1 -->id3[<a>Linux</a>]
id1 -->id4[<a>Mac</a>]
click id2 href "/clientes/manuales/llavesrsa-manual/#windows"
click id3 href "/clientes/manuales/llavesrsa-manual/#linux"
click id4 href "/clientes/manuales/llavesrsa-manual/#mac"Windows
Ésta guía está basada en Windows XP para fines demostrativos.
Obtener cliente de OpenVPN
- Obtener el cliente de openvpn que mejor se adapte al sistema operativo y versión actual
La versión 2.4.9 ha sido reportada como no compatible).
- Ejecute el instalador de su sistema operativo de acuerdo a los procedimientos intrínsecos de la misma.
Asegúrese de instalar los componentes de OpenSSL.
Acepte las alertas de seguridad cuando su SO le pregunte si desea instalar los drivers no seguros.
- Finalice instalación
Pasos previos
- Mueva el directorio easy-rsa a una ruta fácil de administrar.
c:\Archivos de programa\OpenVPN>move easy-rsa ../../
- Genere un directorio de llaves
c:\Archivos de programa\OpenVPN\easy-rsa>mkdir keys
Creación de llave privada
NUNCA COMPARTA EL .key FILE
- Para construir su llave privada utilice el siguiente comando:
openssl req -days 365 -nodes -new -keyput keys/name.lastnamen
Enviar CSR para firmar
- Deberá de enviar su CSR a firmar de acuerdo al formato 2. CREACIÓN O ACTUALIZACIÓN DE CERTIFICADOS DE USUARIO
- Se le regresarán dos archivos: su certificado firmado y la CA. Instale el certificado de la CA en el repositorio de certificados de su sistema operativo.
Arranque y Validación de VPN
- Después de instalar el certificado de la CA, la firma del certificado que se le entregó será marcado como “de confianza”.
- Edite y almacene el archivo de configuración.
- Una vez que haya guardado dicho archivo de click en “Start OpenVPN on this config file”
- Podrá apreciar una conexión exitosa si las rutas de la vpn son agregadas a su sistema.
Linux
Generar Llave privada
ARCHIVO PRIVADO - ¡NO COMPARTIR NUNCA!
openssl genrsa -des3 -out nombre.apellido.key 4096
En linux, después de generar el key, de preferencia se deben cambiar los permisos para sólo lectura del usuario de creación.
chmod 600 nombre.apellido.key
Generar llave pública
Se debe utilizar la llave privada creada en el punto anterior
ssh-keygen -y -f nombre.apellido.key > nombre.apellido.pub
Generar CSR
Generar el archivo CSR para solicitar acceso por VPN y SSH
openssl req -out nombre.apellido.csr -key nombre.apellido.key -sha256 -new
Un ejemplo de llenado es el siguiente:
| Organization Name(Company) | Grupo Carso |
| Organizational Unit Name (department, division) | Gerencia de Sistemas |
| Email Address | correo@correocorporativo.com |
| Locality Name (city, district) | CDMX |
| Country Name (2 letter code) | MX |
| Common Name (hostname, IP, or your name) | Julio Florencio Cortázar |
Verificar el archivo
Para CSR
openssl rsa -in nombre.crt -noout -text
para .key
openssl rsa -in nombre.key -noout -text
El valor de módulo debe ser igual, también se puede verificar las primeras 6 letras y las últimas 6, deben de coincidir.

















