Intune-verwalteter Linux-Client
Nur SCEPman Enterprise Edition
Diese Methode kann verwendet werden, um Zertifikate für von Intune verwaltete Benutzer und Geräte zu registrieren.
Intune wird in diesem Fall ein Skript bereitstellen, das die SCEPman REST-API nutzt und entweder ein neues Zertifikat registriert oder ein bereits vorhandenes erneuert.
Unser Entwickler Christoph hat diese Funktion und einige Hintergrunddetails in der Workplace Ninja Usergroup Germany vorgestellt:
Voraussetzungen
1. Selbstbedienungsregistrierung
Um Zertifikate auszustellen, müssen Benutzer authentifiziert werden, um ihre Berechtigung zu überprüfen. Befolgen Sie diese Anleitung für Schritt-für-Schritt-Anweisungen, wie Sie dies einrichten.
Self-Service-Registrierung2. App Service-Einstellungen
Konfiguration
Erforderlich für die Zertifikatserneuerung
Konfigurieren Sie Ihren SCEPman App Service so, dass mTLS-Clientzertifikate akzeptiert werden. Überprüfen Sie im Konfigurationsbereich des Einstellungsabschnitts, dass der Modus für Clientzertifikate bei Eingehenden Clientzertifikaten auf Optional.

Setzen Sie den Modus für Clientzertifikate nicht auf Erfordern oder Zulassen, da dies den normalen Betrieb von SCEPman an den SCEP-Endpunkten beeinträchtigen würde!
Umgebungsvariablen
Um dieses Szenario nutzen zu können, müssen Sie die folgenden Umgebungsvariablen auf dem SCEPman-App-Service festlegen.
Erforderlich für die Zertifikatanmeldung und -erneuerung
Setzen Sie diese Variable auf true um die Validierung von Certificate Signing Requests (CSRs) zu aktivieren.
Erforderlich für die Zertifikatserneuerung
Setzen Sie diese Variable auf true um Zertifikaterneuerungen 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. Siehe die verlinkte Variablendokumentation für eine Liste möglicher Zertifikatstypen.
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. Static,IntuneUser,IntuneDevice
Dieses Szenario registriert Zertifikate vom Typ 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 verwenden zu können.
Azure CLI (Version 2.61 und höher)
Die Azure-CLI wird verwendet, um den anmeldenden Benutzer zu authentifizieren, seine Berechtigung zu prüfen und das Zugriffstoken abzurufen.
cURL
Wird verwendet, um die 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 erzeugen und eine CSR zur Registrierung oder Erneuerung eines Zertifikats zu erstellen.
Folgen Sie der verlinkten Dokumentation, um Ihren Linux-Client bei Intune zu registrieren.
Registrierungs- und Verlängerungsskript
Das enrollrenewcertificate.sh Das Skript wird verwendet, um anfänglich ein Zertifikat zu erhalten sowie es in regelmäßigen Abständen zu prüfen und eine Erneuerung zu versuchen, falls die Schwelle erreicht ist.
Während das Skript normalerweise durch Übergabe der Parameter im Terminal ausgeführt wird, müssen wir einige Teile davon ändern, damit es über Intune bereitgestellt werden kann.
Suchen Sie den Teil des Skripts, der die übergebenen Terminalargumente den Variablen zuweist, und passen Sie diese an Ihre Bedürfnisse 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 kann danach die Selbstbedienungsfunktion verwenden.
Beispiel: "api://b7d17d51-8b6d-45eb-b42b-3dae638cd5bc/Cert.Enroll"

CERT_DIR
Das Verzeichnis, in dem das Zertifikat erstellt oder erneuert werden soll. 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 Verlängerung gelesen wird.
Beispiel: "myCertificate"
KEY_NAME
Der Dateiname des privaten Schlüssels, der erstellt oder zur Verlängerung gelesen wird.
Beispiel: "myKey"
RENEWAL_THRESHOLD_DAYS
Die Anzahl der Tage bis zum Ablauf des Zertifikats, bei der das Skript den Verlängerungsprozess zu starten beginnt.
Beispiel: 30
CERT_TYPE
Die Art 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 anfänglich ein Zertifikat oder erneuert ein Zertifikat, wenn es bereits existiert und kurz vor dem Ablauf steht.
"renewal" erneuert ein Zertifikat, wenn es kurz vor dem Ablauf steht, erstellt jedoch nicht anfänglich ein Zertifikat.
"initial" registriert nur ein Zertifikat, erneuert jedoch kein bestehendes.
Wenn Sie ein Gerätezertifikat registrieren oder erneuern, wird die DeviceId abgerufen von ~/.config/intune/registration.toml und der authentifizierte Benutzer muss dem Besitzer des Objekts in der konfigurierten DeviceDirectory.
Ü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.
Skript bereitstellen
Mit Intune können wir das modifizierte Skript geplant bereitstellen, um anfänglich ein Zertifikat mit den angegebenen Parametern zu registrieren und regelmäßig zu prüfen, ob eine Erneuerung erforderlich ist.
Fügen Sie eine neue Bereitstellung für ein Linux-Skript hinzu und stellen Sie sicher, dass Sie Ausführungskontext kopieren nach und beachten Sie die folgenden Unterschiede: festlegen und entweder den Inhalt des zuvor erstellten modifizierten Bash-Skripts hochladen oder einfügen.
Passen Sie die Ausführungsfrequenz in Übereinstimmung mit Ihrer Erneuerungsschwelle an.
Zuletzt aktualisiert
War das hilfreich?