Serveur Linux

circle-info

Cette fonctionnalité nécessite la version 2.3.689 ou supérieure.

circle-exclamation

Alors que les autres cas d’usage de SCEPman offrent la possibilité d’authentifier de manière interactive un utilisateur afin de ne lui permettre ensuite d’inscrire que des certificats utilisateur pour son compte ou ses appareils, vous pouvez vouloir être en mesure d’inscrire de manière non interactive des certificats pour des sujets arbitraires.

Pour y parvenir, nous pouvons authentifier un service principal et lui permettre d’exploiter l’API REST d’inscription de SCEPman.

Prérequis

Veuillez vous référer à l’article API Enrollment sur la manière de créer un service principal pouvant être utilisé pour l’authentification :

Inscription via l’APIchevron-right

Module PowerShell SCEPmanClient

Demandes initiales

Vous pouvez utiliser le module PowerShell SCEPmanClient pour demander des certificats sur votre serveur 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

Renouvellement de certificat

Vous pouvez également utiliser le module PowerShell pour renouveler des certificats déjà existants. Cela évitera également d’avoir à utiliser un principal de service pour l’authentification :

Script d’inscription et de renouvellement

Si le module PowerShell n’est pas une option pour vous, le enrollrenewcertificate.sharrow-up-right script peut être utilisé pour obtenir initialement un certificat, ainsi que pour le vérifier et tenter un renouvellement au cas où il serait sur le point d’expirer.

Prérequis client

Exemple :

1. Commande

Définit le comportement du script

Pour ce cas d’usage, nous pouvons utiliser les options suivantes :

-s pour un certificat serveur avec détection automatique qu’il s’agisse d’une inscription initiale ou d’un renouvellement

-y pour l’inscription initiale d’un certificat serveur

-c pour soumettre une demande de signature de certificat existante

Pour les cas d’usage d’authentification client, voir :

Client Linux non géréchevron-right

2. URL du service d’application

L’URL du service d’application SCEPman.

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

3. Portée de l’API

Ceci est le URI de l’ID d’application de SCEPman-api enregistrement d’application dans votre environnement.

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

4. Nom de fichier du certificat

Le nom de fichier (sans extension) du certificat qui sera créé ou lu pour le renouvellement.

Exemple : "myCertificate"

5. Répertoire du certificat

Le répertoire dans lequel le certificat sera créé ou dont le renouvellement sera tenté.

Exemple : ~/certs/

8. Seuil de renouvellement

Le nombre de jours avant l’expiration du certificat à partir duquel le script commencera le processus de renouvellement.

Exemple : 30

Paramètres supplémentaires pour les certificats serveur :

9. ID client du service principal

L’ID d’application (client) de l’enregistrement d’application que nous voulons authentifier.

10. Secret client du service principal

Le secret client créé de l’enregistrement d’application que nous voulons authentifier.

11. ID de locataire du service principal

L’ID de locataire de notre enregistrement d’application.

12. Sujet du certificat

Le sujet avec lequel vous souhaitez inscrire le certificat.

Format : /CN=SubjectName,O=Organization

13. Extension du certificat

Ceci sera ajouté comme nom alternatif du sujet

Exemple : DNS:webserver.contoso.com

Exemple d’utilisation pour la signature de CSR (-c command)

Considérations

  • Ce script ne chiffre pas les clés générées (cela nécessite la saisie d’une phrase secrète, donc le chiffrement a été omis afin de permettre le renouvellement automatique.)

  • Si vous renouvelez des certificats protégés par phrase secrète provenant de Certificate Master, vous devrez saisir cette phrase secrète afin de les renouveler.

Configurer le renouvellement automatique

Lorsque le script bash ci-dessus est exécuté et détecte qu’un certificat a déjà été inscrit, il renouvellera le certificat (s’il est proche de son expiration) à l’aide de mTLS. Si le script est exécuté régulièrement, cela garantira que le certificat est renouvelé lorsqu’il approche de son expiration. Vous pouvez configurer une tâche cron pour y parvenir. La commande ci-dessous est un exemple de la façon dont cela pourrait être fait. Elle configurera une tâche cron pour exécuter la commande quotidiennement (si le système est allumé) et une tâche cron pour exécuter la commande au redémarrage.

Étant donné que les commandes exécutées par Cron ne seront pas nécessairement lancées depuis le répertoire où se trouvent le script/les certificats, il est important de fournir les chemins absolus vers le script/les certificats.

Mis à jour

Ce contenu vous a-t-il été utile ?