La autenticación Kerberos y solución de problemas de delegación

Columna de voz de soporte de desarrollador de IIS

La autenticación Kerberos y solución de problemas de delegación

Para personalizar esta columna a sus necesidades, deseamos invitar a enviar sus ideas sobre temas que le interesan los problemas que desea ver y abordaron en próximas columnas de voz de soporte y artículos de Knowledge Base. Puede enviar sus ideas y comentarios mediante el Preguntar para el formulario. También hay un vínculo al formulario en la parte inferior de esta columna.
Mi nombre es Martin Smith, y estoy con grupo de resolución de problemas críticos de Microsoft Internet Information Services (IIS) de Microsoft. He estado nueve años en Microsoft y he estado con el equipo de IIS los nueve años. He recopilado información desde varias ubicaciones en
http://msdn.Microsoft.com y
http://www.microsoft.com acerca de cómo solucionar problemas de delegación y Kerberos.

IIS 6.0

El siguiente documento se describe cómo configurar la delegación en Microsoft Windows Server 2003. Las notas del producto dispone de información específica para el equilibrio de carga en la red (NLB), pero incluye excelentes detalles acerca de cómo configurar un escenario delegado sin usar NLB. Para ver estas notas del producto, visite el siguiente sitio Web de Microsoft:Nota: Utilice nombres principales de servicio HTTP (SPN), especialmente cuando se utiliza NLB.

Otro problema de Kerberos popular recientemente ha sido la necesidad de permitir que varios grupos de aplicaciones utilizar el mismo nombre DNS. Desafortunadamente, cuando se utiliza Kerberos para delegar las credenciales, no se puede enlazar el mismo nombre Principal de servicio (SPN) para grupos de aplicaciones distintos. No puede hacerlo debido al diseño de Kerberos. El protocolo Kerberos requiere varios secretos compartidos para el protocolo funcione correctamente. Utilizando el mismo SPN para grupos de aplicaciones diferentes, eliminamos uno de estos secretos compartidos. El servicio de directorio de Active Directory no admite esta configuración del protocolo Kerberos debido al problema de seguridad.

Configurar el SPN de esta manera hace que falle la autenticación Kerberos. Una posible solución a este problema sería utilizar la transición de protocolos. La autenticación inicial entre el cliente y el servidor ejecutan IIS podría controlarse mediante el protocolo de autenticación NTLM. Kerberos controlaría la autenticación entre IIS y el servidor back-end de recursos.

Microsoft Internet Explorer 6 o posterior

El explorador del cliente puede experimentar problemas, como la recepción de mensajes repetidos de inicio de sesión para credenciales o mensajes de error "401 Acceso denegado" desde el servidor que ejecuta IIS. Hemos encontrado los siguientes dos problemas que pueden ayudar a resolver estos problemas:
  • Compruebe que está seleccionado Habilitar autenticación integrada de Windows en las propiedades del explorador. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    299838 no se puede negociar la autenticación Kerberos después de actualizar a Internet Explorer 6

  • Si la configuración de seguridad mejorada de Internet Explorer está habilitada en Agregar o quitar programas, debe agregar un sitio que utiliza la delegación para la
    Lista de sitios de confianza . Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    815141 la configuración de seguridad mejorada de Internet Explorer cambia la experiencia de exploración

IIS 5.0 e IIS 6.0

Después de actualizar desde IIS 4.0 a IIS 5.0 o IIS 6.0, la delegación no funcionen correctamente o posiblemente un usuario o una aplicación ha modificado la propiedad de metabase NTAuthenticationProviders.
Para obtener más información acerca de cómo solucionar este problema, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
248350 autenticación Kerberos falla después de actualizar desde IIS 4.0 a IIS 5.0

Un área concreta del problema puede ocurrir cuando se establece el SPN

Determinar el nombre del servidor

Determinar si se está conectando al sitio Web utilizando el nombre real de NetBIOS del servidor o mediante un nombre de alias, como un nombre DNS (por ejemplo, www.microsoft.com). Si tiene acceso al servidor Web utilizando un nombre distinto del nombre real del servidor, un nuevo nombre Principal de servicio (SPN) debe han registrado mediante la herramienta Setspn desde el Kit de recursos de Windows 2000 Server. Porque el servicio de directorio de Active Directory no sabe este nombre de servicio, el servicio de concesión de vales (TGS) no le otorga un vale para autenticar al usuario. Este comportamiento obliga al cliente a utilizar el siguiente método de autenticación disponibles, que es NTLM, para volver a negociar. Si el servidor Web responde a un nombre DNS de www.microsoft.com, pero el servidor se denomina webserver1.development.microsoft.com, debe registrar www.microsoft.com en Active Directory en el servidor que está ejecutando IIS. Para ello, debe descargar la herramienta Setspn e instalarlo en el servidor que está ejecutando IIS.


Si está utilizando Windows Server 2003 y IIS 6, la herramienta Setspn para Microsoft Windows Server 2003 está disponible en la siguiente ubicación:Para determinar si se conecta mediante el nombre real, intente conectarse al servidor mediante el nombre real del servidor en lugar del nombre DNS. Si no puede conectarse al servidor, consulte la sección "Comprobar el equipo es de confianza para la delegación".

Si puede conectarse al servidor, siga estos pasos para configurar un SPN para el nombre DNS que utiliza para conectarse al servidor:
  1. Instale la herramienta Setspn.
  2. En el servidor que ejecuta IIS, abra un símbolo del sistema y, a continuación, abra la carpeta C:\Program archivos de programa\Resource Kit.
  3. Ejecute el comando siguiente para agregar este SPN nuevos (www.microsoft.com) a Active Directory para el servidor:
    Setspn - A HTTP/www.microsoft.com webserver1
    Nota: En este comando, webserver1 representa el nombre de NetBIOS del servidor.
Recibirá un resultado similar al siguiente:
Registering ServicePrincipalNames for CN=webserver1,OU=Domain Controllers,DC=microsoft,DC=comHTTP/www.microsoft.com
Updated object

Para ver una lista de SPN en el servidor para ver este nuevo valor, escriba el comando siguiente en el servidor que ejecuta IIS:
Setspn -L NombreDeServidorWeb
Tenga en cuenta que no es necesario registrar todos los servicios. Muchos de los tipos de servicio, como HTTP, W3SVC, WWW, RPC, CIFS (acceso de archivo), WINS y sistema de alimentación ininterrumpida (SAI), se asignarán a un tipo de servicio predeterminado que se denomina HOST. Por ejemplo, si el software de cliente utiliza un SPN de HTTP/webserver1.microsoft.com para crear una conexión HTTP con el servidor Web en el servidor webserver1.microsoft.com, pero este SPN no está registrado en el servidor, el controlador de dominio de Windows 2000 asignará automáticamente la conexión a HOST/webserver1.microsoft.com. Esta asignación se aplica sólo si el servicio Web se ejecuta bajo la cuenta sistema local.

Compruebe que el equipo es de confianza para la delegación

Si este servidor que ejecuta IIS es un miembro del dominio pero no es un controlador de dominio, el equipo debe ser de confianza para la delegación de Kerberos funcione correctamente. Para ello, siga estos pasos:
  1. En el controlador de dominio, haga clic en Inicio, seleccione configuracióny, a continuación, haga clic en Panel de Control.
  2. En el Panel de Control, abra Herramientas administrativas.
  3. Haga doble clic en usuarios y equipos Active Directory.
  4. En su dominio, haga clic en equipos.
  5. En la lista, busque el servidor que ejecuta IIS, haga clic en el nombre del servidor y, a continuación, haga clic en Propiedades.
  6. Haga clic en la ficha General , haga clic para seleccionar la
    Confianza para la delegación y, a continuación, haga clic en
    OK.
Tenga en cuenta que si se alcanzan varios sitios Web mediante la misma dirección URL, pero en distintos puertos, la delegación no funcionará. Para que esto funcione, debe utilizar nombres de equipo diferentes y SPN diferentes. Cuando Internet Explorer solicita cualquiera http://www. MiSitioWeb.com o http://www. MiSitioWebcom: 81, Internet Explorer solicita un vale para el SPN HTTP/www.mywebsite.com. Internet Explorer no agrega el puerto o el directorio virtual a la solicitud SPN. Este comportamiento es el mismo de http://www. .com/app1 MiSitioWebo http://www. MiSitioWeb.com/app2. En esta situación, Internet Explorer solicitará un vale de SPN http://www. MiSitioWeb.com desde el centro de distribución de claves (KDC). Cada SPN se puede declarar sólo para una identidad. Por lo tanto, también recibirá un mensaje de error KRB_DUPLICATE_SPN si intenta declarar este SPN para cada identidad.

Delegación y Microsoft ASP.NET

Para obtener más información sobre la configuración de la delegación de credenciales cuando se utiliza una aplicación de ASP.NET, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
810572 cómo configurar una aplicación ASP.NET para un escenario de delegación

Suplantación y delegación son dos métodos para un servidor autenticar en el nombre del cliente. Decidir cuál de estos métodos para utilizar y su implementación puede crear alguna confusión. Debe revisar la diferencia entre estos dos métodos y examinar cuál de estos métodos puede utilizar para su aplicación. Mi recomendación sería leer el siguiente documento técnico para obtener más detalles:

Referencias

305971 Windows 2000 Server le pedirá las credenciales de usuario del dominio

262177 cómo habilitar el registro de sucesos de Kerberos

326985 cómo solucionar problemas relacionados con Kerberos en IIS

WebCast de soporte técnico de TechNet 842861 : autenticación de Kerberos de solución de problemas con aplicaciones Web seguras y Microsoft SQL Server

Como siempre, no dude en enviar ideas sobre temas que desea examinarse en futuras columnas o en la Base de conocimientos mediante la
Preguntar para el formulario.
Propiedades

Id. de artículo: 907272 - Última revisión: 17 ene. 2017 - Revisión: 1

Comentarios