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

  • Potresti dirmi cosa succede esattamente quando modifichiamo il Web.config (a runtime) su un server IIS?
  • Può connettersi solo a sql server express 2012 tramite i tubi denominati
  • Aiutare a mettere insieme un server per scopi Routing / Firewall / VPN
  • Mantenimento di due server in sincronizzazione - solo server secondario da avviare per il backup o in interruzione
  • Differenti comportmenti degli oggetti Criteri di gruppo tra Windows Server 2008 e Server 2012
  • Problema di stato di session ASP.NET del server Web IIS 7.5 bilanciato
  • 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.