Linux-Server

circle-info

Dieses Feature erfordert Version 2.3.689 oder höher.

circle-exclamation

Während die anderen Anwendungsfälle von SCEPman die Möglichkeit bieten, einen Benutzer interaktiv zu authentifizieren, um ihm dann nur zu erlauben, Benutzerzertifikate für sein Konto oder seine Geräte zu beantragen, möchten Sie möglicherweise Zertifikate für beliebige Subjekte nicht-interaktiv ausstellen.

Um dies zu erreichen, können wir ein Service Principal authentifizieren und diesem erlauben, die Enrollment-REST-API von SCEPman zu nutzen.

Voraussetzungen

Bitte beziehen Sie sich auf den API Enrollment-Artikel, wie man einen Service Principal erstellt, der zur Authentifizierung verwendet werden kann:

API-Registrierungchevron-right

Powershell-Modul SCEPmanClient

Erstanfragen

Sie können das SCEPmanClient PowerShell-Modul verwenden, um Zertifikate auf Ihrem Linux-Server anzufordern:

$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

Zertifikatsverlängerung

Sie können das PowerShell-Modul auch verwenden, um bereits vorhandene Zertifikate zu erneuern. Dadurch entfällt außerdem die Notwendigkeit, einen Dienstprinzipal für die Authentifizierung zu verwenden:

Registrierungs- und Verlängerungsskript

Wenn das PowerShell-Modul für Sie keine Option ist, kann das enrollrenewcertificate.sharrow-up-right Skript verwendet werden, um zunächst ein Zertifikat zu erhalten sowie um es zu überprüfen und im Falle des drohenden Ablaufs eine Verlängerung zu versuchen.

Client-Voraussetzungen

Nach Abschluss der Konfiguration stellen Sie sicher, die SCEP-Server-URL in Ihrem/ Ihren SCEP-Profil(en) in Intune zu aktualisieren. Die neue URL sollte die von Ihnen erstellte benutzerdefinierte Domain mit "/certsrv/mscep/mscep.dll" am Ende sein.

1. Befehl

Definiert das Verhalten des Skripts

Für diesen Anwendungsfall können wir die folgenden Optionen verwenden:

-s für Serverzertifikat mit automatischer Erkennung, ob es sich um eine Erstregistrierung oder eine Erneuerung handelt

-y für die Erstregistrierung eines Serverzertifikats

-c zum Einreichen einer vorliegenden Certificate Signing Request (CSR)

Für Anwendungsfälle der Client-Authentifizierung siehe:

Unverwalteter Linux-Clientchevron-right

2. App-Service-URL

Die URL des SCEPman-App-Services.

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

3. API-Bereich

Dies ist die Application ID URI nächsten Schritt SCEPman-api App-Registrierung in Ihrer Umgebung erstellen können.

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

4. Zertifikat-Dateiname

Der Dateiname (ohne Erweiterung) des Zertifikats, das erstellt oder zur Verlängerung gelesen wird.

Beispiel: "myCertificate"

5. Zertifikat-Verzeichnis

Das Verzeichnis, in dem das Zertifikat erstellt oder versucht wird zu verlängern.

Beispiel: ~/certs/

8. Erneuerungs-Schwelle

Die Anzahl der Tage bis zum Ablauf des Zertifikats, bei der das Skript den Verlängerungsprozess zu starten beginnt.

Beispiel: 30

Zusätzliche Parameter für Serverzertifikate:

9. Service Principal Client Id

Die Application (Client) Id der App-Registrierung, die wir authentifizieren möchten.

10. Service Principal Client Secret

Das erstellte Client-Secret der App-Registrierung, die wir authentifizieren möchten.

11. Service Principal Tenant Id

Die Tenant-Id unserer App-Registrierung.

12. Zertifikat-Subject

Das Subject, mit dem Sie das Zertifikat registrieren möchten.

Format: /CN=SubjectName,O=Organization

13. Zertifikat-Erweiterung

Dies wird als subject alternative name hinzugefügt

Beispiel: DNS:webserver.contoso.com

Anwendungsbeispiel für CSR-Signierung (-c Befehl)

Überlegungen

  • Dieses Skript verschlüsselt die erzeugten Schlüssel nicht (dies erfordert die Eingabe einer Passphrase, daher wurde die Verschlüsselung weggelassen, um automatische Verlängerungen zu ermöglichen).

  • Wenn Sie passphrase-geschützte Zertifikate vom Certificate Master verlängern, müssen Sie diese Passphrase eingeben, um sie zu erneuern.

Automatische Verlängerung einrichten

Wenn das oben genannte Bash-Skript ausgeführt wird und feststellt, dass ein Zertifikat bereits registriert wurde, erneuert es das Zertifikat (wenn es nahe am Ablauf ist) mit mTLS. Wenn das Skript regelmäßig ausgeführt wird, stellt dies sicher, dass das Zertifikat erneuert wird, wenn es dem Ablauf nahe kommt. Sie können einen Cronjob einrichten, um dies zu erreichen. Der unten stehende Befehl ist ein Beispiel dafür, wie dies erfolgen könnte. Er richtet einen Cronjob ein, der den Befehl täglich ausführt (wenn das System eingeschaltet ist), und einen Cronjob, der den Befehl beim Neustart ausführt.

Da Cron-Aufrufe nicht zwingend aus dem Verzeichnis ausgeführt werden, in dem sich das Skript/die Zertifikate befinden, ist es wichtig, die absoluten Pfade zum Skript/den Zertifikaten anzugeben.

Zuletzt aktualisiert

War das hilfreich?