Certificados nginx client

Para nosotros

  1. Generamos la key
    openssl genrsa -des3 -out ca.key 4096
  2. Creamos nuestro certificado CRT con esa llave. Tendremos que responder varias preguntas que deben ser las mismas que si en un futuro lo queremos renovar (la renovación es la generación en sí de uno nuevo)
    Generar
    openssl req -new -x509 -days 365 -key ca.key -out ca.crt

    Ver información introducida
    openssl x509 -in ca.crt -noout -text

Para cada cliente

  1. Generamos la key para el cliente
    openssl genrsa -des3 -out ayuntamientoquesea.key 4096
  2. Generamos su certificado CSR. Hay que responder varias preguntas; responde a cada una, incluido el nombre común (CN) y la dirección de correo electrónico.
    openssl req -new -key ayuntamientoquesea.key -out ayuntamientoquesea.csr
  3. Firmar el CSR con nuestro certificado y llave. Por lo general, hay que incrementar el número de serie con cada firma. Una vez que el certificado caduca, no es necesario volver a crear una nueva CSR; se puede firmar el mismo, lo que creará un nuevo certificado vinculado a esa clave pública. Si queremos 14 meses serían 410 días.
    openssl x509 -req -days 365-in ayuntamientoquesea.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out ayuntamientoquesea.crt
  4. Crear el PFX que pueda importar el usuario en el navegador
    openssl pkcs12 -export -out ayuntamientoquesea.pfx -inkey ayuntamientoquesea.key -in ayuntamientoquesea.crt -certfile ca.crt

Configurar NGINX para DOBLE FACTOR

Las líneas básicas para activar el doble factor deben aplicar en cada fichero de cada web del sites_availables, indicando la ruta exacta de donde está ubicado el certificado propio nuestro.

Si estamos usando HestiaCP hay que tocar las plantillas y configurar el sitio para que use esta plantilla. Normalmente lo que se suele hacer es clonar la plantilla que estamos usando (por ejemplo laravel) y a esa plantilla clonada meterle estas líneas. Las plantillas en hestia se encuentran en

cd /usr/local/hestia/data/templates/web/nginx/php-fpm/

Las líneas son las siguientes, a completar con lo indicado en el ENS

ssl_client_certificate /etc/nginx/innova/ca.crt;
ssl_verify_client on;

El nombre del ayuntamiento hay que meterlo en Section

El nombre de swpolicial en «Unidad Organizativa Software«

En el «asunto» que es «Company» hay que poner el «nombre del ayuntamiento – swpolicial«

El emisor si está bien poner «SWPOLICIAL»

El número de serie podría ser el 0000 (0007 almonte) IDAYUNTAMIENTO YMD de cuando se genera

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

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