Freigeben über


Anleitung zur Problembehandlung bei der Kerberos-Authentifizierung

Dieses Handbuch enthält die grundlegenden Konzepte, die bei der Behandlung von Kerberos-Authentifizierungsproblemen verwendet werden.

Checkliste zur Problembehandlung

  • Ein Kerberos-bezogener Fehler ist ein Symptom eines anderen Dienstfehlers. Das Kerberos-Protokoll basiert auf vielen Diensten, die für jede Authentifizierung verfügbarsein und ordnungsgemäß funktionieren müssen.

  • Um festzustellen, ob ein Problem mit der Kerberos-Authentifizierung auftritt, überprüfen Sie das Systemereignisprotokoll auf Fehler von Diensten, indem Sie es mithilfe der "Quelle" (z. B. Kerberos, kdc, LsaSrv oder Netlogon) auf dem Client, dem Zielserver oder dem Domänencontroller filtern, die Authentifizierung bereitstellen. Wenn solche Fehler vorhanden sind, gibt es möglicherweise auch Fehler, die mit dem Kerberos-Protokoll verknüpft sind.

  • Fehler-Überwachungen im Sicherheitsprotokoll des Zielservers können zeigen, dass das Kerberos-Protokoll verwendet wurde, wenn ein Anmeldefehler aufgetreten ist.

  • Bevor Sie das Kerberos-Protokoll überprüfen, stellen Sie sicher, dass die folgenden Dienste oder Bedingungen ordnungsgemäß funktionieren:

    • Die Netzwerk-Infrastruktur funktioniert ordnungsgemäß, und alle Computer und Dienste können miteinander kommunizieren.
    • Auf den Domänencontroller kann zugegriffen werden. Sie können den Befehl nltest /dsgetdc:<Domain Name> /force /kdc (z.B nltest /dsgetdc:contoso.com /force /kdc) auf dem Client oder Zielserver ausführen.
    • Das Domain Name System (DNS) ist ordnungsgemäß konfiguriert und löst Hostnamen und Dienste entsprechend auf.
    • Die Uhren werden in der gesamten Domäne synchronisiert.
    • Alle wichtigen Updates und Sicherheitsupdates für Windows Server sind installiert.
    • Alle Software, einschließlich Nicht-Microsoft-Software, wird aktualisiert.
    • Der Computer wird neu gestartet, wenn Sie ein Serverbetriebssystem ausführen.
    • Die erforderlichen Dienste und Server sind verfügbar. Das Kerberos-Authentifizierungs-Protokoll erfordert, dass ein funktionierender Domänencontroller, eine DNS-Infrastruktur und ein Netzwerk ordnungsgemäß funktionieren. Stellen Sie sicher, dass Sie auf diese Ressourcen zugreifen können, bevor Sie mit der Problembehandlung des Kerberos-Protokolls beginnen.

Wenn Sie alle diese Bedingungen untersucht haben und weiterhin Authentifizierungsprobleme oder Kerberos-Fehler haben, müssen Sie nach einer Lösung suchen. Die Probleme können dadurch verursacht werden, wie das Kerberos-Protokoll konfiguriert ist oder wie andere Technologien konfiguriert werden, die mit dem Kerberos-Protokoll arbeiten.

Allgemeine Probleme und Lösungen

Kerberos-Delegierungsprobleme

In einem typischen Szenario wäre das Identitätswechselkonto ein Dienstkonto, das einer Webanwendung oder dem Computerkonto eines Webservers zugewiesen ist. Bei dem imitierten Konto handelt es sich um ein Benutzerkonto, das den Zugriff auf Ressourcen über eine Webanwendung erfordert.

Es gibt drei Arten von Delegierung mit Kerberos:

  • Vollständige Delegierung (nicht eingeschränkte Delegierung)

    Die vollständige Delegierung sollte so weit wie möglich vermieden werden. Der Benutzer (Front-End-Benutzer und Back-End-Benutzer) kann sich in verschiedenen Domänen und auch in verschiedenen Gesamtstrukturen befinden.

  • Eingeschränkte Delegierung (nur Kerberos und Protokollübergang)

    Der Benutzer kann aus einer beliebigen Domäne oder Gesamtstruktur stammen, aber das Front-End und die Back-End-Dienste sollten in derselben Domäne ausgeführt werden.

  • Ressourcenbasierte eingeschränkte Delegierung (RBCD)

    Der Benutzer kann aus einer beliebigen Domäne stammen, und Front-End- und Back-End-Ressourcen können aus einer beliebigen Domäne oder Gesamtstruktur stammen.

Häufigste Problembehandlung bei der Kerberos-Delegierung

  • Dienstprinzipalname fehlt oder ist doppelt vorhanden
  • Fehler bei der Namensauflösung oder falsche Antworten (falsche IP-Adressen, die für einen Servernamen angegeben werden)
  • Größe großer Kerberos-Tickets (MaxTokenSize) und Umgebung nicht ordnungsgemäß eingerichtet
  • Ports werden von Firewalls oder Routern blockiert
  • Dem Dienstkonto wurden keine entsprechenden Berechtigungen erteilt (Zuweisung von Benutzerrechten)
  • Front-End- oder Back-End-Dienste nicht in derselben Domäne und eingeschränkter Delegierungseinrichtung (nicht RBCD)

Weitere Informationen finden Sie unter:

Einmaliges Anmelden (Single Sign-On, SSO) ist einmal unterbrochen und zur Authentifizierung aufgefordert

Betrachten Sie die folgenden Szenarien:

  • Eine Client- und Serveranwendung wie Microsoft Edge und Internetinformationsdienste (IIS)-Server. Der IIS-Server ist mit der Windows-Authentifizierung (Negotiate) konfiguriert.
  • Eine Client- und Serveranwendung wie ein SMB-Client und SMB-Server. Standardmäßig ist der SMB-Server mit der Negotiate Security Support Provider Interface (SSPI) konfiguriert.

Ein Benutzer öffnet Microsoft Edge und durchsucht eine interne Website http://webserver.contoso.com. Die Website ist mit "Negotiate" konfiguriert, und diese Website fordert zur Authentifizierung auf. Nachdem der Benutzer den Benutzernamen und das Kennwort manuell eingegeben hat, erhält der Benutzer die Authentifizierung, und die Website funktioniert wie erwartet.

Notiz

Dieses Szenario ist ein Beispiel für einen Client und server. Die Problembehandlung ist für jeden Client/Server, der mit der integrierten Windows-Authentifizierung konfiguriert ist, identisch.

Integrierte Windows-Authentifizierung ist auf Benutzerebene oder Maschinenebene unterbrochen.

Methoden zur Problembehandlung

  • Überprüfen Sie die Clientkonfiguration für eine integrierte Authentifizierungseinstellung, die auf Anwendung oder Computerebene aktiviert werden kann. Beispielsweise würden alle HTTP-basierten Anwendungen nach der Website suchen, die sich in einer vertrauenswürdigen Zone befindet, wenn versucht wird, eine integrierte Authentifizierung durchzuführen.

    Öffnen Sie inetcpl.cpl (Internetoptionen), die alle HTTP-basierten Anwendungen für Internet Explorer-Konfigurationen verwenden, und überprüfen Sie, ob die Website als lokales Intranet konfiguriert ist.

  • Anwendungen verfügen auch über eine Konfiguration, um integrierte Windows-Authentifizierung auszuführen.

    Microsoft Edge oder Internet Explorer verfügt über eine Einstellung "Integrierte Windows-Authentifizierung aktivieren", um aktiviert zu werden.

  • Überprüfen Sie die Anwendungskonfiguration, und der Clientcomputer kann ein Kerberos-Ticket für einen bestimmten Dienstprinzipalnamen (SPN) abrufen. In diesem Beispiel ist http/webserver.contoso.comder SPN .

    • Erfolgsmeldung, wenn Sie den SPN finden können:

      C:>klist get http/webserver.contoso.com
      Current LogonId is 0:0x9bd1f
      A ticket to http/webserver.contoso.com has been retrieved successfully.
      
    • Fehlermeldung, wenn Sie den SPN nicht finden können:

      C:>klist get http/webserver.contoso.com
      klist failed with 0xc000018b/-1073741429: The SAM database on the Windows Server does not have a computer account for this workstation trust relationship.
      

    Identifizieren und hinzufügen Sie die entsprechenden SPNs zu den entsprechenden Benutzer-, Dienst- oder Computerkonten.

  • Wenn Sie festgestellt haben, dass die SPNs abgerufen werden können, können Sie überprüfen, ob sie im richtigen Konto registriert sind, indem Sie den folgenden Befehl verwenden:

    setspn -F -Q */webserver.contoso.com
    

Probleme bei der Authentifizierungs-DC-Ermittlung

Anwendungsserver, die mit integriertem Windows-Authentifizierung konfiguriert sind, benötigen Domänencontroller (DCs), um den Benutzer/Computer und Dienst zu authentifizieren.

Die Unfähigkeit, während des Authentifizierungsprozesses einen Domänencontroller zu kontaktieren, führt zu Fehler 1355:

Die angegebene Domäne ist entweder nicht vorhanden oder konnte nicht kontaktiert werden.

Auf eine ressource, die mit integriertem Windows-Authentifizierung mit einem Fehler 1355 konfiguriert ist, kann nicht zugegriffen werden.

Notiz

Fehlermeldungen können sich von einem Anwendungsstandpunkt unterscheiden, aber die Bedeutung des Fehlers besteht darin, dass der Client oder server keinen Domänencontroller ermitteln kann.

Hier sind Beispiele für solche Fehlermeldungen:

  • Der folgende Fehler ist beim Versuch aufgetreten, der Domäne „Contoso“ beizutreten:
    Der angegebene Container ist entweder nicht vorhanden oder wurde nicht erreicht.

  • Der Domänencontroller für die Domäne „contoso.com“ wurde nicht gefunden.

  • Der Domänencontroller war nicht erreichbar (1355).

Die häufigsten Ursachen des Problems

  • DNS-Falschkonfiguration auf dem Client

    Sie können den ipconfig /all Befehl ausführen und die DNS-Serverliste überprüfen.

  • DNS-Falschkonfiguration auf den Domänencontrollern in einer vertrauenswürdigen Domäne oder Gesamtstruktur

  • Zwischen Client- und Domänencontrollern blockierte Netzwerkports

    DC Discovery-Ports: UDP 389 (UDP LDAP) und UDP 53 (DNS)

Schritte zur Fehlersuche

  1. Führen Sie den nslookup Befehl aus, um DNS-Fehlkonfigurationen zu identifizieren.
  2. Öffnen Sie die erforderlichen Ports zwischen dem Client und dem Domänencontroller. Weitere Informationen finden Sie unter Konfigurieren einer Firewall für Active Directory-Domänen und Vertrauensstellungen.

Protokollanalysetestszenario

Umgebung und Konfiguration

  • Clientcomputer

    Client1.contoso.com (ein Windows 11-Computer) tritt der Domäne Contoso.combei.

  • Benutzer John

    Der Benutzer gehört und Contoso.com meldet sich auf dem Clientcomputer an.

  • Internetoptionen auf dem Clientcomputer

    Alle Websites sind Teil der lokalen Intranetzone.

    Screenshot der Interneteigenschaften, die zeigt, dass alle Websites Teil der lokalen Intranetzone sind.

  • Server

    IISServer.contoso.com (Windows Server 2019) tritt der Domäne Contoso.combei.

  • Authentifizierungskonfiguration

    Die Windows-Authentifizierung ist aktiviert.

    Screenshot des Fensters

  • Authentifizierungsanbieter: Aushandeln

    Aktivierte Anbieter werden wie folgt festgelegt:

    Screenshot des Fensters

Authentifizierungsfluss

Screenshot eines Authentifizierungsflusses.

  1. Der Benutzer John meldet sich bei Client1.contoso.com, öffnet einen Microsoft Edge-Browser und stellt eine Verbindung mit IISServer.contoso.com.
  2. Der Clientcomputer führt die folgenden Schritte aus (Schritt 1 im obigen Diagramm):
    1. Der DNS-Resolver speichert IISServer.contoso.com zwischen, um zu überprüfen, ob diese Informationen bereits zwischengespeichert sind.
    2. Der DNS-Resolver überprüft die HOSTS-Datei auf eine Zuordnung von IISServer.contoso.com speicherorten in C:\Windows\System32\drivers\etc\Hosts.
    3. Senden Sie eine DNS-Abfrage an den bevorzugten DNS-Server (konfiguriert in den IP-Konfigurationseinstellungen), der auch ein Domänencontroller in der Umgebung ist.
  3. Der auf dem Domänencontroller ausgeführte DNS-Dienst untersucht seine konfigurierten Zonen, löst den Host A-Eintrag auf und antwortet mit einer IP-Adresse IISServer.contoso.com (Schritt 2 im obigen Diagramm).
  4. Der Clientcomputer führt einen TCP-Drei-Wege-Handshake an TCP-Port 80 zu IISServer.contoso.com.
  5. Der Clientcomputer sendet eine anonyme HTTP-Anforderung an IISServer.contoso.com.
  6. Der IIS-Server, der auf Port 80 lauscht, empfängt die Anforderung Client1.contoso.com, untersucht die Authentifizierungskonfiguration von IIS-Servern und sendet eine HTTP 401-Abfrageantwort an den Clientcomputer mit Negotiate als Authentifizierungskonfiguration (Schritt 3 im obigen Diagramm).
  7. Der microsoft Edge-Prozess, auf dem ausgeführt wird Client1.contoso.com , weiß, dass der IIS-Server mit Negotiate konfiguriert ist, und überprüft, ob die Website Teil der lokalen Intranetzone ist. Wenn sich die Website in der lokalen Intranetzone befindet, ruft der Microsoft Edge-Prozess LSASS.exe auf, um ein Kerberos-Ticket mit einem SPN HTTP\IISServer.contoso.com zu erhalten (Schritt 5 im obigen Diagramm).
  8. Der Domänencontroller (KDC-Dienst) empfängt die Anforderung Client1.contoso.com, durchsucht seine Datenbank nach dem SPN HTTP\IISServer.contoso.com und IISServer.contoso.com sucht mit diesem SPN.
  9. Der Domänencontroller antwortet mit einer TGS-Antwort mit dem Ticket für den IIS-Server (Schritt 6 im obigen Diagramm).
  10. Der Microsoft Edge-Prozess auf dem Clientcomputer sendet eine API-Anforderung (Kerberos Application Protocol) an den IIS-Webserver mit dem vom Domänencontroller ausgestellten Kerberos TGS-Ticket.
  11. Der IIS-Prozess ruft LSASS.exe auf dem Webserver auf, um das Ticket zu entschlüsseln und ein Token mit SessionID und Benutzergruppenmitgliedschaft zur Autorisierung zu erstellen.
  12. Der IIS-Prozess erhält ein Handle von LSASS.exe zum Token, um Autorisierungsentscheidungen zu treffen und dem Benutzer die Verbindung mit einer AP-Antwort zu ermöglichen.

Netzwerküberwachungsanalyse des Workflows

Notiz

Sie müssen ein Benutzer der lokalen Gruppe "Administratoren" sein, um die folgenden Aktivitäten auszuführen.

  1. Installieren Sie Microsoft Network Monitor auf dem Clientcomputer (Client1.contoso.com).

  2. Führen Sie den folgenden Befehl in einem Eingabeaufforderungsfenster mit erhöhten Rechten aus (cmd.exe):

    ipconfig /flushdns
    
  3. Starten Sie den Netzwerkmonitor.

  4. Öffnen Sie den Microsoft Edge-Browser, und geben Sie den Text ein http://iisserver.contoso.com.

  5. Analyse der Netzwerkablaufverfolgung:

    1. DNS-Abfrage an den Domänencontroller für einen Host A-Eintrag: IISServer.contoso.com.

      3005    00:59:30.0738430    Client1.contoso.com    DCA.contoso.com    DNS    DNS:QueryId = 0x666A, QUERY (Standard query), Query  for iisserver.contoso.com of type Host Addr on class Internet
      
    2. DNS-Antwort vom DNS-Dienst auf dem Domänencontroller.

      3006    00:59:30.0743438    DCA.contoso.com    Client1.contoso.com    DNS    DNS:QueryId = 0x666A, QUERY (Standard query), Response - Success, 192.168.2.104
      
    3. Der Microsoft Edge-Prozess zum Herstellen Client1.contoso.com einer Verbindung mit dem IIS-Webserver IISServer.contoso.com (anonyme Verbindung).

      3027    00:59:30.1609409    Client1.contoso.com    iisserver.contoso.com    HTTP    HTTP:Request, GET /
      Host:  iisserver.contoso.com
      
    4. DER IIS-Server antwortet mit HTTP-Antwort 401: Aushandeln und NTLM (Auf dem IIS-Server ausgeführte Konfiguration).

      3028    00:59:30.1633647    iisserver.contoso.com    Client1.contoso.com    HTTP    HTTP:Response, HTTP/1.1, Status: Unauthorized, URL: /favicon.ico Using Multiple Authetication Methods, see frame details
      
      WWWAuthenticate: Negotiate
      WWWAuthenticate: NTLM
      
    5. Die Kerberos-Anforderung wechselt Client1.contoso.com mit einem SPN an den DomänencontrollerDCA.contoso.com. HTTP/iisserver.contoso.com

      3034    00:59:30.1834048    Client1.contoso.com    DCA.contoso.com    KerberosV5    KerberosV5:TGS Request Realm: CONTOSO.COM Sname: HTTP/iisserver.contoso.com
      
    6. Der Domänencontroller DCA.contoso.com antwortet mit der Kerberos-Anforderung, die über eine TGS-Antwort mit einem Kerberos-Ticket verfügt.

      3036    00:59:30.1848687    DCA.contoso.com    Client1.contoso.com    KerberosV5    KerberosV5:TGS Response Cname: John 
      Ticket: Realm: CONTOSO.COM, Sname: HTTP/iisserver.contoso.com
      Sname: HTTP/iisserver.contoso.com
      
    7. Der Microsoft Edge-Prozess Client1.contoso.com wird jetzt mit einer Kerberos-AP-Anforderung an den IIS-Server übertragen.

      3040    00:59:30.1853262    Client1.contoso.com    iisserver.contoso.com    HTTP    HTTP:Request, GET /favicon.ico , Using GSS-API Authorization
      Authorization: Negotiate
      Authorization:  Negotiate YIIHGwYGKwYBBQUCoIIHDzCCBwugMDAuBgkqhkiC9xIBAgIGCSqGSIb3EgECAgYKKwYBBAGCNwICHgYKKwYBBAGCNwICCqKCBtUEggbRYIIGzQYJKoZIhvcSAQICAQBugga8MIIGuKADAgEFoQMCAQ6iBwMFACAAAACjggTvYYIE6zCCBOegAwIBBaENGwtDT05UT1NPLkNPTaIoMCagAwIBAqEfMB0bBEhUVFAbF
      SpnegoToken: 0x1
      NegTokenInit: 
      ApReq: KRB_AP_REQ (14)
      Ticket: Realm: CONTOSO.COM, Sname: HTTP/iisserver.contoso.com
      
    8. Der IIS-Server antwortet mit einer Antwort, die die Authentifizierung abgeschlossen hat.

      3044    00:59:30.1875763    iisserver.contoso.com    Client1.contoso.com    HTTP    HTTP:Response, HTTP/1.1, Status: Not found, URL: / , Using GSS-API Authentication
      WWWAuthenticate: Negotiate oYG2MIGzoAMKAQChCwYJKoZIgvcSAQICooGeBIGbYIGYBgkqhkiG9xIBAgICAG+BiDCBhaADAgEFoQMCAQ+ieTB3oAMCARKicARuIF62dHj2/qKDRV5XjGKmyFl2/z6b9OHTCTKigAatXS1vZTVC1dMvtNniSN8GpXJspqNvEfbETSinF0ee7KLaprxNgTYwTrMVMnd95SoqBkm/FuY7WbTAuPvyRmUuBY3EKZEy
      NegotiateAuthorization: 
      GssAPI: 0x1
      NegTokenResp: 
      ApRep: KRB_AP_REP (15)
      
  6. Führen Sie den klist tickets Befehl aus, um das Kerberos-Ticket in der Befehlsausgabe zu Client1.contoso.comüberprüfen.

    Client: John @ CONTOSO.COM
    Server: HTTP/iisserver.contoso.com @ CONTOSO.COM
    KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96
    Ticket Flags 0x40a10000 -> forwardable renewable pre_authent name_canonicalize
    Start Time: 11/28/2022 0:59:30 (local)
    End Time:   11/28/2022 10:58:56 (local)
    Renew Time: 12/5/2022 0:58:56 (local)
    Session Key Type: AES-256-CTS-HMAC-SHA1-96
    Cache Flags: 0
    Kdc Called: DCA.contoso.com
    
  7. Überprüfen Sie die Ereignis-ID 4624 auf dem IIS-Server mit der Success Überwachung:

  • Standardmäßig ist die Success Überwachung Failure auf allen Serverbetriebssystemen von Windows aktiviert. Sie können überprüfen, ob die Überwachung durch den folgenden Befehl aktiviert ist.

  • Wenn Sie feststellen, dass die Überwachung nicht aktiviert ist, aktivieren Sie die Überwachung. Überprüfen Sie die Anmeldekategorie in der folgenden Liste. Wie Sie beobachten können, ist die Anmeldeunterkategorie mit Success and Failureaktiviert.

    C:\>auditpol /get /Subcategory:"logon"
    System audit policy
    Category/Subcategory                      Setting
    Logon/Logoff
      Logon                                   Success and Failure
    

    Wenn Sie die Anmeldung nicht beobachten Success and Failure, führen Sie den Befehl aus, um sie zu aktivieren:

    C:\>auditpol /set /subcategory:"Logon" /Success:enable /Failure:enable
    The command was successfully executed.
    

Überprüfen Sie die Erfolgssicherheitsereignis-ID 4624 auf IISServer.contoso.com

Beachten Sie die folgenden Felder:

  • Logon type: 3 (Netzwerkanmeldung)
  • Security ID in New Logon field: Contoso\John
  • Source Network Address: IP-Adresse des Clientcomputers
  • Logon Process und Authentication Package: Kerberos
Log Name:      Security
Source:        Microsoft-Windows-Security-Auditing
Date:          11/28/2022 12:59:30 AM
Event ID:      4624
Task Category: Logon
Level:         Information
Keywords:      Audit Success
User:          N/A
Computer:      IISServer.contoso.com
Description:
An account was successfully logged on.

Subject:
    Security ID:        NULL SID
    Account Name:        -
    Account Domain:        -
    Logon ID:        0x0

Logon Information:
    Logon Type:        3
    Restricted Admin Mode:    -
    Virtual Account:        No
    Elevated Token:        No

Impersonation Level:        Impersonation

New Logon:
    Security ID:        CONTOSO\John
    Account Name:        John
    Account Domain:        CONTOSO.COM
    Logon ID:        0x1B64449
    Linked Logon ID:        0x0
    Network Account Name:    -
    Network Account Domain:    -
    Logon GUID:        {<GUID>}

Process Information:
    Process ID:        0x0
    Process Name:        -

Network Information:
    Workstation Name:    -
    Source Network Address:    192.168.2.101
    Source Port:        52655

Detailed Authentication Information:
    Logon Process:        Kerberos
    Authentication Package:    Kerberos

Problembehandlung bei Authentifizierungs-Workflows

Verwenden Sie eine der folgenden Methoden, um das Problem zu beheben.

  • Überprüfen Sie, ob Sie den Namen des IIS-Webservers (IISServer.contoso.com) von Client1.contoso.com.

  • Überprüfen Sie mithilfe des folgenden Cmdlets, ob der DNS-Server wieder auf die richtige IIS-Server-IP-Adresse antwortet:

    PS C:\> Resolve-DnsName -Name IISServer.contoso.com
    
    Name                                           Type   TTL   Section    IPAddress
    ----                                           ----   ---   -------    ---------
    IISServer.contoso.com                          A      1200  Answer     192.168.2.104
    
  • Überprüfen Sie, ob die Netzwerkports zwischen dem Clientcomputer und dem IIS-Webserver (IISServer.contoso.com) mithilfe des folgenden Cmdlets geöffnet werden:

    PS C:\> Test-NetConnection -Port 80 IISServer.contoso.com                                                               
    
    ComputerName     : IISServer.contoso.com
    RemoteAddress    : 192.168.2.104
    RemotePort       : 80
    InterfaceAlias   : Ethernet 2
    SourceAddress    : 192.168.2.101
    TcpTestSucceeded : True
    
  • Überprüfen Sie, ob Sie ein Kerberos-Ticket vom Domänencontroller erhalten.

    1. Öffnen Sie eine normale Eingabeaufforderung (keine Administrator-Eingabeaufforderung) im Kontext des Benutzers, der versucht, auf die Website zuzugreifen.

    2. Führen Sie den Befehl klist purge aus.

    3. Führen Sie den klist get http/iisserver.contoso.com-Befehl folgendermaßen aus:

      PS C:\> klist get http/iisserver.contoso.com
      
      Current LogonId is 0:0xa8a98b
      A ticket to http/iisserver.contoso.com has been retrieved successfully.
      
      Cached Tickets: (2)
      
      #0>     Client: John @ CONTOSO.COM
              Server: krbtgt/CONTOSO.COM @ CONTOSO.COM
              KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96
              Ticket Flags 0x40e10000 -> forwardable renewable initial pre_authent name_canonicalize
              Start Time: 11/28/2022 1:28:11 (local)
              End Time:   11/28/2022 11:28:11 (local)
              Renew Time: 12/5/2022 1:28:11 (local)
              Session Key Type: AES-256-CTS-HMAC-SHA1-96
              Cache Flags: 0x1 -> PRIMARY
              Kdc Called: DCA.contoso.com
      
      #1>     Client: John @ CONTOSO.COM
              Server: http/iisserver.contoso.com @ CONTOSO.COM
              KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96
              Ticket Flags 0x40a10000 -> forwardable renewable pre_authent name_canonicalize
              Start Time: 11/28/2022 1:28:11 (local)
              End Time:   11/28/2022 11:28:11 (local)
              Renew Time: 12/5/2022 1:28:11 (local)
              Session Key Type: AES-256-CTS-HMAC-SHA1-96
              Cache Flags: 0
              Kdc Called: DCA.contoso.com
      

      Sie werden feststellen, dass Sie ein Kerberos-Ticket für den SPN http/IISServer.contoso.com in der Cached Ticket (2) Spalte erhalten.

  • Überprüfen Sie, ob der IIS-Webdienst auf dem IIS-Server mit den Standardanmeldeinformationen ausgeführt wird.

    Öffnen Sie eine normale PowerShell-Eingabeaufforderung (keine PowerShell-Eingabeaufforderung des Administrators) im Kontext des Benutzers, der versucht, auf die Website zuzugreifen.

    PS C:\> invoke-webrequest -Uri http://IIsserver.contoso.com -UseDefaultCredentials
    PS C:\> invoke-webrequest -Uri http://IIsserver.contoso.com -UseDefaultCredentials
    
    
    StatusCode        : 200
    StatusDescription : OK
    Content           : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                        <html xmlns="http://www.w3.org/1999/xhtml">
                        <head>
                        <meta http-equiv="Content-Type" cont...
    RawContent        : HTTP/1.1 200 OK
                        Persistent-Auth: true
                        Accept-Ranges: bytes
                        Content-Length: 703
                        Content-Type: text/html
                        Date: Mon, 28 Nov 2022 09:31:40 GMT
                        ETag: "3275ea8a1d91:0"
                        Last-Modified: Fri, 25 Nov 2022...
    
  • Überprüfen Sie das Sicherheitsereignisprotokoll auf dem IIS-Server:

    • Erfolgsereignisprotokoll 4624
    • Fehlerereignisprotokoll 4625
  • Prozess der Isolation: Sie können die nachstehenden Schritte zur Problembehandlung verwenden, um zu überprüfen, ob andere Dienste auf dem IIS-Server die Kerberos-Authentifizierung verarbeiten können.

    Voraussetzungen:

    • Der IIS-Server sollte eine Serverversion von Windows ausführen.

    • Der IIS-Server sollte über einen Port für Dienste wie SMB (Port 445) verfügen.

    • Erstellen Sie eine neue Freigabe, oder geben Sie dem Benutzer John Berechtigungen zum Lesen auf einem der Ordner (z. B . Software$), die bereits auf dem Computer freigegeben sind.

      1. Melden Sie sich bei Client1.contoso.com an.

      2. Öffnen Sie Windows-Explorer.

      3. Geben Sie \IISServer.contoso.com \Software$ ein.

      4. Öffnen Sie Sicherheitsereignisse, IISServer.contoso.com und überprüfen Sie, ob Sie die Ereignis-ID 4624 beobachten.

      5. Öffnen Sie eine normale Eingabeaufforderung Client1.contoso.com als Benutzer John. Führen Sie den klist tickets Befehl aus, und überprüfen Sie es für das Ticket CIFS/IISServer.contoso.com.

        #1>     Client: John @ CONTOSO.COM
                Server: cifs/iisserver.contoso.com @ CONTOSO.COM
                KerbTicket Encryption Type: AES-256-CTS-HMAC-SHA1-96
                Ticket Flags 0x40a10000 -> forwardable renewable pre_authent name_canonicalize
                Start Time: 11/28/2022 1:40:22 (local)
                End Time:   11/28/2022 11:28:11 (local)
                Renew Time: 12/5/2022 1:28:11 (local)
                Session Key Type: AES-256-CTS-HMAC-SHA1-96
                Cache Flags: 0
                Kdc Called: DCA.contoso.com
        
      6. Sammeln von Netzwerkablaufverfolgungen auf Client1.contoso.com. Überprüfen Sie die Netzwerkablaufverfolgungen, um zu beobachten, welcher Schritt fehlschlägt, damit Sie die Schritte weiter eingrenzen und das Problem beheben können.