Hallo und herzlich Willkommen zu diesem Tutorial. Hier zeige ich dir, wie du mittels Microsoft Intune und einem SCEP Server automatisiert WLAN-Zertifikate erstellen lassen kannst. Die Grundlegende Funktionsweise lautet wie folgt:
Vorbereitungen
- 2-Tier PKI aus folgendem Tutorial erstellt
- Windows Server Installation (vorzugsweise WS 2022)
- Hostname unter Windows vergeben (SCEPSRV1)
- Netzwerk + AD-Join, Server muss öffentlich erreichbar sein (Portforwarding oder secondary Public-IP)
Zertifikatsvorlage erstellen
Im ersten Schritt wird eine bestehende Zertifikatsvorlage kopiert und verteilt. Diese fungiert als Vorlage für die Benutzer/Gerätezertifikate, welche an die Geräte via SCEP und Intune ausgestellt werden.
Dazu wechseln wir mit einem Domänenadministrator auf den zuvor konfigurierten PKI-SUBCASRV1 in das Programm Zertifizierungsstelle. Von dort aus kommt man mittels Rechtsklick auf Zertifikatsvorlagen und Verwalten in die Verwaltung der Zertifikatsvorlagen.
Von hier aus wird die Benutzer Zertifikatsvorlage mittels Rechtsklick angewählt und dupliziert.
Im Tab Allgemein vergeben wir nun folgende Werte:
- Vorlagenanzeigename: NDES
- Vorlagenname: NDES
- Gültigkeitsdauer: 1 Jahr
- Erneuerungszeitraum: 6 Wochen
- Zertifikat in Active Directory veröffentlichen: Haken setzen
Im nächsten Schritt werden die Erweiterungen der Vorlage angepasst. Hierfür wechselt man in den Reiter „Erweiterungen“. Unter den Anwendungsrichtlinien müssen wir nun prüfen, ob in der Beschreibung der Punkt Clientauthentifizierung aufgelistet ist:
Außerdem wird die Schlüsselverwendung ebenfalls geprüft. Dieser Wert muss später im Intune SCEP Profil ebenfalls gesetzt werden.
Im Reiter Antragstellername muss die Option “Informationen werden in der Anforderung angegeben” ausgewählt werden.
Im Server, Kompatibilität, Kryptografie, Schlüsselnachweis und Ausstellungsvoraussetzungen müssen keine Einstellungen geändert werden. Der Standard sollte wie folgt aussehen:
Im Tab Sicherheit muss ein zuvor erstellter Domänen NDES Serviceaccount mit den Berechtigungen Lesen, Schreiben und Registrieren eingetragen werden.
Im Reiter Anforderungsverarbeitung wird im Anschluss die Einstellung „Exportieren von privaten Schlüsseln zulassen“ deaktiviert. Außerdem muss geprüft werden ob “Antragsteller ohne Benutzereingabe registrieren” ausgewählt ist.
Mittels OK wird die Vorlage nun erstellt.
Nachdem die Vorlage erstellt wurde, muss diese im Anschluss publiziert werden. Hierfür wird die Zertifikatsvorlagenkonsole geschlossen und im Tool Zertifizierungsstelle unter Zertifikatsvorlagen mittels rechtsklick “Neu” – “Auszustellende Zertifikatsvorlage” muss die zuvor erstellte Vorlage ausgewählt werden.
Im letzten Schritt wird nun die SubCA exportiert. Diese ist für die spätere Validierung der Zertifikate zuständig. Hierfür wird eine administrative CMD geöffnet und folgender Befehl eingetippt:
certutil -ca.cert C:\subca.cer
Konfiguration NDES
Nun muss sich am zuvor aufgesetzten Server SCEPSRV1 eingeloggt werden. Hier wird die folgende neue Rolle aus dem Server-Manager heraus installiert: Active Directory-Domänendienste. Im nächsten Fenster wird der “Registrierungsdienst für Netzwerkgeräte” installiert.
Um NDES zu konfigurieren wird nach der Installation im Server-Manager auf die Flagge rechts oben geklickt, die Option „Active Directory-Zertifikatsdienste auf dem Zielserver konfigurieren“ gewählt werden. Im Anschluss muss ein Domänenadministrator angegeben werden, die Eingabe wird mit Weiter bestätigt. Nun wird der “Registrierungsdienst für Netzwerkgeräte” ausgewählt.
Als Dienstkonto kann das bereits erstellte NDES Konto benutzt werden. Dazu wird das Konto allerdings im ersten Schritt in die lokale Gruppe „IISIUSRS“ hinzugefügt. Anschließend kann der Nutzer ausgewählt werden.
Als Zertifizierungsstelle wird die PKI-SUBCASRV1 ausgewählt
Die Registrierungsstelleninfiormationen können ausgefüllt werden. Dieser Schritt ist allerdings optional.
Die Schlüssellänge konfiguriere ich im nächsten Schritt auf 4096bit. Die Konfiguration kann danach abgeschlossen werden.
In der Regsitry im Pfad: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MSCEP muss nun die zuvor erstellte Zertifikatsvorlage eingetragen werden. Der Vorlagenname muss in allen drei Parametern eingetragen werden.
Im nächsten Schritt wird der SPN des NDES Service Accounts gesetzt. Hierfür wird wieder eine administrative CMD geöffnet. Der SPN ist der FQDN der SCEP Servers:
setspn -s http://scepsrv1.hfo.local DOMAIN\svc_scep
Anschließend müssen zwei Registry Werte unter Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters erstellt werden um lange URLs zuzulassen:
- MaxFieldLength reg_dword dezimal 65534
- MaxRequestBytes reg_dword dezimal 65534
Im nächsten Schritt fordert NDES nun ein Zertifikat von der SubCA an. Das Zertifikat muss Server und Client Auth EKUs besitzen. Das Zertifikat wird später für den IIS und Intune Connector genutzt. Dazu kann der Computer Zertifikatsstore geöffnet werden und mittels rechtsklick auf “Eigene Zertifikate” ein “Neues Zertifikat angefordert” werden. Es wird ein Standard Computer Zertifikat angefordert, da uns für alle andneren Zertifikatstypen die jeweiligen Berechtigungen fehlen.
Wurde das Zertifikat erstellt, kann dieses dem IIS Webservice zugeordnet werden. Dazu wird der IIS Manager geöffnet. Anschließend kann über Sites – Default Web Sites der Menüpunkt “Bindungen” gewählt werden.
Über den Punkt Hinzufügen wird eine neue Bindung hinzugefügt. Als Typ wird “https” ausgewählt. Die “IP-Adresse” kann auf “Keine zugewiesen” gestellt werden. Als SSL Zertifikat wird das neu erstellte Zertifikat ausgewählt.
Im Anschluss kann die Verbindung getestet werden. Dazu kann folgender Link aufgerufen werden: http://ServerFQDN/certsrv/mscep/mscep.dll
Anschließend müssen folgende weitere Komponenten installiert werden. Dazu muss wieder der Server-Manager verwendet werden:
- Web Server > Security > Request Filtering
- Web Server > Application Development > ASP.NET 3.5
- Installing ASP.NET 3.5 installs .NET Framework 3.5. When installing .NET Framework 3.5, install both the core .NET Framework 3.5 feature and HTTP Activation.
- Web Server > Application Development > ASP.NET 4.8
- Installing ASP.NET 4.8 installs .NET Framework 4.8. When installing .NET Framework 4.5, install the core .NET Framework 4.8feature, ASP.NET 4.8, and the WCF Services > HTTP Activation feature.
- Management Tools > IIS 6 Management Compatibility > IIS 6 Metabase Compatibility
- Management Tools > IIS 6 Management Compatibility > IIS 6 WMI Compatibility
Im nächsten Schritt muss der NDES Connector von Azure Intune heruntergeladen werden um diesen auf dem SCEPSRV1 zu installieren. Unter Mandantenverwaltung -> Connectors und Token -> Zertifikatconnectors mittels Hinzufügen, den Connector herunterladen:
Anschließend wird der Connector auf dem Server installiert (rechtsklick als Administrator starten) und konfiguriert.
Unter Features wird SCEP angehakt im nächsten Schritt wird ein System User genutzt.
Unter Azure AD Anmeldung muss sich nun mit einem Azure Administrator angemeldet werden. Gegebenenfalls müssen die Internet Explorer Sicherheitsrichtlinien oder die verstärkte Sicherheitsrichtlinie deaktiviert werden um Javascript aktivieren zu können.
Ist die Konfiguration abgeschlossen, kann der Server neu gestartet werden. Nach dem Neustart sollten wir die Webseite nicht mehr aufrufen können: http://Server_FQDN/certsrv/mscep/mscep.dll
Außerdem sollte in der Connector Übersicht innerhalb Intune der Status des neuen Connectors auf Aktiv stehen.
Als nächstes muss der Connector über eine offizielle Adresse erreichbar gemacht werden. Das ganze wurde bei mir über die Firewall bzw. einem Reverse Proxy gelöst. Wie das umgesetzt wird, ist jedem selbst überlassen, da es sehr stark von der Infrastruktur abhängt.
Konfiguration eines Intune Profils
Im ersten Schritt muss ein Profil erstellt werden, welches die SubCA in die vertrauenswürdigen Stammzertifizierungsstellen importiert. Dazu laden wir uns die oben erstellte subca.cer von PKI-SUBCASRV1 herunter.
Im Anschluss wird das Intune Portal unter folgender URL aufgerufen: https://endpoint.microsoft.com/
Unter dem Menüpunkt Geräte – Konfigurationsprofile – Profil erstellen, wird ein neues Intune Geräteprofil erstellt.
Als Plattform wöhlen wir Windows 10 und höher, als Propfiltyp: Vorlagen. Im Darauffolgenden Feld suchen wir nach „Vertrauenswürdiges Zertifikat“.
Im nächsten Fenster geben wir dem Profil einem Namen. In meinem Fall: Windows_import_SubCA1.
Nachfolgend wird das zuvor generierte Zertifikat von PKI-SUBCASRV1 ausgewählt. Als Zielspeicher bleibt “Zertifikatsspeicher des Computers – Stammzertifikate”.
Im nächsten Fenster kann das Konfigurationsprofil einer Gruppe zugewiesen werden. Ich habe hierfür vorab eine Gerätegruppe mit Testgeräten erstellt. Die Geräte müssen natürlich im Intune sein.
Nun kann das eigentliche dynamische SCEP Zertifikatprofil erstellt werden. Hierfür wird ein weiteres Profil erstellt.
Als Plattform wählen wir Windows 10 und höher, als Propfiltyp: Vorlagen. Im Darauffolgenden Feld suchen wir nach „SCEP“.
Als Name vergebe ich diesmal “Windows_import_SCEP-WiFi-Certificate”. Unter den Konfigurationseinstellungen müssen folgende Einstellungen getroffen werden:
- Zertifikatstyp: Gerät
- Format des Antragsstellernamens: CN={{DeviceName}}
- Gültigkeitsdauer des Zertifikats: 1 Jahr (Da sich die Zertifikate automatisch erneuern kann der Zeitraum noch geringer gewählt werden)
- KSP: Bei TPM-KSP registrieren, falls vorhanden, andernfalls Software-KSP
- Schlüsselverwendung: Schlüsselchiffrierung, Digitale Signatur
- Schlüsselgröße: 2048
- Hashalorhytmus: SHA-2
- Stammzertifikat: Das Profil aus dem vor kurzem erstelltem Profil verwenden
- Erweiterte Schlüsselverwendung: Clientauthentifizierung (rechts in der Tabelle im Drop Down Menü auswählen)
- Erneuerungsschwellwert: 20 (gibt an wann das Zertifikat erneuert werden soll)
- SCEP URLs: Die öffentliche Adresse des SCEPSRV1 Servers: https://subdomain.domain.endung/certsrv/mscep/mscep.dll
Im Nächsten Fenster kann die eben erwähnte Testgeräte-Gruppe ausgewählt und die Konfiguration abgeschlossen werden.
Abschließend sollte man bei einem aktiven Gerät bereits ein Zertifikat im lokalen Zertifikatsspeicher sehen. Außerdem wird der Status der Profile in Intune überprüft.
Im letzten Schritt muss die SubCA ebenfalls im WLAN-Radius Server hinterlegt werden, um Zertifikate von dem entsprechenden Zertifikatsaussteller zu akzeptieren. Wie das funktioniert beschreibe ich hier nicht.
Nun muss ein letztes Profil erstellt werden. Dieses ist für die Verteilung des WLAN Profils verantwortlich. Als Plattform wählen wir Windows 10 und höher, als Propfiltyp: Vorlagen. Im Darauffolgenden Feld suchen wir nach „WLAN“.
Als Name vergebe ich Windows_config_WiFi-Profile.
Nachfolgend wird das Profil wie folgt konfiguriert:
- WLAN-Typ: Enterprise
- WLAN-Name (SSID): Name der SSID des WLAN-Netzes
- Verbindungsname: Name der SSID des WLAN-Netzes
- Authentifizierungsmodus: Computer (da unser SCEP Zertifikat auch als Gerätezertifikat konfiguriert ist)
- Anmeldeinformationen bei jeder Anmeldung speichern: Aktivieren
- EAP-Typ: eap-tls
- Zertifikatsservername: Bezeichnet den Hostnamen/FQDN des Radius-Servers
- Stammzertifikate für Serverüberprüfung: Gibt ein zuvor importiertes Stammzertifikat an, welches das Serverzertifikat des Radius Servers ausgegeben hat (diesen Schritt habe ich nicht gezeigt. Die Profilerstellung erfolgt allerdings ähnlich, wie die des Zertifikatimports Windows_import_SubCA1).
- Clientauthentifizierungsmethode: SCEP-Zertifikat
- Identätiszertifikat: Gerade erstelltes SCEP Profil auswählen
Die Einstellungen für das Profil sind natürlich hochgradig individuell und können nicht 1 zu 1 übernommen werden.
Nachdem das Profil ebenfalls der entsprechenden Gerätegruppe zugeordnet wurde, sollte sich das entsprechende Gerät nach der Verteilung automatisch mit dem korrekten Zertifikat mit der angegebenen WLAN SSID verbinden.
Schlusswort
Herzlichen Glückwunsch, damit ist die Konfiguration einer automatischen Zertifikatsverteilung eines WLAN-Zertifikats erfolgreich abgeschlossen. Die oben genannten Intune Profile können natürlich ebenfalls auf ein Mobiltelefon oder auf ein MacOS Betriebssystem übertragen werden.