Freigeben über


Kerberos-Dienstprinzipalname für falsches Konto

Dieser Artikel enthält Hilfe zum Beheben eines Problems, bei dem Benutzer nicht auf eine Ressource zugreifen können, und ein Systemereignisprotokoll zeigt Kerberos-Ereignis 4.

Ursprüngliche KB-Nummer: 2706695

Problembeschreibung

Ein Systemereignisprotokoll hat mindestens ein Kerberos-Ereignis 4 angezeigt. Dieses Ereignis auf einem Server, das angibt, dass ein Client dem Server ein Ticket für den Zugriff auf eine Ressource erteilt hat, die der Server nicht entschlüsseln kann.

Das wahre Symptom ist, dass ein Benutzer nicht auf eine Ressource zugreifen konnte. Der wahrscheinlichste Fehler, den sie erhalten haben, war ein Zugriff verweigert oder Fehler 5.

Ursache

Kerberos-Diensttickets werden von einem Client abgerufen und an einen Server übergeben, um Zugriff auf Ressourcen auf diesem Server zu erhalten. Sie werden mit einem geheimen Schlüssel signiert, der nur für diesen Server, auf dem die angeforderte Ressource angefordert wird, entschlüsselt werden kann. Wenn sich der SPN auf dem falschen Konto in Active Directory befindet, ist der geheime Schlüssel, der verwendet wird, eines der Konten, auf denen sich der SPN befindet, statt auf einem der Server.

Daher kann der Server das Ticket nicht entschlüsseln und gibt dem Client einen Fehler zurück.

Lösung

Um dieses Problem zu beheben, muss der Dienstprinzipalname nach dem alternativen Konto gesucht und aus dem alternativen Konto entfernt und dann dem richtigen Konto in Active Directory hinzugefügt werden. Führen Sie die folgenden Schritte aus, um das zu tun.

  1. Führen Sie an einer Eingabeaufforderung mit erhöhten Rechten und mithilfe von Enterprise-Administratoranmeldeinformationen den Befehl setspn -Q <SPN>aus. Dadurch wird ein Computername zurückgegeben. SetSPN.exe wird mit der Active Directory-Dienste-Rolle oder mit RSAT installiert.
  2. Entfernen Sie den falsch registrierten SPN, indem Sie zur Eingabeaufforderung wechseln und den Befehl setspn -D <SPN> <computername>ausführen.
  3. Fügen Sie den SPN dem richtigen Konto an der Eingabeaufforderung hinzu, indem Sie den Befehl setspn -S <SPN> <computername of computer which had the System event 4>ausführen.

Weitere Informationen

Wenn ein Client ein Serviceticket anfordert, dass es die DC-Probleme übergibt. Der Client sendet ihn dann an den Remotehost, bei dem er sich authentifizieren möchte.

Dieses Problem kann in einer Netzwerkablaufverfolgung mit einer Fehlerantwort vom Ressourcenserver auftreten, die den Fehler KRB_AP_ERR_MODIFIEDanzeigt.

In diesem Szenario kann der Remoteserver das Ticket, das der Client an ihn gesendet hat, nicht entschlüsseln, da das zum Verschlüsseln verwendete Kennwort nicht das richtige ist. Dies wiederum ist das Ergebnis des SPN für diesen Dienst und das Ticket für das falsche Objekt in AD. Es handelt sich dabei um ein kennwort für andere Objekte, das stattdessen verwendet wird. In diesem Szenario antwortet der Server, der das Ticket nicht entschlüsseln kann, auf den Client. Der Client fügt dann das Kerberos-Ereignis 4 (Beispiel unten) in das Systemereignisprotokoll ein. Dies wird weniger häufig durch Netzwerkprobleme zwischen Client und Server verursacht, bei denen das Ticket abgeschnitten wird.

KERBEROS-Ereignis-ID 4

Ereignistyp: Fehler
Ereignisquelle: Kerberos
Ereigniskategorie: Keine
Ereignis-ID: 4
Datum: <DateTime>
Uhrzeit: <DateTime>
Benutzer: N/V
Computer: MACHINENAMEDescription:
Der Kerberos-Client hat einen KRB_AP_ERR_MODIFIED Fehler vom Serverhost/machinename.childdomain.rootdomain.com erhalten. Der verwendete Zielname war cifs/machinename.domain.com. Dies gibt an, dass sich das Kennwort zum Verschlüsseln des Kerberos-Diensttickets von dem auf dem Zielserver unterscheidet. Dies ist häufig auf identisch benannte Computerkonten im Zielbereich (childdomain.rootdomain.COM) und auf den Clientbereich zurückzuführen. Wenden Sie sich an den Systemadministrator.