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 :

  • Un service d'enregistrement des périphériques réseau (Network Device Enrollment Service, NDES) est implémenté dans le réseau.
  • Le serveur NDES utilise un compte de domaine pour l'identité du pool d'applications SCEP IIS.
  • La demande de certificats via NDES échoue avec le code d'erreur HTTP 500 (erreur interne du serveur).
  • L'appel des pages mscep et mscep_admin échoue également avec le code d'erreur HTTP 500.
  • Même après une réinitialisation iisreset ou un redémarrage du serveur NDES, aucun événement indiquant que le service NDES a été démarré ou qu'il y a eu des erreurs n'apparaît après avoir appelé la page mscep ou mscsp_admin.

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)„ .

Description détaillée de l'erreur

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.

Si vous accédez directement à la page mscep sur le serveur NDES, vous obtiendrez plus de détails. Vous verrez le code d'erreur

Code d'erreur 0x80070542 (ERROR_BAD_IMPERSONATION_LEVEL)

Le code d'erreur 0x80070542 signifie :

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

Si l'on observe le processus IIS (w3wp.exe) avec Process Monitor, une BAD IMPERSONATION est également signalée ici.

L'appel de mscep_admin fonctionne, mais uniquement si vous vous connectez avec le compte de service NDES.

Si vous vous connectez à la page mscep_admin avec le compte de service NDES, le service démarre, mais la demande de certificat échoue toujours avec le message d'erreur HTTP 500.

Une demande de certificat avec le compte de service NDES génère le code d'erreur 0x8007025c (ERROR_INVALID_VARIANT).

Dans ce cas, deux événements du service NDES (événements n°. 14 et 18) consigné :

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).

Le code d'erreur 0x80070005 signifie E_ACCESSDENIED (erreur générale d'accès refusé). On le retrouve également dans Process Monitor. Le compte de service NDES dispose toutefois des autorisations de lecture nécessaires pour les clés de registre répertoriées.

Si vous ajoutez temporairement le compte de service NDES au groupe des administrateurs locaux, le service fonctionne comme prévu.

Solution

Dans le cas présent, les paramètres de durcissement ont été distribués à tous les serveurs, y compris au serveur NDES, via des stratégies de groupe. Cela a eu pour effet de retirer au compte de service NDES le droit „ Impersonate a Client after Authentication “ (SeImpersonatePrivilege). Après le redémarrage du serveur, du service de serveur Web ou du pool d'applications SCEP, le compte de service NDES ne dispose donc plus de ce droit.

Il est toutefois requis par le compte de service NDES. Dans la configuration standard, il obtient ce droit via l'appartenance au groupe IIS_IUSRS. Il doit donc être réattribué en conséquence.

Il faut ensuite redémarrer le service NDES à l'aide de la commande iisreset afin que les autorisations soient correctement appliquées.

Code d'erreur 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