Von Intune verwalteter Linux-Client
Gilt für SCEPman Version 2.9 und höher
nur SCEPman Enterprise Edition
Diese Methode kann verwendet werden, um Zertifikate für Benutzer und Geräte zu registrieren, die von Intune verwaltet werden.
Intune wird in diesem Fall ein Skript bereitstellen, das die SCEPman REST API nutzt, um entweder ein neues Zertifikat zu registrieren oder ein bereits vorhandenes zu erneuern.
Unser Entwickler Christoph hat dieses Feature und einige Hintergrunddetails bei der Workplace Ninja Usergroup Germany vorgestellt:
Voraussetzungen
1. Self-Service-Enrollment
Um Zertifikate zu registrieren, müssen Benutzer authentifiziert sein, um ihre Berechtigung zu überprüfen. Folgen Sie dieser Anleitung für eine schrittweise Anleitung, wie Sie dies einrichten
2. App Service-Einstellungen
Konfiguration
Erforderlich für die Zertifikatserneuerung
Konfigurieren Sie Ihren SCEPman App Service so, dass mTLS-Clientzertifikate akzeptiert werden. Überprüfen Sie in der Konfigurationsseite des Abschnitts Einstellungen, ob der Clientzertifikatmodus unter Eingehende Clientzertifikate auf Optionaler interaktiver Benutzer.

Setzen Sie den Clientzertifikatmodus nicht auf Erfordern oder Zulassen, da dies den normalen Betrieb von SCEPman an den SCEP-Endpunkten unterbrechen würde!
Environment Variables
Um dieses Szenario nutzen zu können, müssen Sie die folgenden Umgebungsvariablen für den SCEPman App Service festlegen.
Erforderlich für die Zertifikatsregistrierung und -erneuerung
Setzen Sie diese Variable auf true um die Validierung von Zertifikatsignierungsanforderungen (CSRs) zu aktivieren.
Erforderlich für die Zertifikatserneuerung
Setzen Sie diese Variable auf true um Zertifikatserneuerungen zu aktivieren.
Erforderlich für die Zertifikatserneuerung
Setzen Sie diese Variable auf eine durch Kommas getrennte Liste von Zertifikatstypen, für die Sie die Erneuerung zulassen möchten. Eine Liste der möglichen Zertifikatstypen finden Sie in der verlinkten Variablendokumentation.
Beispiel: Static,IntuneUser,IntuneDevice
Dieses Szenario stellt Zertifikate des Typs aus IntuneUser und IntuneDevice je nach Ihrer Wahl.
3. Client-Voraussetzungen
Die folgenden Voraussetzungen müssen auf dem ausführenden Client/Host vorhanden sein, um die Enrollment REST API nutzen zu können.
Azure CLI (Version 2.61 und höher)
Die Azure CLI wird verwendet, um den sich anmeldenden Benutzer zu authentifizieren, seine Berechtigung zu prüfen und das Zugriffstoken abzurufen.
cURL
Wird verwendet, um das erstellte CSR an den SCEPman Enrollment API-Endpunkt zu senden und das Zertifikat zu empfangen.
OpenSSL
OpenSSL wird verwendet, um einen privaten Schlüssel zu generieren und ein CSR für die Anmeldung oder Erneuerung eines Zertifikats zu erstellen.
Folgen Sie der verlinkten Dokumentation, um Ihren Linux-Client bei Intune zu registrieren.
Skript für Enrollment und Erneuerung
Das enrollrenewcertificate.sh Das Skript wird verwendet, um zunächst ein Zertifikat zu erhalten, es anschließend regelmäßig zu prüfen und bei Erreichen des Schwellenwerts eine Erneuerung zu versuchen.
Während das Skript normalerweise durch Übergabe der Parameter im Terminal ausgeführt wird, müssen wir einige Teile davon anpassen, damit es über Intune bereitgestellt werden kann.
Suchen Sie den Teil des Skripts, der die übergebenen Terminal-Argumente der Variable zuweist, und passen Sie ihn an Ihre Anforderungen an:
Beispielkonfiguration:
APPSERVICE_URL
Die URL des SCEPman-App-Services.
Beispiel: "https://scepman.contoso.net/"
API_SCOPE
Dies ist der API-Bereich, den Sie in der SCEPman-api App-Registrierung in Ihrer Umgebung erstellen können.
Dem Benutzer wird Ihr gewünschter Zustimmungsdialog angezeigt, und er kann danach die Self-Service-Funktionalität verwenden.
Beispiel: "api://b7d17d51-8b6d-45eb-b42b-3dae638cd5bc/Cert.Enroll"

CERT_DIR
Das Verzeichnis, in dem das Zertifikat erstellt oder dessen Erneuerung versucht wird. Der private Schlüssel und das Stammzertifikat werden ebenfalls hier abgelegt.
Beispiel: ~/certs/
CERT_NAME
Der Dateiname (ohne Erweiterung) des Zertifikats, das erstellt oder zur Erneuerung gelesen wird.
Beispiel: "myCertificate"
KEY_NAME
Der Dateiname des privaten Schlüssels, der erstellt oder zur Erneuerung gelesen wird.
Beispiel: "myKey"
RENEWAL_THRESHOLD_DAYS
Die Anzahl der Tage, die das Zertifikat noch gültig sein muss, damit das Skript den Erneuerungsprozess startet.
Beispiel: 30
CERT_TYPE
Der Typ des Zertifikats, das registriert wird.
Kann entweder "user" oder "device" sein
CERT_COMMAND
Dies definiert das Verhalten des Skripts in Bezug auf Registrierung und Erneuerung:
"auto" erstellt zunächst ein Zertifikat oder erneuert ein Zertifikat, wenn es bereits vorhanden ist und kurz vor dem Ablauf steht.
"renewal" erneuert ein Zertifikat, wenn es kurz vor dem Ablauf steht, erstellt jedoch zunächst kein Zertifikat.
"initial" registriert nur ein Zertifikat, erneuert jedoch kein bestehendes.
Wenn Sie ein Gerätezertifikat registrieren oder erneuern, wird die DeviceId aus ~/.config/intune/registration.toml abgerufen, und der authentifizierte Benutzer muss dem Besitzer des Objekts im konfigurierten DeviceDirectory.
Hinweise
Dieses Skript verschlüsselt die erzeugten Schlüssel nicht (dafür ist eine Passphrase-Eingabe erforderlich, daher wurde auf die Verschlüsselung verzichtet, um eine automatische Erneuerung zu ermöglichen.)
Wenn Sie mit einer Passphrase geschützte Zertifikate von Certificate Master erneuern, müssen Sie diese Passphrase eingeben, um sie zu erneuern.
Skript bereitstellen
Mit Intune können wir das angepasste Skript nach Zeitplan bereitstellen, um zunächst ein Zertifikat mit den angegebenen Parametern zu registrieren und regelmäßig zu prüfen, ob es erneuert werden muss.
Fügen Sie eine neue Linux-Skriptbereitstellung hinzu und stellen Sie sicher, dass Sie das Ausführungskontext nach Benutzer setzen und entweder den Inhalt des angepassten Bash-Skripts hochladen oder einfügen, das Sie im vorherigen Abschnitt erstellt haben.
Passen Sie die Ausführungsfrequenz entsprechend Ihrem Erneuerungsschwellenwert an.
Der Benutzer wird bei der ersten Ausführung aufgefordert, sich bei der Azure CLI-Anwendung anzumelden, da eine Authentifizierung erforderlich ist.
Zuletzt aktualisiert
War das hilfreich?