Servidor Linux

circle-info

Esta función requiere la versión 2.3.689 o superior.

circle-exclamation

Mientras que los otros casos de uso de SCEPman ofrecen la capacidad de autenticar interactivamente a un usuario para luego permitirle inscribir certificados de usuario solo para su cuenta o sus dispositivos, es posible que desee poder inscribir certificados de forma no interactiva para sujetos arbitrarios.

Para lograr esto podemos autenticar un principal de servicio y permitir que aproveche la API REST de Inscripción de SCEPman.

Prerequisitos

Consulte el artículo API Enrollment sobre cómo crear un principal de servicio que pueda usarse para la autenticación:

Inscripción por APIchevron-right

Módulo de PowerShell SCEPmanClient

Solicitudes iniciales

Puede usar el módulo PowerShell SCEPmanClient para solicitar certificados en su servidor Linux:

$Parameters = @{
    'Url'              = 'scepman.contoso.com'
    'ClientId'         = '569fbf51-aa63-4b5c-8b26-ebbcfcde2715'
    'TenantId'         = '8aa3123d-e76c-42e2-ba3c-190cabbec531'
    'ClientSecret'     = 'csa8Q~aVaWCLZTzswIBGvhxUiEvhptuqEyJugb70'
    'Subject'          = 'CN=LinuxServer'
    'IP'               = '10.22.11.8'
    'ExtendedKeyUsage' = 'ServerAuth'
    'SaveToFolder'     = '/etc/ssl/scepman'
    'IncludeRootCA'    = $true
}

New-SCEPmanCertificate @Parameters

Renovación de certificados

También puede usar el módulo de PowerShell para renovar certificados ya existentes. Esto además evita el requisito de usar un principal de servicio para la autenticación:

Script de inscripción y renovación

Si el módulo de PowerShell no es una opción para usted, el enrollrenewcertificate.sharrow-up-right script se puede usar para recibir inicialmente un certificado así como para verificarlo e intentar una renovación en caso de que esté a punto de expirar.

Requisitos previos del cliente

Ejemplo:

1. Comando

Define el comportamiento del script

Para este caso de uso podemos usar las siguientes opciones:

-s para certificado de servidor con detección automática de si es una inscripción inicial o una renovación

-y para la inscripción inicial de un certificado de servidor

-c para enviar una solicitud de firma de certificado presente (CSR)

Para casos de uso de Autenticación de Cliente vea:

Cliente Linux no gestionadochevron-right

2. URL del servicio de la aplicación

La URL del servicio de la aplicación SCEPman.

Ejemplo: "https://scepman.contoso.net/"

3. Alcance de la API

Esta es la URI de identificación de la aplicación de la SCEPman-api registro de la aplicación en su entorno.

Ejemplo: "api://a7a1d6c8-51b9-48ec-9ca0-a363dc2c8436"

4. Nombre de archivo del certificado

El nombre de archivo (sin extensión) del certificado que se creará o se leerá para la renovación.

Ejemplo: "myCertificate"

5. Directorio del certificado

El directorio en el que se creará el certificado o en el que se intentará renovar.

Ejemplo: ~/certs/

8. Umbral de renovación

La cantidad de días para que el certificado deba expirar para que el script comience el proceso de renovación.

Ejemplo: 30

Parámetros adicionales para certificados de servidor:

9. Id de cliente del principal de servicio

El Id de la Aplicación (Cliente) del registro de la aplicación que queremos autenticar.

10. Secreto de cliente del principal de servicio

El secreto de cliente creado del registro de la aplicación que queremos autenticar.

11. Id de inquilino del principal de servicio

El id del inquilino de nuestro registro de la aplicación.

12. Sujeto del certificado

El sujeto con el que desea inscribir el certificado.

Formato: /CN=SubjectName,O=Organization

13. Extensión del certificado

Esto se agregará como nombre alternativo de sujeto

Ejemplo: DNS:webserver.contoso.com

Ejemplo de uso para firma de CSR (comando -c)

Consideraciones

  • Este script no cifra las claves generadas (esto requiere la entrada de una frase de contraseña, por lo que se ha omitido el cifrado para permitir la renovación automática).

  • Si está renovando certificados protegidos con frase de contraseña desde Certificate Master, deberá introducir esta frase de contraseña para poder renovarlos.

Configurar la renovación automática

Cuando se ejecute el script bash anterior y detecte que ya se ha inscrito un certificado, renovará el certificado (si está cerca de su caducidad) usando mTLS. Si el script se ejecuta regularmente, esto garantizará que el certificado se renueve cuando se acerque su caducidad. Puede configurar un cronjob para lograr esto. El comando siguiente es un ejemplo de cómo podría hacerse. Configurará un cronjob para ejecutar el comando diariamente (si el sistema está encendido) y un cronjob para ejecutar el comando al reiniciar.

Dado que los comandos ejecutados por Cron no necesariamente se ejecutarán desde el directorio en el que están el script/los certificados, es importante proporcionar las rutas absolutas al script/los certificados.

Última actualización

¿Te fue útil?