Um mit Windows Intune/SCCM 2012 R2 Zertifikate für mobile Geräte wie Windows Phone 8.1/Windows 8.1 oder auch iOS und Android zu verteilen ist es notwendig ein paar Voraussetzungen zu schaffen:
- Windows Intune Subscription
- Active Directory Benutzerkonto für den Network Device Enrollment Service
- Windows Server 2012 R2 mit installierter Rolle „Network Device Enrollment Service“ (sollte nicht auf der Austellenden CA installiert werden)
- Serverzertifikat (zur Verwendung von HTTPS auf der NDES Website)
- Clientzertifikat (Zertifikat zur Authentifizierung des System Center Configuration Manager Policy Moduls)
- Interne Zertifizierungsstelle (Ausstellende CA)
- Zertifikatsvorlage für Mobile Endgeräte
- SCCM 2012 R2 Certificate Registration Point
Dieser Beitrag beschäftigt sich mit der grundlegenden Konfiguration dieser Komponenten.
Windows Intune Subscription
Der SCCM 2012 R2 nutzt Windows Intune um Einstellungen für mobile Endgeräte bereitzustellen. Ich gehe an dieser Stelle davon aus das eine Windows Intune Subscription (evtl. auch Trial Subscription) besteht und bereits mit dem SCCM 2012 R2 gekoppelt ist.
Active Directory Benutzerkonto für den Network Device Enrollment Service
Um Zertifikate mit dem Network Device Enrollment Service auszustellen wird ein Active Directory Konto benötigt. Das Konto ist ein Dienstkonto welches für das Setup des Network Device Enrollment Services benutzt wird. Das Konto wird Berechtigungen erhalten eine bestimmte Zertifikatsvorlage zu registrieren. Auf das Konto wird ein HTTP Service SPN registriert.
setspn -A http/<servername>.<domain.com> <domain><Dienstkontenname>
Interne Zertifizierungsstelle (Ausstellende CA)
Für die Zertifikatsregistrierung ist zunächst eine Zertifikatsvorlage notwendig. Ich empfehle eine Zertifikatsvorlage eigens für mobile Endgeräte zu erstellen. Ein guter Ausgangspunkt für die Duplizierung ist die Vorlage „Benutzer“.
Die im folgenden gezeigten Abbildungen enthalten die wichtigsten Einstellungen:
Das zuvor erstellte Active Directory Konto erhält die Berechtigung die Vorlage zu lesen und zu registrieren.
Windows Server 2012 R2 mit der Rolle Network Device Enrollment Service
Die Rolle NDES kann wie gewohnt über den Rollen hinzufügen Dialog installiert werden. Es sei jedoch der Hinweis gestattet das beim Hinzufügen automatisch auch die Rolle der Zertifizierungsstelle ausgewählt ist. Die Rolle der Zertifizierungsstelle abwählen und mit dem Setup der NDES Rolle fortfahren.
Anmerkung:
Auch wenn die Auswahl suggeriert das beide Rollen auf einem Server betrieben werden können möchte ich dringend davon abraten. Die Konfiguration lässt sich aktivieren und Konfigurieren führt aber zu Problemen.
Nachdem die NDES Rolle installiert ist muss diese konfiguriert werden. Über den Servermanager wird der Einrichtungsassistent gestartet. Zunächst ist die Angabe der Ausstellenden CA notwendig
Hierfür wird das zuvor angelegte Active Directory Konto als Service Konto benötigt.
Da der NDES Server sehr lange URL’s zu verarbeiten hat ist es notwendig die Registry im Zweig „HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters“ anzupassen:
Value: MaxFieldLength
Type DWORD
Data: 65534 (decimal)
Value: MaxRequestBytes
Type DWORD
Data: 65534 (decimal)
Weiterhin ist die „Maximum URL length“ und der „Maximum query string“ auf 65534 zu setzen. Diese Einstellung wird auf der „Default Web Site“ -> „Request Filtering“ im IIS Manager vorgenommen.
Ist die Rolle installiert sollte im Browse unter der URL http://FQDN/certsrv/mscep/mscep.dll verifiziert werden das diese auch korrekt funktioniert.
System Center Configuration Manager – Certificate Registration Point
Nachdem alle Vorbereitungen getroffen wurden kann über die SCCM Console die Rolle des Certificate Registration Point (CRP) installiert werden. Dazu navigiert man in der SCCM Console zur „Administration -> Site Configuration -> Servers and Site System Roles“. Dort wird die Rolle „Certificate Registration Point“ hinzugefügt.
Bei der Installation muss die externe URL des NDES Servers und das Root Zertifikat (.cer Datei) welches das Client Authentication Zertifikat signiert hat angegeben werden. Über diesen Mechanismus authentifiziert sich der NDES Server bei der Zertifikatsregistrierung beim Certificate Registration Point.
Nach der Installation des CRP sollte verifiziert werden das dieser auch funktioniert:
https://FQDN/CMCertificateRegistration
Beim Aufruf der URL sollte ein HTTP error 403 erzeugt werden. Das ist völlig normal und ok. Wird hingegen ein HTTP error 404 oder 500 angezeigt werden sollten die entsprechenden Log Dateien angeschaut werden. Auch ein Neustart könnte erforderlich sein.
Nachdem der CRP korrekt installiert wurde wird ein Zertifikat nach %Program files%\Microsoft Configuration Manager\inboxes\certmgr.box exportiert. Dieses Zertifikat wird für die abschließende NDES Installation benötigt.
Abschließende NDES Konfiguration
Damit der NDES Dienst sich mit dem CRP austauschen kann ist das System Center Configuration Manager Policy Module auf dem NDES Server zu installieren. Das Policy Modul befindet sich auf dem SCCM Installationsmedium im Ordner SMSSETUPPolicyModuleX64. Für die Installation wird wird die URL des CRP, ein Zertifikat mit dem Zweck „Clientauthentifizierung“ und das CRP Zertifikat benötigt.
Die Installation ist an sich unspektakulär:
- Ausführen der „PolicyModuleSetup.exe“
- Angabe zur CRP URL (https://FQDN/CMCertificateRegistration)
- Angabe des Client Zertifikats (Zweck: Clientauthentifizierung)
- Angabe des CRP Zertifikats (kopie von %Program files%\Microsoft Configuration Manager\inboxes\certmgr.box)
Nachdem das Policy Modul installiert wurde ist ein Registrierungsschlüssel anzupassen um dem NDES mitzuteilen welche Zertifikatsvorlage dieser Ausstellen soll. Hier wird die Vorlage eingetragen die wie zuvor Beschrieben erstellt wurde.
Die Vorlage wird im Registry Schlüssel HKLM\SOFTWARE\Microsoft\Cryptography\MSCEP angepasst.
Damit die Änderung aktiv ist muss ein iisreset ausgeführt werden.
Certificate Profile
Um Zertifikate für Mobile Endgeräte mit NDES auszustellen ist es zunächst notwendig ein Profil für die Stammzertifizierungsstelle und wenn vorhanden ein weiteres für die Ausstellende Zertifizierungsstelle zu erstellen.
Erst im Anschluss daran ist es möglich ein SCEP/NDES Zertifikatsprofil zu erstellen.
Nach der Eingabe des Profilnamens sind einige Rahmenparameter zu definieren. Besonderes Augenmerk möchte ich an dieser Stelle auf den „Key Storage Provider (KSP)“ legen. Standardmäßig ist die Option „Install to TPM if present“ ausgewählt. Ist das mobile Endgerät das ein entsprechendes Zertifikat anfordert ein Windows Phone stehen die Chancen gut das dass Zertifikat im TPM Chip gespeichert wird. In einigen Umgebungen kann aber genau das zu einer Herausforderung werden. So musste ich selbst feststellen das die Windows Phone VPN Store App von Junos scheinbar nicht in der Lage ist den TPM auszulesen, während das mit dem Microsoft IKE VPN Client funktioniert. In diesem Fall lässt sich das Problem ggf. durch die Option „Install to Software Key Storage Provider“ lösen.
Im darauffolgenden Dialog wird die Vorlage und deren Eigenschaften für die Registrierung ausgewählt. Auch hier gibt es einiges zu beachten.
- Template name entspricht der Vorlage die zu Beginn dieses Blogs definiert wurde
- Certificate type kann User oder Computer sein
- Subject name Format sollte mit bedacht gewählt werden (iPhones haben z.B. mit dem Fully Distinghuished Name bzw. der E-Mail Adresse Probleme)
- Für den Subject alternate Name gilt das gleiche wie für den subject name
- Unter Root CA certificate kann ein zuvor erstelltes Root CA Zertifikatsprofil ausgewählt werden (ist neben der Root CA auch eine Intermediate CA eingerichtet so ist trotzdem die Root CA auszuwählen
Ist das SCEP Profil erstellt ist noch ein entsprechendes Deployment einzurichten.
Mobiles Endgerät registrieren
Abschließend sollte natürlich noch ein funktionaler Test durchgeführt werden. Ich empfehle dafür einen PC mit installiertem Windows 8.x zu verwenden. Da wir letztlich Zertifikate für Non-Domain Geräte wie SmartPhones ausstellen wollen benötigen wir auf diesem PC lediglich eine Internetverbindung. Zunächst muss das Gerät im Unternehmensbereich für Intune registriert werden.
Sofern der Benutzer oder das Gerät für das Zertifikatsprofil konfiguriert ist sollte der PC automatisch ein Zertifikat anfordern. Wenn die Zertifikatsanforderung korrekt ausgeführt wird, wird in der Registry des Computers unter HKCU\Microsoft\Windows\CurrentVersion\MDM\MDM_CertificateEnrollmentDB die entsprechende Anforderung angezeigt.
Zu beginn der Zertifikatsanforderung ist der Wert des Feldes „Thumbprint“ noch nicht definiert. Sobald die Registrierung des Zertifikats erfolgreich war enthält das Feld den Zertifikats Thumbprint.
Ist die Registrierung des Zertifikats erfolgreich ist es Zeit diese auch auf dem SmartPhone zu testen.