Den Registrierungsdienst für Netzwerkgeräte (NDES) ohne Enterprise Administrator Berechtigungen installieren

Folgendes Szenario angenommen:

  • Man installiert einen Network Device Enrollment Service (NDES) Server.
  • Die Rollenkonfiguration schlägt mit folgender Fehlermeldung fehl:
Insufficient access rights to perform this operation. 0x80072098 (WIN32: 8344 ERROR_DS_INSUFF_ACCESS_RIGHTS

Üblicherweise erfordert die NDES-Rollenkonfiguration, dass der installierende Benutzer Mitglied der Gruppe "Enterprise Admins" ist. Dies ist technisch jedoch nicht notwendig und widerspricht den Sicherheits-Härtungs-Empfehlungen von Microsoft, da es sich bei NDES nicht (unbedingt) um ein System handelt, welches der höchsten Sicherheitsschicht (Tier-0) zugeordnet wird.

Nachfolgend wird ein Weg beschrieben, wie man die NDES-Rolle auch ohne die geforderten Rechte konfigurieren kann.

Der Registrierungsdienst für Netzwerkgeräte (Network Device Enrollment Service, NDES) bietet eine Möglichkeit, Geräten, welche nicht über eine Kennung im Active Directory verfügen (beispielsweise Netzwerkgeräte wie Router, Switches, Drucker, Thin Clients oder Smartphones und Tablets), Zertifikate von einer Zertifizierungsstelle zu beantragen. Für eine detailliertere Beschreibung siehe Artikel "Grundlagen Registrierungsdienst für Netzwerkgeräte (Network Device Enrollment Service, NDES)".

Die hier beschriebene Konfiguration funktioniert zwar in der Praxis, wurde jedoch nicht vom Hersteller (Microsoft) getestet und wird daher nicht offiziell unterstützt.

Diese Methode eignet sich auch, einen NDES Server mit einer Zertifizierungsstelle von einem Dritthersteller einzusetzen (z.B. um die Verwendung des InTune Connectors für NDES mit dieser zu ermöglichen), wenn diese ein entsprechendes Interface für die Beantragung von Zertifikaten via DCOM anbietet.

Die nachfolgende Methode bietet gegenüber der originalen einige Vorteile:

  • Die Installation der NDES-Rolle erfordert damit keine erhöhten Berechtigungen. Somit ist es nicht erforderlich, sich mit hochprivilegierten Konten am NDES-Server anzumelden, um die Rolle zu installieren, was die Angriffsoberfläche, insbesondere für den Diebstahl von Anmeldedaten, reduziert. Ebenso kann die Installation in Eigenregie durch das PKI-Team erfolgen.
  • Es können direkt sicherheitsgehärtete Registration Authority (RA) Zertifikate verwendet werden.
  • Die originale NDES-Installationsroutine startet den Zertifizierungsstellen-Dienst neu, was nicht immer zuverlässig klappt, je nach Audit-Einstellungen und verwendetem Hardware Security Modul. Dieser Prozess kann durch die manuelle Installation gesteuert werden.

Umsetzung

Ziel-Zertifizierungsstelle konfigurieren

Auf der Ziel-Zertifizierungsstelle muss die Konfigurationseinstellung "SubjectTemplate" um drei Werte erweitert werden:

  • UnstructuredName
  • UnstructuredAddress
  • DeviceSerialNumber

Dies kann mit den folgenden Kommandozeilenbefehlen erfolgen.

certutil -setreg CA\SubjectTemplate +UnstructuredName
certutil -setreg CA\SubjectTemplate +UnstructuredAddress
certutil -setreg CA\SubjectTemplate +DeviceSerialNumber

Anschließend muss der Zertifizierungsstellen-Dienst neu gestartet werden.

Zertifikatvorlagen bereitstellen

Auf der Ziel-Zertifizierungsstelle müssen die folgenden Zertifikatvorlagen konfiguriert und zur Beantragung aktiviert werden:

Wird die Geräte-Vorlage nicht veröffentlicht, werden keine Einmalkennwörter generiert. Bei Aufruf der Administrations-Webseite erscheint die Fehlermeldung "You do not have sufficient permission to enroll with SCEP. Please contact your system administrator.".

Binärdateien für NDES installieren

Falls noch nicht geschehen, muss auf dem Ziel-NDES-Server der erste Teil der NDES-Installation vorgenommen werden, damit die benötigten Dateien an Ort und Stelle sind:

Add-WindowsFeature Web-Server -IncludeManagementTools
Add-WindowsFeature ADCS-Device-Enrollment -IncludeManagementTools

Die NDES-Binärdateien finden sich anschließend unter C:\Windows\System32\certsrv\mscep.

IIS Konfiguration importieren

Die NDES-Anwendung wird über die Datei C:\Windows\System32\inetsrv\Config\applicationHost.config auf die Default Web Seite im IIS gebunden. Diese Datei muss von einem System, auf welchem NDES installiert ist (beispielsweise aus einer Testungebung) kopiert und ersetzt werden.

Unter den nachfolgenden Links findet sich eine entsprechend angepasste Datei.

BetriebssystemOriginalMit NDES
Windows Server 2019linklink
Windows Server 2022linklink

Importieren der NDES Registry

Anschließend wird die Registry von einem System, auf welchem NDES installiert ist, importiert. Die Registry-Einstellungen für NDES befinden sich in folgendem Pfad:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MSCEP 

Eine Beispiel-Datei findet man hier. Die Datei beinhaltet den CA-Konfigurations-String, welcher an die eigene Umgebung angepasst werden muss.

Server-Manager den Abschluss der Installation mitteilen

Anschließend wird dem Server-Manager mitgeteilt, dass die NDES-Rolle erfolgreich installiert wurde. Diese Einstellung befindet sich unter folgendem Registry-Pfad:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADCS\NDES]
"ConfigurationStatus"=dword:00000002

Eine Beispiel-Registry-Datei befindet sich hier.

Nun müssen noch die beiden Registration Authority Zertifikate beantragt werden. Hierfür müssen eigene Zertifikatvorlagen konfiguriert werden. Wie dies gemacht wird, wird im Artikel "Eigene Registration Authority (RA) Zertifikatvorlagen für den Registrierungsdienst für Netzwerkgeräte (NDES) verwenden" beschrieben.

Beantragen der Registration Authority Zertifikate

Bitte beachten: Die Registration Authrity Zertifikate müssen von der gleichen Zertifizierungsstelle ausgestellt werden, die der NDES-Server anschließend auch anspricht. Wenn mehrere Zertifizierungsstellen die Zertifikatvorlagen fpr die Registration Authority Zertifikate bereitstellen, wird bei Zertifikatbeantragung über die Microsoft Management Console (MMC) per Zufallsprinzip eine Zertifizierungsstelle ausgewählt und die Zertifikate somit potentiell von der falschen ausgestellt.

Anschließend müssen die beiden Zertifikate im Computer-Zertifikatspeicher beantragt werden.

Berechtigungen auf private Schlüssel setzen

Nun müssen noch die Berechtigungen auf die privaten Schlüssel der Zertifikate angepasst werden, sodass das NDES-Dienstkonto Lesezugriff auf die Schlüssel erhält.

Wird ein Domänenkonto verwendet, sollten die Berechtigungen auf die privaten Schlüssel direkt über die Zertifikatvorlage konfiguriert werden. Sollte dies nicht erfolgt sein, können die Berechtigungen manuell über die Computer-Zertifikat-Verwaltungskonsole (certlm.msc) gesetzt werden. Hierzu wird die die beiden Zertifikate mit rechts geklickt, und "All Tasks" – "Manage Private Keys" ausgewählt.

Das entsprechende Dienstkonto benötigt "Read" Berechtigung auf den privaten Schlüssel.

Leider kann man die SCEP IIS Applikationspool-Identität nicht über die Zertifikate-Managementkonsole konfigurieren. Man findet aber hier ein PowerShell Script, mit welchem dieses erledigt werden kann.

Anschließend kann die NDES-Konfiguration mit dem iisreset Befehl eingelesen werden.

iisreset

Nacharbeiten

Für die NDES-Administrations-Webseite sollte unbedingt die Verwendung von Secure Sockets Layer (SSL) konfiguriert und erzwungen werden, um ein Auslesen der übertragenen Anmeldedaten zu unterbinden. Siehe hierzu Artikel "Secure Sockets Layer (SSL) für den Registrierungsdienst für Netzwerkgeräte (NDES) aktivieren".

Weitere Anpassungen, wie beispielsweise die zu beantragende Zertifikatvorlage, können in der NDES Registry vorgenommen werden. Mögliche Änderungen könnten sein:

Nach einer Änderung der Registrierungs-Einstellungen ist wieder ein iisreset-Befehl erforderlich.

Funktionstest

Nach erfolgter Installation sollte unbedingt ein umfangreicher Funktionstest erfolgen. Die Vorgehensweise hierfür ist im Artikel "Funktionstest durchführen für den Registrierungsdienst für Netzwerkgeräte (NDES)" beschrieben.

Der NDES-Dienst sollte nun unter den folgenden beiden Adressen erreichbar sein:

  • http://<Name-des-NDES-Servers>/certsrv/mscep
  • http://<Name-des-NDES-Servers>/certsrv/mscep_admin

Weiterführende Links:

Externe Quellen

20 Gedanken zu „Den Registrierungsdienst für Netzwerkgeräte (NDES) ohne Enterprise Administrator Berechtigungen installieren“

Kommentare sind geschlossen.