Nom du principal du service Kerberos sur un compte incorrect

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

S’applique à : Windows Server 2008 R2 Service Pack 1
Numéro de la base de connaissances d’origine : 2706695

Symptômes

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

Le vrai symptôme est qu’un utilisateur n’a pas pu accéder à une ressource. L’erreur la plus probable qu’ils ont reçue était un accès refusé ou l’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 que seul le serveur disposant de la ressource demandée peut déchiffrer. Lorsque le SPN se trouve sur le mauvais compte dans Active Directory, le secret utilisé est l’un des comptes sur lequel le SPN se trouve au lieu de celui 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 du principal de service doit être recherché et supprimé de l’autre compte, puis il doit être ajouté au compte approprié dans Active Directory. Pour ce faire, procédez comme suit :

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

Plus d’informations

Lorsqu’un client demande un ticket de service qu’il peut transmettre le contrôleur de domaine le émet. Le client l’envoie ensuite à l’hôte distant auprès de lequel il tente de s’authentifier.

Ce problème peut apparaître dans une trace 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é, car le mot de passe utilisé pour le chiffrer n’est pas le bon. Cela, à son tour, est le résultat du SPN pour ce service et ticket se trouvant sur l’objet incorrect dans AD. C’est ce 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. Cela est moins souvent dû à des problèmes réseau entre le client et le serveur où le ticket est tronqué.

ID d’événement KERBEROS 4

Type d'événement : Erreur
Source de l’événement : Kerberos
Catégorie d’événement : Aucun
ID d’événement : 4
Date : <DateTime>
Heure : <DateTime>
Utilisateur : N/A
Ordinateur : MACHINENAMEDescription :
Le client Kerberos a reçu une erreur KRB_AP_ERR_MODIFIED de l’hôte/machinename.childdomain.rootdomain.com serveur. Le nom cible utilisé était cifs/machinename.domain.com. Cela indique que le mot de passe utilisé pour chiffrer le ticket de service Kerberos est différent de celui sur le serveur cible. En règle générale, cela est dû à des comptes d’ordinateur portant le même nom dans le domaine cible (childdomain.rootdomain.COM) et le domaine client. Contactez votre administrateur système.