Treten Authentifizierungsprobleme greifen sie eine Webseite in IIS 6.0 oder Abfrage Microsoft SQL Server 2000 nach der Installation von Windows Server 2003 Service Pack 1

Problembeschreibung

Sie aktualisieren einen Microsoft Windows Server 2003-basierten Computer mit Microsoft-Internetinformationsdienste (IIS) 6.0 oder Microsoft SQL Server 2000 auf Windows Server 2003 Service Pack 1 (SP1). Nachdem Sie dabei Probleme Benutzer Authentifizierung beim Web Applications verwenden oder wenn sie eine Programm verwenden, die die Datenbank abfragt. Beispielsweise kann ein Benutzer Symptome, die der folgenden ähnelt:
  • Der Benutzer erhält eine Fehlermeldung "Zugriff verweigert", wenn der Benutzer versucht, auf eine Webseite, die Daten aus Back-End-Datenbank abruft.
  • Der Benutzer kann nicht auf einen anderen Datenbankserver verbinden, die in einem Cluster (Network Load Balancing, NLB) befindet. Abfragen an die Datenbank fehl.
Die Symptome treten variieren je nach Ihrer Umgebung.

Ursache

Dieses Problem tritt auf, wenn der Dienstprinzipalnamen (SPN) des Dienstes nicht authentifiziert ist. Der SPN ist nicht authentifiziert, wenn ein Dienstkonto nicht der SPN registriert ist. Windows Server 2003 SP1 enthält die Loopback-Funktionalität, die in den folgenden Registrierungseintrag gespeichert:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\DisableLoopbackCheck
Standardmäßig Loopback-Funktionalität in Windows Server 2003 SP1 aktiviert und der Registrierungseintrag auf 0 (null) festgelegt ist. Die Loopback-Funktionalität verhindert, dass die Anwendung registriert den SPN.

Problemlösung

Wichtig Dieser Abschnitt bzw. die Methode oder Aufgabe enthält Schritte, die erklären, wie Sie die Registrierung ändern. Allerdings können schwerwiegende Probleme auftreten, wenn Sie die Registrierung falsch ändern. Stellen Sie daher sicher, dass Sie die folgenden Schritte sorgfältig ausführen. Sichern Sie die Registry für zusätzlichen Schutz, bevor Sie sie ändern. Anschließend können Sie die Registrierung wiederherstellen, falls ein Problem auftritt. Weitere Informationen zum Sichern und Wiederherstellen der Registrierung finden Sie im folgenden Artikel der Microsoft Knowledge Base:
322756 zum Sichern und Wiederherstellen der Registrierung in Windows

Wichtig Standardmäßig Loopback-Funktionalität in Windows Server 2003 SP1 aktiviert und der Registrierungseintrag auf 0 (null) festgelegt ist. Die Sicherheit ist herabgesetzt, wenn der Loopbacküberprüfung Authentifizierung deaktivieren und Windows Server 2003-Server für Angriffe von Man-in-the-Middle (MITM) auf NTLM öffnen. Um MITM-Angriffe zu vermeiden, sollte der Wert des Registrierungseintrags auf 0 (null) zurückgegeben werden, nach dem SPN geändert werden. Methode 1 ist auch die bevorzugte Lösung.

Methode 1: Erstellen der lokalen Sicherheitsinstanz Hostnamen, die verwiesen werden können in eine NTLM-Authentifizierung-Anforderung (bevorzugt)

  1. Klicken Sie auf Start, klicken Sie auf Ausführen, geben Sie regedit ein, und klicken Sie dann auf OK.
  2. Suchen Sie im Registrierungseditor und klicken Sie auf den folgenden Registrierungsschlüssel:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
  3. MSV1_0Maustaste, zeigen Sie auf
    Neu, und klicken Sie dann auf Wert der mehrteiligen Zeichenfolge.
  4. Geben Sie BackConnectionHostNames, und drücken Sie dann die EINGABETASTE.
  5. Klicken Sie BackConnectionHostNamesund dann auf Ändern.
  6. Geben Sie im Feld Wert den Hostnamen bzw. die Hostnamen für die Sites, die auf dem lokalen Computer, und klicken Sie dann auf
    OK.
  7. Beenden Sie Registrierungseditor, und starten Sie den Server für diese Änderung wirksam wird.

Methode 2: Deaktivieren Sie der Loopbacküberprüfung Authentifizierung und mit dem Konto, dem den Dienst registrieren

Um dieses Problem zu beheben, deaktivieren Sie der Loopbacküberprüfung Authentifizierung und registrieren Sie dann mit dem Konto, dem der Dienst ausgeführt wird. Dazu legen Sie "DisableLoopbackCheck" im Unterschlüssel der Registrierung HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa 1, und bestimmen Sie den Namen der SPN.

Schritt 1: Den Registrierungseintrag auf 1 festlegen

  1. Klicken Sie auf Start, klicken Sie auf Ausführen, geben Sie regedit einund klicken Sie dann auf
    OK.
  2. Suchen Sie den folgenden Registrierungsunterschlüssel, und klicken Sie dann darauf:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
  3. Klicken Sie "DisableLoopbackCheck"und dann auf Ändern.
  4. Geben Sie 1 im Feld Wert , und klicken Sie dann auf OK.

Schritt 2: Den Namen der SPN ermitteln

  1. Fügen Sie die folgenden Registrierungseinträge und festlegen Sie jeden Registrierungseintrag wird wie folgt auf den entsprechenden Wert:
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\LogLevel
      Wert: 1
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\LogToFile
      Wert: 1
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\KerbDebugLevel
      Wert: c3
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters\LogLevel
      Wert: 1 1
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters\LogToFile
      Value:1
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters\KerbDebugLevel
      Wert: c3
    Gehen Sie folgendermaßen vor, um einen Registrierungseintrag hinzuzufügen:
    1. Suchen Sie und klicken Sie auf den Registrierungsunterschlüssel den Registrierungseintrag hinzugefügt werden soll.
    2. Zeigen Sie im Menü Bearbeiten auf
      Neu, und klicken Sie dann auf DWORD-Wert.
    3. Geben Sie den Namen des hinzuzufügenden Registrierungseintrags und dann die EINGABETASTE.
    4. Den Registrierungseintrag, der in Schritt 2 c Maustaste und dann auf Ändern.
    5. Geben Sie den entsprechenden Wert für diesen Registrierungseintrag, und klicken Sie dann auf OK.
    6. Wiederholen Sie Schritt 2a bis 2e für jeden Registrierungseintrag hinzufügen möchten.
    7. Beenden Sie den Registrierungseditor.
  2. Starten Sie den Computer neu, und reproduzieren Sie das Problem. Nachdem Sie dies tun, wird eine Event ID Fehlermeldung ähnlich der folgenden im Systemprotokoll protokolliert:
    Typ: Fehler
    Quelle: Kerberos
    Kategorie: keine
    Ereignis-ID: 3
    Beschreibung: Ein Kerberos-Fehlermeldung wurde empfangen:
    für Anmeldung
    Clientzeit:
    Serverzeit:
    Zeit Datum
    Fehlercode: 0 x 7 KDC_ERR_S_PRINCIPAL_UNKNOWN
    Erweiterter Fehler:
    Clientbereich:

    Clientname:
    Server-Bereich: Domänenname.com

    Servername: MSSQLSvc /Domänenname.com:1433

    Zielname: MSSQLSvc /ServerName. Domänenname: 1433 @Domänenname.com
    Fehlertext:
    Datei: 9
    Zeile: ab8
    Fehler werden in den Datensatzdaten.
    Bestimmen Sie den SPN aus der Ereignis-ID-Fehlermeldung. In diesem Beispiel wird der SPN MSSQLSvc /Domänenname.com:1433.

Schritt 3: Verwenden des Befehlszeilenprogramms Setspn.exe zur Registrierung des SPN für das entsprechende Dienstkonto

In IIS 6.0 ist das Dienstkonto normalerweise das Konto, dem der WWW-Dienst ausgeführt wird oder das Konto, der Anwendungspool. Das Dienstkonto ist in Microsoft SQL Server 2000 das Konto, dem SQL Server 2000 ausgeführt wird. Verwenden Sie die folgende Syntax einen neuen SPN hinzugefügt:
Setspn - ein SPN Domänenname\Kontoname

Nachfolgend ein Beispiel mithilfe des Befehlszeilenprogramms Setspn.exe SPN hinzugefügt:
Setspn - ein MSSQLSvc/NLBNAME.corp.domain.com:1433 Domänenname\Kontoname

Weitere Informationen

Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:

970536 Setspn.exe Tool Update für Windows Server 2003



Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
Registrierungseinträge für Kerberos und KDC Konfigurationsschlüssel in Windows Server 2003 837361



Nach der Installation von Sicherheitsupdate 957097 möglicherweise Programme wie SQL Server oder Internet Information Services (IIS) bei Anfragen von NTLM-Authentifizierung.
Weitere Informationen dazu, wie Sie dieses Problem beheben, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
957097 MS08-068: Sicherheitsrisiko in SMB kann Remotecodeausführung ermöglichen
Siehe Abschnitt "Bekannte Probleme mit diesem Sicherheitsupdate" KB-Artikel 957097 ausführliche Informationen zur Lösung des Problems.
Eigenschaften

Artikelnummer: 887993 – Letzte Überarbeitung: 16.01.2017 – Revision: 1

Feedback