Nom de principal du service Kerberos incorrect

Cet article fournit de l’aide pour résoudre un problème où les utilisateurs ne parviennent pas à accéder à une ressource et un journal des événements système affiche l’événement Kerberos 4.

Version du produit d’origine :   Windows Server 2008 R2 Service Pack 1
Numéro de la base de connaissances initiale :   2706695

Symptômes

Un journal des événements système a montré au moins un événement Kerberos 4. Cet événement sur un serveur indique qu’un client a donné au serveur un ticket d’accès à une ressource que le serveur ne peut pas déchiffrer.

Le vrai symptôme est qu’un utilisateur n’a pas accès à une ressource. L’erreur la plus probable est qu’il s’agit d’un accès refusé ou d’une erreur 5.

Cause

Les tickets de service Kerberos sont obtenus par un client et transmis à un serveur pour accéder aux ressources sur ce serveur. Ils sont signés à l’aide d’un secret dont seul le serveur auquel la ressource est demandée peut déchiffrer. Lorsque le SPN est sur un compte incorrect dans Active Directory, la clé secrète utilisée est l’un des comptes sur lesquels se trouve le SPN au lieu de l’un des serveurs.

Par conséquent, le serveur ne peut pas déchiffrer le ticket et renvoie une erreur au client.

Résolution

Pour résoudre ce problème, le nom principal de service doit être recherché et supprimé de l’autre compte, puis il doit être ajouté au compte correct dans Active Directory. Pour ce faire, procédez comme suit :

  1. À partir d’une invite de commandes avec élévation de privilèges et à l’aide des informations d’identification d’administrateur d’entreprise, exécutez la commande « setspn-Q <SPN> ». Cela renverra un nom d’ordinateur. SetSPN.exe est installé avec le rôle Services d’annuaire Active Directory ou RSAT.
  2. Supprimez le nom principal de service inscrit de manière incorrecte en accédant à l’invite de commandes et en exécutant la commande « setspn-D <SPN> <computername> ».
  3. Ajoutez le nom principal de service au bon compte à l’invite de commandes en exécutant la commande « SetSPN-A <SPN> <computername of computer which had the System event 4> ».

Informations supplémentaires

Lorsqu’un client demande un ticket de service qu’il peut transmettre sur le contrôleur de service, il le transmet. Le client l’envoie ensuite à l’hôte distant auquel il tente de s’authentifier.

Ce problème peut apparaître dans un suivi réseau avec une réponse d’erreur du serveur de ressources affichant l’erreur KRB_AP_ERR_MODIFIED.

Dans ce scénario, le serveur distant ne peut pas déchiffrer le ticket que le client lui a envoyé depuis que le mot de passe utilisé pour le chiffrement n’est pas le bon. Cela est, à son tour, le résultat du SPN pour ce service et le ticket sur l’objet incorrect dans AD. Il s’agit du mot de passe d’autres objets qui est utilisé à la place. Dans ce scénario, le serveur qui ne peut pas déchiffrer le ticket répond au client. Le client place ensuite l’événement Kerberos 4 (exemple ci-dessous) dans son journal des événements système. Moins souvent, cela est dû à des problèmes réseau entre le client et le serveur sur lequel le ticket est tronqué.

ID d’événement KERBEROS 4

Type d’événement : erreur source de l’événement : catégorie d’événement Kerberos : aucun ID d’événement : 4 Date : 8/17/2004 heure : 1:30:00 utilisateur PM : N/A Computer : MACHINENAMEDescription : le client Kerberos a reçu une erreur KRB_AP_ERR_MODIFIED à partir du serveur host/MachineName. ChildDomain. rootdomain. com. Le nom de la cible utilisé était CIFS/MachineName. domain. com. Cela indique que le mot de passe utilisé pour chiffrer le ticket de service Kerberos n’est pas le même que sur le serveur cible. En règle générale, cela est dû à des comptes d’ordinateur nommés de manière identique dans le domaine cible (childdomain.rootdomain.COM) et au domaine du client. Contactez votre administrateur système.