Creación de llaves para OpenVPN

Llaves RSA

Info

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.

Note

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

Note

Ésta guía está basada en Windows XP para fines demostrativos.

Obtener cliente de OpenVPN

  1. Obtener el cliente de openvpn que mejor se adapte al sistema operativo y versión actual
Note

La versión 2.4.9 ha sido reportada como no compatible).

imagen01 imagen01

  1. Ejecute el instalador de su sistema operativo de acuerdo a los procedimientos intrínsecos de la misma.

imagen02 imagen02

Note

Asegúrese de instalar los componentes de OpenSSL.

imagen03 imagen03

Note

Acepte las alertas de seguridad cuando su SO le pregunte si desea instalar los drivers no seguros.

imagen04 imagen04

imagen05 imagen05

  1. Finalice instalación

imagen06 imagen06

Pasos previos

  1. Mueva el directorio easy-rsa a una ruta fácil de administrar.

c:\Archivos de programa\OpenVPN>move easy-rsa ../../

  1. Genere un directorio de llaves

c:\Archivos de programa\OpenVPN\easy-rsa>mkdir keys

Creación de llave privada

Warning

NUNCA COMPARTA EL .key FILE

  1. Para construir su llave privada utilice el siguiente comando:

openssl req -days 365 -nodes -new -keyput keys/name.lastnamen

imagen07 imagen07

Enviar CSR para firmar

  1. Deberá de enviar su CSR a firmar de acuerdo al formato 2. CREACIÓN O ACTUALIZACIÓN DE CERTIFICADOS DE USUARIO

imagen08 imagen08

  1. 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.

imagen09 imagen09

imagen10 imagen10

imagen11 imagen11

imagen12 imagen12

imagen13 imagen13

Arranque y Validación de VPN

  1. Después de instalar el certificado de la CA, la firma del certificado que se le entregó será marcado como “de confianza”.

imagen14 imagen14

  1. Edite y almacene el archivo de configuración.

imagen15 imagen15

  1. Una vez que haya guardado dicho archivo de click en “Start OpenVPN on this config file”

imagen16 imagen16

  1. Podrá apreciar una conexión exitosa si las rutas de la vpn son agregadas a su sistema.

imagen17 imagen17

imagen18 imagen18

Linux

Generar Llave privada

Warning

ARCHIVO PRIVADO - ¡NO COMPARTIR NUNCA!

openssl genrsa -des3 -out nombre.apellido.key 4096
Note

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

Note

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
Note

El valor de módulo debe ser igual, también se puede verificar las primeras 6 letras y las últimas 6, deben de coincidir.

MAC