Aquí hay una guía paso a paso sobre cómo configurar la autenticación de usuario de dominio Kerberos SSO (inicio de sesión único) transparente en el sitio web de IIS que ejecuta Windows Server 2012 R2.

Inicie IIS Manager en su servidor web, seleccione el sitio web necesario y vaya al Autenticación sección. Como puede ver, solo Autenticación anónima está habilitado de forma predeterminada. Deshabilítelo y habilítelo Autenticación de Windows (En primer lugar, IIS siempre intenta realizar una autenticación anónima).

Abra la lista de proveedores, disponible para la autenticación de Windows (Proveedores). De forma predeterminada, hay dos proveedores disponibles: Negociar y NTLM. Negotiate es un contenedor que usa Kerberos como el primer método de autenticación, y si la autenticación falla, se usa NTLM. Se requiere que Negociar ocupa el primer lugar en la lista de proveedores.

Proveedores de IIS Negotiate (Kerberos)

El siguiente paso incluye el registro de Nombre principal del servicio (SPN) entradas para el nombre del sitio web, al que accederán los usuarios. Si el sitio web de IIS debe estar disponible solo por el nombre del servidor en el que se encuentra (http: // nombre-servidor o http: //nombre-servidor.adatum.loc), no necesita crear entradas SPN adicionales (las entradas SPN ya existen en la cuenta del servidor en AD). Si la dirección del sitio web difiere del nombre del host o si está creando una granja web con equilibrio de carga, tendrá que conectar entradas SPN adicionales a un servidor o cuenta de usuario.

Supongamos que tenemos una granja de servidores IIS. En este caso, es mejor crear una cuenta de AD separada y vincularle las entradas de SPN. El grupo de aplicaciones de destino de nuestro sitio web se iniciará desde esta cuenta.

Crea una cuenta de dominio iis_service. Asegúrese de que las entradas SPN no estén asignadas para este objeto (el atributo servicePrincipalName está vacío).

atributo servicePrincipalName

Supongamos que el sitio web tiene que responder a http: // portal web y http: //webportal.adatum.loc. Tenemos que especificar estas direcciones en el atributo SPN de la cuenta de servicio.

Setspn /s HTTP/webportal adatumiis_service
Setspn /s HTTP/webportal.adatum.loc adatumiis_service

Setspn

Por lo tanto, permitimos que esta cuenta descifre los tickets de Kerberos, cuando los usuarios acceden a estas direcciones, y autentique sesiones.

Puede verificar la configuración de SPN de la cuenta de esta manera:

setspn /l iis_service

comprobar los registros de spn

Consejo. Kerberos no funcionará correctamente si diferentes entradas de dominio utilizan los mismos SPN. Con el siguiente comando, asegúrese de que no haya SPN duplicados en el dominio: setspn –x

El siguiente paso es la configuración del grupo de aplicaciones de IIS para iniciarlo desde la cuenta creada anteriormente.

Seleccione el grupo de aplicaciones de su sitio web (en nuestro ejemplo, es DefaultAppPool).

DefaultAppPool

Abre el Ajustes avanzados y ve al Identidad.

Identidad del grupo de aplicaciones

Cambiarlo de ApplicationPoolIdentity a adatum iis_service.

cambiar la identidad del grupo de aplicaciones

Luego vaya a su sitio web en IIS Manager y seleccione Editor de configuración.

En el menú desplegable, seleccione system.webServer> seguridad> autenticación> windowsAuthentication

useAppPoolCredentials

Cambio useAppPoolCredentials a Cierto.

Por lo tanto, permitimos que IIS use la cuenta de dominio para descifrar los tickets Kerberos de los clientes.

Restablezca IIS usando este comando:

iisreset

iisreset

Lo mismo debe configurarse en todos los servidores de la granja de servidores web.

Probemos la autenticación Kerberos. Para hacerlo, abra http: //webportal.adatum.loc en el navegador del cliente.

Nota. En mi caso, no pude autenticarme a la vez en IE11. Tuve que agregar la dirección a la lista de sitios web confiables y especificar Inicio de sesión automático con nombre de usuario y contraseña actuales en Autenticación de usuario -> Inicio de sesión en la configuración de Sitios de zonas de confianza.ie11 Inicio de sesión automático con nombre de usuario y contraseña actuales

Puede asegurarse de que se utilice la autenticación Kerberos en su sitio web mediante la supervisión del tráfico HTTP mediante Fiddler (mencionamos esta herramienta anteriormente).

Inicie Fiddler y abra el sitio web de destino en el navegador. En la parte izquierda de la ventana, busque la línea de acceso al sitio web. Vaya a la pestaña Inspectores en la parte derecha de la ventana. La línea "El encabezado de autorización (negociar) parece contener un ticket de Kerberos”Muestra que se ha utilizado Kerberos para autenticarse en el sitio web de IIS.

Fiddler: el encabezado de autorización (negociar) parece contener un ticket de Kerberos

Recomendado para ti

Bestseller No. 1
Hp Elite 8300 - Ordenador de sobremesa + Monitor 24'' (Intel Core i7-3770, 8GB de RAM, Disco de 240 SSD+ 500GB HDD, Lector DVD, WiFi,Windows 10 Pro 64) (Reacondicionado)
  • Procesador Intel Core i7-3770 - 3,40 GHz
  • Monitor 24" Reacondicionado con altavoces integrados, Estado excelente.
  • Almacenamiento de 240GB SSD+500GB HDD
  • Memoria RAM 8GB DDR3
  • Sistema Operativo: Windows 10 PRO