ConfigMgr HTTPS-Only

Wie du weißt, hat Microsoft die HTTP-Kommunikation seit einiger Zeit abgekündigt. Du kannst die Informationen dazu aus dieser Liste entnehmen. Ich zeige dir in diesem Artikel, wie du deine ConfigMgr-Infrastruktur auf HTTPS-Only Kommunikation umstellen kannst. Es ist gar nicht so schwer. Auch wenn dies der längste Artikel ist, den ich bisher geschrieben habe.

Ich empfehle dir deine ConfigMgr Infrastruktur auf HTTPS-Only umzustellen, und dich nicht mit dem Erweiterten-HTTP zu begnügen. Denn das erweiterte HTTP kann nur eine Übergangslösung sein. Microsoft selbst schreibt, dass Sie empfehlen HTTPS-Only mit einer AD basierten PKI zu implementieren. Es gibt Szenarien, die das Erweiterte-HTTP nicht unterstützen. Das sind z. B.:

  • Client peer-to-peer communication for content
  • State migration point
  • Remote tools
  • Reporting services point

Und laut Microsoft ist diese Liste nicht vollständig.

Kleiner Disclaimer noch: Ich beschreibe die Umstellung anhand einer Active Directory (AD) basierten Certification Authority (CA), für eine Umsetzung mit 3rd-Party CA’s gilt diese Anleitung nicht. Bitte benutze auch keine schon vorhandenen Zertifikate. Damit hatte ich auch schon so meine Erfahrungen. Das ist zum Scheitern verurteilt. Ich werde hier auch nicht drauf eingehen, welches Zertifikat für welche Art von Kommunikation gebraucht wird. Das kannst du hier nachlesen.

Was brauchst du?

Wie oben beschreiben, brauchst du eine AD basierte CA, und jede Menge Zertifikates Vorlagen. Meine Screenshots, die du hier siehst, sind wie immer alle in englischer Sprache. Ich halte nichts davon, Windows Server mit lokalisierter Sprache zu betreiben. Es macht die Fehlersuche unnötig kompliziert, weil die Logfiles und Fehlermeldungen auch lokalisiert sind. Wenn du deine Server mit lokalisierter Sprache betreibst, dann musst du ein wenig Transferleistung vornehmen.

Los geht’s!

Zertifikatsvorlage für MP, SUP, DP und ConfigMgr-Clients erstellen

Öffne die CA-Konsole und klicke mit der rechten Maustaste auf den Eintrag Certificate Templates. Im Kontextmenü wählst du den Eintrag Manage aus.

Es öffnet sich nun eine weitere Konsole. Die Certificate Templates Console. Hier siehst du alle Zertifikatsvorlagen, die Microsoft mit der CA schon mitliefert.

Als Erstes suchst du dir das Web Server Template. Klicke mit der rechten Maustaste auf den Eintrag und wähle aus dem Kontextmenü Duplicate Template.

In den Einstellungen der neuen Vorlage wählst du die Registerkarte General aus, und änderst die Einträge für: Template Display Name, Template Name. Anschließend passt du noch die Validity period und die Renewal period nach deinen Bedürfnissen an. Bei mir sieht das so aus:

Als Nächstes überprüfst du die Registerkarte Subject Name. Unter dieser Registerkarte muss Supply in the request ausgewählt sein.

In der Registerkarte Security fügst du die Gruppe oder die Server hinzu, die dieses Webserverzertifikate bekommen sollen, und vergibst die Berechtigung Enroll. Ich empfehle dir, die Siteserver in einer AD-Gruppe zusammenzufassen. Es erleichtert die Administration etwas. Wenn alles eingestellt ist, kannst du den Dialog mit Klick auf den OK Button bestätigen.

Du siehst nun in der Vorlagenübersicht eine neue Zertifikatsvorlage. Dazu aber später mehr machen wir mit den Vorlagen weiten.

Workstation Authentication Zertifikatsvorlage für DP erstellen

Als Nächstes musst du noch ein Workstation Authentication Certificate für deine DPs erstellen. Hierzu benutzt du wieder die Konsole für die Zertifikatsvorlagen. Diesmal wählst du die Vorlage Workstation Authentication mit der rechten Maustaste aus und wählst im Kontextmenü wieder Duplicate Tempalte.

In den Einstellungen der neuen Vorlage wählst du wieder die Registerkarte General aus, und änderst die Einträge für: Template Display Name, Template Name. Anschließend passt du noch die Validity period und die Renewal period nach deinen Bedürfnissen an. Bei mir sieht das wieder so aus:

Als Nächstes öffnest du die Registerkarte Request Handling. Alle Einstellungen belässt du auf Standard. Nur den Haken bei Allow private key to be exported musst du zusätzlich setzen.

In der Registerkarte Security fügst du wieder die Gruppe deiner ConfigMgr Siteserver hinzu, und gibst dieser Gruppe die Berechtigung Read und Enroll.

Entferne die Gruppe der Domain Computers. Diese wird hier nicht gebraucht und könnte ein Sicherheitsrisiko darstellen. Anschließend kannst du den Dialog mit OK bestätigen.

Zertifikatsvorlage für ConfigMgr Clients erstellen

Weil es so schön war, musst du als Nächstes noch ein Workstation Authentication Certificate für deine Endpoints erstellen. Hierzu benutzt du wieder die Konsole für die Zertifikatsvorlagen. Diesmal wählst du wieder die Vorlage Workstation Authentication mit der rechten Maustaste aus und wählst im Kontextmenü wieder Duplicate Tempalte.

In den Einstellungen der neuen Vorlage wählst du wieder die Registerkarte General aus, und änderst die Einträge für: Template Display Name, Template Name. Anschließend passt du noch die Validity period und die Renewal period nach deinen Bedürfnissen an. Bei mir sieht das wieder so aus:

Du wechselst auf die Registerkarte Subject Name und prüfst, ob die Einstellungen stimmen.

Danach wählst du die Registerkarte Security und vergibst für die Gruppe Domain Computers die Berechtigung Read, Enroll und Autoenroll. Anschließend bestätigst du den Dialog mit dem OK Button.

In der Zertifikatsvorlagenkonsole solltest du nun drei zusätzlich Zertifikate finden. Die Konsole kannst du jetzt schließen.

Veröffentlichen der Zertifikatsvorlagen

Zurück in der CA Konsole klickst du erneut mit der rechten Maustaste auf Certificate Templates, und wählst im Kontextmenü den Punkt New, und unter diesem Punkt den Eintrag Certificate Template to Issue aus.

Im nächsten Dialog wählen wir unsere drei Zertifikatsvorlagen aus und bestätigen die Auswahl mit OK.

Anschließend siehst du, dass deine erstellten Vorlagen jetzt in der CA veröffentlicht wurden.

Erstellen der Auto Enrollment GPO

Beim Erstellen der Vorlage ConfigMgr Client Certificate hast du die Berechtigung „Autoenroll“ für Domain Computers erteilt. Daher musst du die GPO „Enabling Certificate Services Client“ aktivieren, damit die ConfigMgr Clients das Zertifikat automatisch erhalten können, sobald die Gruppenrichtlinie auf ihnen aktualisiert wurde.

Hinweis: Wenn du diese Gruppenrichtlinie (GPO) auf Domainebene zuweist, wird sie auf alle Computer in der Domain angewendet. In einer Produktionsumgebung kannst du die automatische Registrierung (Auto Enrollment) einschränken, sodass sie nur auf ausgewählten Computern angewendet wird. Du kannst die GPO auf der Ebene einer Organisationseinheit (OU) zuweisen, oder du kannst die GPO in der Domain einer, oder mehrere, Sicherheitsgruppe zuweisen, sodass sie nur auf die Computer in dieser Gruppe angewendet wird. Wenn du die automatische Registrierung einschränkst, müssen die Server einbezogen werden, die als Management Point (MP) fungieren.

Als Erstes öffnen die Konsole für das GPO Management.

In der Konsole klickst du im Konsolenbaum mit der rechten Maustaste auf den Eintrag Group Policy Object und wählst im Kontextmenü den Eintrag New aus.

Vergebe einen Namen für die neue GPO und bestätige den Dialog mit OK.

Editiere die neu GPO, in dem du mit der rechten Maustaste auf die GPO klickst und im Kontextmenü Edit auswählst.

Navigiere im Group Policy Management Editor zu Computer Configuration ⇒ Windows Settings ⇒ Security Settings ⇒ Public Key Policies. Anschließend klicke mit der rechten Maustaste auf den Eintrag Certificate Service Client – Auto Enrollement und wähle im Kontextmenü den Eintrag Properties.

In den Einstellungen setze die GPO von Disabled auf Enabled und setze die beiden Haken bei Renew und Update. Der Rest bleibt Standard. Anschließend die Einstellungen mit OK bestätigen.

Die erstellt GPO muss nun nur noch entsprechend verlinkt werden. Der Einfachheitshalber verlinke ich die GPO bei mir auf Domainebene. Inwieweit es für dich passt, kannst du individuell entscheiden. Siehe dazu auch den Hinweis am Anfang von diesem Abschnitt.

Zum Überprüfen, ob die GPO auf den Endgeräten ankommt, nimm dir einen Computer und für in der CMD einen GPUpdate aus. Anschließend öffnest du certlm (MMC für die Verwaltung von lokalen Computerzertifikaten), wählst den Personal Certification Store aus und schaust, ob unter den Zertifikaten ein Clientzertifikat angekommen ist.

Anfordern des Webserverzertifikats für MP, DP und SUP

Als Erstes öffnest du die Konsole für die Computerzertifikate auf deinem Siteserver. In der Konsole navigierst du zum Personal Certificate Store und öffnest mit einem Rechtsklick das Kontextmenü. Im Kontextmenü wählst du den Eintrag Request new certificate.

Es öffnet sich der Dialog für das Certificate Enrollement. Im Before You Begin Dialog klickst du auf Next.

Im Dialog Select Certificate Enrollment Policy klickst du auch auf Next.

Im Dialog Request Certificates wählst du das Webserverzertifikat aus, und klickst auf More information is requrired to enroll for this certificate.

Es öffnen sich die Zertifikatseinstellungen.

Unter dem Punkt Alternative Name wählen wir den Typ DNS aus und geben den FQDN unseres Servers ein, auf dem wir gerade die Anforderung durchführen. Anschließend klicken wir auf Add >. Wiederhole das ganze auch für den Shortname.

Anschließend wechselst du auf die Registerkarte General und vergibst einen Friendly Name. Danach verlässt du den Dialog mit Klick auf OK.

Zurück im Dialog Request Certificates klickst du auf den Button Enroll.

Sollte es zu folgender Meldung kommen,

dann muss der Computer/Server einmal neu gestartet werden. Danach kann man den Vorgang erneut durchführen. Es sollte dann funktionieren und der Dialog kann mit Finish geschlossen werden.

Hinterlegen des Webserverzertifikats im IIS MP, DP und SUP

Öffnen nun den IIS Manager.

Im IIS Manager klickst du mit der rechten Maustaste auf den Eintrag Default Web Site, und im Kontextmenü wähle den Eintrag Edit Bindings.

In den Site Bindingds wähle den Eintrag https aus und klicke auf Edit.

Im Dialog Edit Site Bindings wählst du das IIS-Zertifikat, das wir eben angefordert haben. Der Dialog kann anschließend mit OK wieder geschlossen werden.

Die Site Bindings können jetzt auch mit Klick auf Close wieder geschlossen werden.

Hinterlegen des Webserverzertifikats im IIS für den WSUS

Wir bleiben im IIS Manager und wählen mit der rechten Maustasten den Eintrag WSUS Administration aus. Auch hier wählen wir im Kontextmenü den Eintrag Edit Bindings aus.

Auch hier wählst du in den Site Bindings den Eintrag für https und klickst auf Edit.

Nun wählst du wieder das IIS Zertifikat welcher du zuvor schon für die Primary Site ausgewählt hat und bestätigst den Dialog mit OK.

Die Site Bindings kannst du mit Klick auf Close verlassen.

Nun klappst du im IIS Manager die WSUS Administration auf und markierst den Eintrag ApiRemoting30. In den Einstellungen vom ApiRemoting30 klickst du doppelt auf SSL Settings.

Die SSL Settings sind wie folgt einzustellen und mit Apply zu bestätigen.

Die gleichen SSL Einstellungen setzt du auch bei den Einträgen ClientWebService, DSSAuthWebService, ServerSyncWebService und SimpleAuthWebService. Danach kann der IIS Manager geschlossen werden.

Export Client Certificate für den DP

Öffnen wieder die Computer Certificate Konsole und navigiere zum Personal Store. Dort machst du einen Rechtsklick auf Certificates und wählst im Kontextmenü den Eintrag Request new Certificate.

Die ersten beiden Dialog bestätigst du wieder mit Next. Im dritten Dialog wählst du das Clientzertifikat für den Export aus und klickst auf Enroll. Den letzten Dialog kannst du dann mit Finish schließen.

Zurück in der Zertifikatskonsole siehst du jetzt ein zusätzliches Clientzertifikat. Dieses Zertifikat wählst du mit der rechten Maustaste aus, und im Kontextmenü wählst du unter All Tasks den Punkt Export aus.

Im Willkommensdialog vom Export Wizard klickst du auf Next.

Den Punkt Yes, Export the Private key aktivieren und mit Next bestätigen.

Den Dialog Export File Format kontrollieren und mit Next bestätigen.

Im Dialog Security ein Passwort vergeben und den Dialog mit Next bestätigen.

Speicherort und Namen vergeben und den Dialog mit Next bestätigen.

Zusammenfassung lesen und mit Finish den Prozess beenden.

MP auf HTTPS umstellen

Öffne die ConfigMgr-Konsole und öffnen die Einstellungen von deinem MP.

In den Einstellungen aktiviere HTTPS und bestätige den Dialog mit OK.

Achtung: Du musst das MPSetup.log aufrufen und warten, bis sich die MP-Rolle neu installiert hat. Erst dann kannst du mit der Umstellung weitermachen.

DP auf HTTPS umstellen

Öffnen die ConfigMgr-Konsole und die Einstellungen von deinem DP.

Gehe zur Registerkarte Communication und aktivere den Punkt HTTPS.

Als Nächstes importierst du das Clientzertifikat, welches wir zuvor exportiert haben und gebe das Passwort ein. Danach kannst du den Dialog mit OK schließen.

Im Hintergrund werden nun vom Distribution-Manager neue virtuelle Verzeichnisse für die HTTPS Kommunikation angelegt. Diesen Vorgang kannst du im Distmgr.log verfolgen. Oder im IIS Manager:

SUP auf HTTPS umstellen

Öffne eine CMD als Administrator auf deinem WSUS Server und navigiere in der CMD zu Prgram Files\Update Services\Tools und führe folgenden Befehl aus:

WSUSUtil.exe ConfigureSSL

In der ConfigMgr-Konsole rufst du die Eigenschaften deines SUP auf.

Aktiviere den Haken unter Require SSL connection to the WSUS Server und bestätige die Einstellungen mit OK.

Primary Site auf HTTPS-Only umstellen

Um die Primary Site auf HTTPS-Only umzustellen, musst du noch dein Root-Certificate exportieren und es in den Einstellungen der Primary Site hinterlegen. Öffne dazu wieder mal die Konsole für die Verwaltung von Computerzertifikaten. Dieses Mal suchst du dir das Root-Certificate deiner Domain aus dem Trusted Root Certification store.

Mit einem rechten Mausklick auf das Zertifikat startest du den Exportprozess.

Die erste Seite des Exportwizard kannst du mit Next bestätigen. Auf der zweiten Seite nimmst du folgenden Einstellungen vor und klickst zur Bestätigung auf Next.

Wähle einen sicheren Speicherort aus und klicke auf Next.

Bestätige die Zusammenfassung mit Finish.

In der ConfigMgr-Konsole öffnest du die Einstellungen deiner Primary Site.

Wechsle in den Einstellungen auf die Registerkarte Communication Security und wähle als erstes HTTPS only aus.

Im unteren Teil klickst du auf den Button Set und hinterlegst das eben exportierte RootCA-Zertifikat.

Bestätige die Dialoge mit OK und du hast es geschafft. Deine ConfigMgr-Infrastruktur ist nun auf HTTPS-Only umgestellt.

Viel Spaß.