La demande de certificats via le service d'enregistrement des périphériques réseau (NDES) échoue avec le code d'erreur HTTP 500.

Supposons le scénario suivant :

  • Es ist ein Registrierungsdienst für Netzwerkgeräte (Network Device Enrollment Service, NDES) im Netzwerk implementiert.
  • Der NDES Server verwendet ein Domänenkonto für die Identität des SCEP IIS-Anwendungspools.
  • Die Beantragung von Zertifikaten über NDES schlägt mit HTTP Fehlercode 500 (Internal Server Error) fehl.
  • Der Aufruf der mscep- und mscep_admin Seiten schlägt ebenfalls mit dem HTTP Fehlercode 500 fehl.
  • Auch nach einem iisreset bzw. Neustart des NDES Servers erscheint nach Aufruf der mscep oder mscsp_admin Seite kein Ereignis, dass der NDES Dienst gestartet wäre, oder dass es Fehler gegeben hätte.

Le service d'enregistrement des périphériques réseau (Network Device Enrollment Service, NDES) offre la possibilité de demander des certificats auprès d'une autorité de certification pour les périphériques qui ne disposent pas d'un identifiant dans Active Directory (par exemple les périphériques réseau tels que les routeurs, les commutateurs, les imprimantes, les clients légers ou les smartphones et tablettes). Pour une description plus détaillée, voir l'article "Principes de base du service d'enregistrement des périphériques réseau (Network Device Enrollment Service, NDES)„ .

Ausführliche Fehlerbeschreibung

Connaissez-vous TameMyCerts? TameMyCerts est un add-on pour l'autorité de certification Microsoft (Active Directory Certificate Services). Il étend la fonction de l'autorité de certification et permet de Application de la réglementationIl s'agit d'un logiciel de gestion des certificats qui permet d'automatiser l'émission de certificats en toute sécurité. TameMyCerts est unique dans l'écosystème Microsoft, a déjà fait ses preuves dans d'innombrables entreprises du monde entier et est disponible sous une licence libre. Il peut téléchargé via GitHub et être utilisé gratuitement. Une maintenance professionnelle est également proposée.

Ruft man die mscep-Seite direkt auf dem NDES-Server auf, erhält man mehr Details. Man sieht den Fehlercode

Fehlercode 0x80070542 (ERROR_BAD_IMPERSONATION_LEVEL)

Der Fehlercode 0x80070542 bedeutet:

0x80070542 (WIN32: 1346 ERROR_BAD_IMPERSONATION_LEVEL) -- 2147943746 (-2147023550)
Either a required impersonation level was not provided, or the provided impersonation level is invalid.

Beobachtet man den IIS-Prozess (w3wp.exe) mit dem Process Monitor, wird hier ebenfalls eine BAD IMPERSONATION gemeldet.

Der Aufruf von mscep_admin funktioniert, jedoch nur, wenn man sich mit dem NDES-Dienstkonto anmeldet.

Meldet man sich an der mscep_admin Seite als NDES-Dienstkonto an, bewirkt dies den Dienststart, jedoch schlägt eine Beantragung eines Zertifikats weiterhin mit HTTP Fehlermeldung 500 fehl.

Eine Beantragung eines Zertifikats mit dem NDES-Dienstkonto erzeugt den Fehlercode 0x8007025c (ERROR_INVALID_VARIANT).

In diesem Fall werden auch zwei Ereignisse von NDES-Dienst (Ereignisse Nr. 14 et 18) protokolliert:

The Network Device Enrollment Service cannot sign the response to a client request (0x80070005).
The Network Device Enrollment Service cannot decrypt the client's PKCS7 message (0x80070005).

Der Fehlercode 0x80070005 bedeutet E_ACCESSDENIED (General access denied error.). Diesen findet man auch im Process Monitor wieder. Das NDES-Dienstkonto besitzt jedoch die benötigten Leseberechtigungen auf die aufgelisteten Registrierungsschlüssel.

Nimmt man das NDES-Dienstkonto vorübergehend in die Gruppe der lokalen Administratoren auf, funktioniert der Dienst wie vorgesehen.

Solution

Im vorliegenden Fall wurden Härtungseinstellungen über Gruppenrichtlinien an alle Server – somit auch an den NDES-Server verteilt. Hierdurch wurde dem NDES-Dienstkonto das Recht „Impersonate a Client after Authentication“ (SeImpersonatePrivilege) genommen. Nach einem Neustart des Servers, des Webserver-Dienstes oder des SCEP-Anwendungspools verfügt das NDES-Dienstkonto also nicht mehr über dieses Recht.

Es wird jedoch vom NDES-Dienstkonto benötigt. In der Standardeinstellung erhält es dieses Recht über die Mitgliedschaft in der Gruppe IIS_IUSRS. Es muss also entsprechend wieder vergeben werden.

Anschließend muss mit einem iisreset Befehl der NDES-Dienst neu gestartet werden, damit die Berechtigungen korrekt angewendet werden.

Fehlercode 0x80070057 (ERROR_INVALID_PARAMETER)

Voir l'article "Le service d'enregistrement des périphériques réseau (NDES) consigne le message d'erreur "The Network Device Enrollment Service cannot retrieve one of its required certificates (0x80070057). The parameter is incorrect".„ .

Liens complémentaires :

Les commentaires sont fermés.

fr_FRFrançais