Autenticazione Double Hop Window

Ho un problema di get l'authentication di Windows (Kerberos) per passare credenziali dall'utente, a IIS, quindi da IIS a SQL. Ho installato SPN per SQL e ho impostato l'account del server IIS per consentire la delega.

Se imposta l'account di computer IIS per consentire la Delegazione per qualsiasi servizio, funziona: alt text

  • Errore RAID 1 "Stato pronto per la ricostruzione: ribuild la percentuale completa 0%"
  • Configurazione di HW di SQL Server - che preferisci (configuration del disco)?
  • Trova gli utenti connessi a una condivisione di networking
  • Come get l'authorization per creare l'indice full-text?
  • L'aggiunta di NIC virtuale a HyperV VM ha ucciso la mia velocità di networking
  • Proteggere i server ospitati di Windows 2008 contro gli attacchi DDOS
  • Tuttavia, se ho impostato per servizi specifici, le credenziali non vengono superate e viene visualizzato un errore di connessione con l'utente anonimo:

    alt text

    Come potete vedere, sto collegando a istanza SQL Express e ho impostato una serie di SPN per cercare di risolvere questo problema, nessuna fortuna con nessuno di essi. Ovviamente il fatto che funziona quando permette qualsiasi servizio, mi dice che qualcos'altro manca da questo elenco di servizi, ma non so cosa!

    3 Solutions collect form web for “Autenticazione Double Hop Window”

    Per chiunque altro che potrebbe incontrare questo problema, il problema è stato quello di utilizzare l'authentication in modalità Kernal, con un account utente di dominio per l'account pool di applicazioni.

    L'authentication di modalità del kernel fa la maggior parte del lavoro per IIS SPNs, tuttavia si prevede di utilizzare l'account di sistema per l'identity framework; del pool di applicazioni. Se si utilizza un account di dominio, è necessario impostare HTTP SPN per questo utente. Dovresti quindi debind l'accesso a SQL in questo account utente, non sull'account di IIS Machine, come normalmente con l'authorization in modalità kernel.

    Ho lavorato in passato con IIS6 e Windows 2003 e SQL 2005, ma da molto tempo da quando ho esaminato, ma nel caso in cui aiuti qui è quello che posso scoprire:

    In AD, il server web dispone di una voce per il server SQL impostato su 'trust per solo servizi specificati', 'utilizza qualsiasi protocollo di authentication' e la voce ha il nome host SQL, non FQDN. Il tipo di servizio è MSSQLSvc e la port è 1433.

    L'account computer di SQL Server non è affidabile per la delega.

    Ricordo inoltre che devo usare "setspn" alla row di command mentre la configura, e le impostazioni che ho da 'setpn -L webserver' sono:

    HTTP/intranet.domain.example.org:80 HTTP/intranet:80 HOST/webserverhostname HOST/webserverhostname.domain.example.org 

    Dove 'intranet' è un alias che utilizziamo per il sito web e mettiamo i tuoi veri FQDN in, non quelli example.org, ad esempio

     setspn -A HTTP/intranet:80 webserver 

    e così via.

    Inoltre, questo assomiglia ad una list di controllo abbastanza approfondita: http://blogs.technet.com/b/taraj/archive/2009/01/29/checklist-for-double-hop-issues-iis-and-sql-server. aspx

    Ho scoperto che, indipendentemente dalla configuration del server web SPN, ho dovuto creare un SPN per SQL Server utilizzando un record HOST per il nome di SQL Server piuttosto che un alias CNAME.

    Cioè, per coprire tutte le basi, ho aggiunto SPN come segue;

    setspn -A MSSQLSvc / sqlserverhostname.example.org SQLServerServiceAccountName

    setspn -A MSSQLSvc / sqlserverhostname: 1433 SQLServerServiceAccountName

    setspn -A MSSQLSvc / sqlserverhostname.example.org: 1433 SQLServerServiceAccountName

    setspn -A MSSQLSvc / sqlserverhostname SQLServerServiceAccountName

    assicurandosi che "sqlserverhostname" sia stato registrato nel DNS come record HOST.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.