Double Hop Problem mit SQL server 2008

Ich versuche, das folgende Szenario einzurichten. Ich habe 3 server, sie sind alle in derselben Domain.

  • server A hat eine Webanwendung, die unter (Domain) Service Account, Dom \ Web läuft.
  • server B hat Instanz von SQL server 2008 R2, die unter (Domain) Dienstkonto, dom \ sql läuft.
  • server C hat Instanz von SQL server 2008 R2, die unter (Domain) Dienstkonto, dom \ sql ausgeführt wird.

Die server B und C befinden sich im SQL-Cluster. Instanzen von B und C sind verknüpfte server.

  • Kann nicht auf SQL Server 2008 mit irgendetwas außer "Windows NT Integrated Security"
  • Sie haben keine Berechtigung, auf SQL Server Express 2008 zuzugreifen?
  • Wie ermittle ich die Größe meiner SQL server database?
  • Hochverfügbarkeit auf SQL server, Cons und Profis von Lösungen?
  • SQL Server zu SQL Server Server verknüpfte Server-Setup
  • Kann sich im Einzelbenutzermodus nicht bei SQL server anmelden
  • Wenn ich SQL server Management Studio von A ausführe und eine Verbindung zu B mit meinem Domänenkonto (dom \ usr) herstelle, versuche ich, die Abfrage auszuführen, die data aus B und C auswählt und es funktioniert.

    Wenn ich versuchen, Web-Anwendung, die das gleiche versucht, bekomme ich den Fehler:

    Login fehlgeschlagen für Benutzer 'NT AUTHORITY \ ANONYMOUS LOGON'.

    Ich sehe, dass die Verbindung in SQL auth_scheme KERBEROS für Benutzer dom \ web hat, also ist es nicht NTLM.

    Auch Dom \ Web-Domain-Konto nicht ausgewählt haben "Konto ist empfindlich und kann nicht delegiert werden" Option in AD.

    Ich denke auch, dass SPN richtig eingerichtet ist, weil Doppelhop nicht im ersten Fall funktionieren würde.

    Dies ist ein Fehler auf dem server C:

    Quellanmeldung

    Message Login fehlgeschlagen für Benutzer 'AUTORITÄT \ ANONYMOUS LOGON'. Grund: Token-basierte serverzugriffsvalidierung ist mit einem Infrastrukturerrors fehlgeschlagen. Überprüfen Sie auf frühere Fehler. [KUNDE: 10.65.10.53]

    Quellanmeldung

    Meldungserrors: 18456, Schweregrad: 14, Zustand: 11.

  • SQL Server-Festplatten-Design auf einem ISCSI-SAN
  • "Kann keine differentielle Sicherung für die Datenbank" myDb "durchführen, da eine aktuelle Datenbanksicherung nicht existiert."
  • So erstellen Sie einen Alias ​​für eine benannte SQL server-Instanz
  • Wie kann ich die Backup-Größe des Transaktionsprotokolls nach einer vollständigen Sicherung reduzieren?
  • Powershell-Befehl zum Sichern eines SQL server-DB
  • Windows Essential Business - Einschränkungen / Erfahrung?
  • 5 Solutions collect form web for “Double Hop Problem mit SQL server 2008”

    Ich glaube, IIS hat die Website für "Anonymous" mit dem IUSR-Konto gesetzt. Das geht über die Domain als ANONYMOUS LOGON.

    Wenn du den IIS-Manager eröffst, ist auf der linken Seite ein tree. In diesem tree erweitern Sie den server, dann erweitern Sie "Sites" und klicken Sie dann auf die Website, die Sie für dieses Projekt verwenden (dh Standardwebsite). Klicken Sie auf der rechten Seite des IIS-Managers auf das Symbol "authentication". Klicken Sie auf dem nächsten imageschirm mit der rechten Maustaste auf "Anonyme authentication" und wählen Sie "Bearbeiten" aus dem Kontextmenü. Vergewissern Sie sich, dass "Specific User" ausgewählt ist und klicken Sie auf die Schaltfläche "Set". Ändern Sie den Benutzer zu dom \ web und geben Sie das richtige Passwort ein. OK klicken.

    An dieser Stelle können Sie ein Problem mit dom \ web haben, das keinen Zugriff auf den SQL-server hat. Sie müssen eine SQL-Anmeldung für Dom \ Web erstellen und dann einen Benutzer in der database erstellen, auf den Dom \ Web Zugriff haben soll.

    Um den anderen hinzuzufügen – ich war in der Situation, wo die Abfrage von SSMS funktioniert, aber nicht von IIS über eine Anwendung Front-End.

    Ich verwende hauptsächlich diese beiden Links nur, um die Probleme zu lösen. Es gibt so viele verschiedene Einstellungen für Active Directory, configurationsdateien, IIS und die O / S zu prüfen und es kann etwas sein, was Sie nicht ganz erwarten. Der Schlüssel ist zu wissen, was das Betriebssystem / IIS / SQL server denkt, geht weiter, siehe DELEGCONFIG Link unten.

    Also der Link zu was ist die Kerberos-Bibel für die Einrichtung von SQL server korrekt – http://msdn.microsoft.com/en-us/library/ff679930(v=SQL.100).aspx . Ich weiß, es ist spezifisch für Reporting Services, aber immer noch gilt für einen Anwendungsserver auch, wie Sie Reporting Services als eine andere Anwendung betrachten können.

    Ich habe den besten path gefunden, um authenticationsprobleme zu beheben, ist mit einem Tool namens DELEGCONFIG; Es hilft Ihnen bei der Einrichtung der richtigen SPNs für Kerberos zu arbeiten. Sie können das Tool hier finden: http://www.iis.net/community/default.aspx?tabid=34&g=6&i=1434 . Dies ist eine IIS-Website, die Sie auf dem server installieren und es sagt Ihnen, ob Ihre SPN und Delegation korrekt eingerichtet sind. Es kann auch die Änderungen für Sie machen. Ich laufe es, bis alle Schecks grün sind – Sie werden verstehen, wenn Sie das Werkzeug laufen lassen.

    Ich verlasse die DELEGCONFIG-Website nicht in der Produktion, sondern bei der Einrichtung oder mit deiner Produktions-Admins, die die db / app-server einrichten, können sie es benutzen, um die Dinge herauszufinden. Sobald Sie es richtig machen, dann entfernen Sie die Website oder verstecken und sichern Sie es.

    HTH

    Erstellen Sie eine Anmeldung für Dom \ Web auf den servern B und C und gewähren Sie Zugriff auf Ihre databaseen auf die neu erstellte Anmeldung.

    Nur um meine Annahmen festzulegen:

    • Sie möchten, dass die Identität des Web-App-Benutzers in SQL verwendet wird
      • Dies führt dann dazu, dass du Kerberos (für Double-Hop-Auth)
      • Begrenzung auf Browser, die Kerberos unterstützen (IE, Chrome, Firefox (mit Einstellungen ändern))
      • Bedeutung, dass Sie einen Service Principal Name für die Web App gegen die Dom \ Web konfigurieren müssen
    • Sie verwenden IIS 6 oder 7 als Webserver
    • Das Identitätsmanagement Ihrer Web-App ist für die Unterstützung von Kerberos als ASP .Net-Mitgliedschaftsanbieter, der um Windows Auth herum aufgebaut ist, unterstützt

    Also, da hast du SPN erwähnt, nehme ich an, dass du dich so etwas registriert hast:

    setspn -S http/webapp.fqdn.tld dom\web 

    Haben Sie dann die Delegation auf dem Benutzerkonto dom \ web aktiviert? Für das Doppel-Hop zu arbeiten, muss das Benutzerkonto, das die Web-App ausführt, diese Anmeldeinformationen erneut übergeben dürfen. Auf den properties des Benutzerkontos in der Domäne finden Sie die Registerkarte Delegierung und aktivieren "Trust Delegation für jeden Dienst (kerberos)".

    Wenn das in Ordnung ist, stellen Sie sicher, dass Ihre IIS-Website auf Pass-thru Windows Auth gesetzt ist und nicht stattdessen das NT USER \ Anonyme Konto verwenden.

    An dieser Stelle können Sie überprüfen, ob Kerberos und IIS alle ordnungsgemäß konfiguriert sind, indem Sie klist aus der Befehlszeile klist . Damit werden alle Kerberos-Tickets für den aktuell angemeldeten Benutzer ausgegeben. searchn Sie nach einem, der server: http/webapp.fqdn.tld und überprüfen Sie, forwardable und ok_as_delegate sind.

    Weiter (wie oben vorgeschlagen), fügen Sie eine Gruppe von Benutzern, die wahrscheinlich mit der App auf SQL und geben ihnen die Erlaubnis für die database nach Bedarf.

    … seine fast 1am. Ich glaube, ich kann meine Anregungen jetzt für eine Pause geben. Hoffentlich etwas da drin hilft dir heraus, ich werde versuchen, noch morgen bei der Arbeit hinzuzufügen. (Ich bin in NZ, also die seltsam klingende timezone).

    Ich erinnere mich an ein ähnliches Problem in der Vergangenheit mit dem Doppel-Hop, die einige Kollegen getriggers, indem sie die SQL-Service-Accounts als Mitglieder der Domain-Administratoren-Gruppe, wenn die Dienste starten, dann entfernen sie danach. Es war ein Problem mit SPN.

    Das war wohl nicht der richtige path, um das Problem zu beheben, aber es hat alles auf und läuft in einer entscheidenden time der ungeplanten Ausfallzeiten.

    Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de réseau.