Recientemente hemos lanzado la última versión de nuestra aplicación de intranet, que ahora utiliza la autenticación de windows como estándar, y debe ser capaz de conectarse a un servidor SQL configurado con el usuario final del credenciales de dominio.

Últimamente nos hemos encontrado que en un par de los despliegues de clientes, aunque IIS puede ver el usuario las credenciales de dominio, no pasará estas en SQL server. En lugar de ello, parece que el uso de la cuenta anónima. Esto es así a pesar de seguir todos los pasos correctos (cambiar el directorio de seguridad para Ganar Auth, la actualización de la Web.Configuración para utilizar Ganar Auth y negando a los usuarios anónimos).

He estado haciendo un montón de lectura que sugiere que necesita para asegurarse de que Kerberos está en su lugar, pero no estoy seguro (a) la validez de esta es (es decir, ¿es realmente una necesidad?) o (b) ¿cómo ir sobre la investigación de si se configuró o cómo ir sobre la configuración.

Estamos en una situación donde tenemos que ser capaces de configurar IIS o de la aplicación para trabajar para el cliente, o explicar a los clientes exactamente lo que necesitan hacer para conseguir que funcione.

Hemos logrado reproducir esto en nuestra red interna con una prueba de SQL server y un desarrollador de IIS cuadro, así que vamos al lío con esto de configurar y ver si podemos llegar a una solución, pero si alguien tiene ideas brillantes, me gustaría ser más feliz de escuchar!

Me gustaría sobre todo que le gusta oír los pensamientos de la gente o de asesoramiento en términos de Kerberos. Es este un requisito, y si es así, ¿cómo voy a describir a los clientes cómo debe ser configurado?

Ah, y también he visto un par de personas que mencionar el ‘clásico-hop regla’ para dominios y pasar credenciales de windows de todo, pero no sé cuánto peso esta realidad se mantiene?

Gracias!

Matt

OriginalEl autor Matt Winward | 2010-11-01

3 Comentarios

  1. 4

    Esto se llama el Salto Doble Problema y prohíbe el envío de las credenciales del usuario a terceros. Esto ocurre cuando se vaya de una máquina, en contra de un sitio a otro (primer salto), y de la expedición de las credenciales a una tercera parte de la máquina (segundo salto).

    El problema no aparecerá si el host de IIS y SQL Server en el mismo equipo.

    Hay un montón de detalles más técnicos publicados en este en Cómo utilizar el Sistema.DirectoryServices espacio de nombres en ASP.NET, lo que explica el salto doble problema, y en la primaria y secundaria fichas.

    Gracias por ese enlace. Parece una buena lectura! Pasará a través de él mañana.
    Excelentes artículos.. gracias! Parece que estamos frente a tres posibles soluciones: hablar con el cliente para implementar Kerberos, ejecute la aplicación web usando un fijo de la cuenta de dominio para conectarse a SQL Server o que aloja la aplicación web con SQL Server.
    Para cualquier persona interesada, fue el «doble salto» problema, y nuestra solución final fue en el Active Directory Usuarios y Equipos de MMC. Nos fijamos en las propiedades de la cuenta de equipo (para el servidor IIS) y en la «Delegación» de la ficha permitido delegación de servicios específicos.Hemos añadido el SQL Server que aloja las bases de datos de aplicación a la lista de máquinas que aceptan la delegación, y se especifica el MSSQLSvc servicio. Esto garantiza que el servidor IIS es de confianza sólo para pasar las credenciales de SQL Server, y no para otros servicios.

    OriginalEl autor sisve

  2. 1

    Para ejecutar la aplicación que el usuario de Active Directory o credenciales de Windows, asegúrese de que estas:

    • la aplicación de IIS está configurado para NO permitir el acceso anónimo
    • la aplicación de IIS utiliza la autenticación de Windows Integrada
    • la cadena de conexión debe tener Integrated Security=SSPI para asegurar que el usuario de Windows/AD credenciales se pasa a SQL Server.

      es decir, Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

    El segundo y tercer puntos tengo ya. También he intentado deshabilitar el acceso anónimo temprano el día de hoy y esto no ayuda. Curiosamente, tenemos esta funcionando bien en similar entornos de cliente donde hemos habilitado el acceso anónimo (así como ganar auth obviamente). Pero gracias por los comentarios, aunque!
    no trabajo? ¿Qué síntomas tiene?
    Se conecta a SQL server como Windows NT\Inicio de sesión Anónimo
    Lo siento, que debería haber sido ‘NT Authority\Anonymous Logon’

    OriginalEl autor p.campbell

  3. 0

    Estado usted no está seguro de «cómo ir sobre la investigación de si se configuró o cómo ir sobre la configuración de it up».

    Para esto me gustaría sinceramente recomiendo una herramienta llamada DelegConfig. Es una muy útil aplicación que usted puede decir que usted si kerberos está configurado correctamente.

    Descomprimirlo en un directorio, configurar un directorio virtual en IIS para que apunte a ella. Vaya a la página principal y que decir que el servidor que desea permitir el acceso (por ejemplo, de la UNC, SQL, HTTP, etc..) y dirá su instalación correctamente o no y explicar por qué.

    Incluso tiene la capacidad de recongiure la kerberos para solucionar el problema, si así lo desean (aunque no he usado este – prefiero reconfiguire a mí mismo, para entender lo que he hecho en el futuro)

    Me doy cuenta de esto llega demasiado tarde para su problema en particular, pero pensé que vale la pena compartir para que otros que siguen – especialmente las herramientas de la capacidad de explicar por qué la delegación está o no está funcionando. He encontrado que es invaluble.

    Eso es genial, gracias! De hecho, ahora estamos mucho más conscientes del problema y ahora tienen papeles blancos detallada de cómo los clientes deben configurar su configuración de active directory. Pero esto podría ser muy útil para los clientes que no son lo suficientemente inteligentes como para saber que su red está configurada! Sin duda le ayudará a la hora de solucionar, así que gracias por eso. Voy a ir a una obra de teatro!

    OriginalEl autor Grhm

Dejar respuesta

Please enter your comment!
Please enter your name here