Registro de IIS para la autenticación integrada de Windows

Seleccione idioma Seleccione idioma
Id. de artículo: 969060 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

INTRODUCCIÓN

Este artículo analiza la solicitud y la respuesta la comunicación entre un cliente HTTP y un servidor de servicios de Internet Information Server (IIS) cuando se configura la autenticación integrada de Windows. Este artículo también ilustra la forma en que IIS registra este proceso de autenticación en los registros de IIS.

Más información

Autenticación de Windows integrada utiliza la autenticación Kerberos v5 y la autenticación NTLM. Kerberos es un protocolo de autenticación estándar del sector que se utiliza para comprobar la identidad del usuario o la identidad del host. Si Active Directory está instalado en un controlador de dominio que ejecuta Windows 2000 Server, Windows Server 2003 o Windows Server 2008, y el explorador Web del cliente es compatible con el protocolo de autenticación Kerberos v5, el cliente y el servidor de IIS utilizan la autenticación Kerberos v5. De lo contrario, el cliente y el servidor de IIS utilizan la autenticación NTLM.

Nota Para obtener información detallada acerca de la autenticación integrada de Windows, visite el siguiente sitio Web de Microsoft:
http://technet2.Microsoft.com/WindowsServer/en/Library/80c79abb-348d-467a-92fe-825e696be3351033.mspx?mfr=true
La forma en que los registros de IIS NTLM y la autenticación Kerberos en IIS archivos de registro es diferente, dependiendo de qué protocolo se utiliza.

Si el servidor IIS y el cliente HTTP que hace que el Web solicitar ambos soportan el protocolo Kerberos y IIS está configurado para utilizar Kerberos, entradas de registro que se asemejan a los siguientes aparecen en el registro de IIS para la respuesta de solicitud y el servidor del cliente:

#Software: Microsoft Internet Information Services 6.0
#Versión: 1.0 #Date: 2009-01-01 02:48:20
#Fields: fecha hora s-sitename s ip cs-method cs-uri-stem cs-uri-query s puerto cs-username-c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status
2009-01-01 02:48:20 W3SVC1 <serverIP>GET - 80 - <clientIP>Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 401 2 2148074254
2009-01-01 02:48:21 W3SVC1 <serverIP>obtener / - 80 dominio\usuario <clientIP>Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 200 0 0</clientIP> </serverIP></clientIP></serverIP>

Si el servidor IIS o en el cliente HTTP no es compatible con el protocolo Kerberos o si el servidor IIS está configurado para utilizar sólo NTLM, aparecen los siguientes tipos de entradas de registro en el registro IIS para la respuesta de solicitud y el servidor del cliente:

#Software: Microsoft Internet Information Services 6.0
#Versión: 1.0
#Date: 2009-01-05: 02:29:47
#Fields: fecha hora s-sitename s ip cs-method cs-uri-stem cs-uri-query s puerto cs-username-c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status
2009-01-01 02:29:47 W3SVC1 <serverIP>GET - 80 - <clientIP>Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 401 2 2148074254
2009-01-01 02:29:47 W3SVC1 <serverIP>GET - 80 - <clientIP>Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 401 1 0
2009-01-01 02:29:47 W3SVC1 <serverIP>obtener / - 80 dominio\usuario <clientIP>Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 200 0 0</clientIP> </serverIP></clientIP></serverIP></clientIP></serverIP>

Autenticación integrada de Windows

IIS puede configurarse para que admita el protocolo de negociación, el protocolo NTLM o ambos. En IIS 6.0 y versiones anteriores, esto se hace mediante la configuración de la clave de la metabase NTAuthenticationProviders. En IIS 7.0, esto se hace estableciendo el adecuado <Provider></Provider> el elemento en el <windowsAuthentication></windowsAuthentication> el elemento en el archivo ApplicationHost.config o en el archivo web.config.

Para obtener más información acerca de cómo configurar Windows integrada la autenticación en IIS 6.0 y en versiones anteriores, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
215383 Cómo configurar IIS para admitir el protocolo Kerberos y el protocolo NTLM para la autenticación de red
Para obtener más información acerca de cómo configurar la autenticación integrada de Windows en IIS 7.0, visite el siguiente sitio Web de Microsoft:
http://technet.Microsoft.com/en-us/library/cc754628.aspx

Autenticación Kerberos

Los siguientes son dos ejemplos de escenario. En el primer escenario, IIS está configurado para admitir el protocolo de negociación y el protocolo NTLM. En el segundo escenario, se admite sólo el protocolo de negociación.

Escenario 1: protocolo de negociación y protocolo NTLM

En este ejemplo, IIS está configurado para admitir el protocolo de negociación y el protocolo NTLM. En IIS 6.0 y versiones anteriores, esto se hace estableciendo la clave de la metabase NTAuthenticationProviders "Negotiate, NTLM". En IIS 7.0 y versiones posteriores, el protocolo de negociación y el protocolo NTLM deben figurar como proveedores en la sección <windowsAuthentication>.

Nota En los ejemplos siguientes, se capturan el encabezado de la solicitud y el encabezado de respuesta con la herramienta Monitor de red de Microsoft 3.2. Para descargar la versión más reciente de la herramienta Monitor de red, visite el siguiente sitio Web:</windowsAuthentication>
http://www.Microsoft.com/en-us/download/details.aspx?displaylang=en&Id=4865
Cuando Microsoft Internet Explorer realiza una solicitud, Internet Explorer siempre considera que la primera solicitud de una nueva conexión para ser anónimo. Por lo tanto, Internet Explorer no envía las credenciales como parte de la solicitud. El siguiente es un ejemplo de los encabezados de solicitud que se envía la primera solicitud de un recurso de Internet Explorer:

HTTP: Solicitud, GET /
Comando: obtener
ProtocolVersion: HTTP/1.1
Aceptar: image/gif, image/x-xbitmap image/jpeg, image/pjpeg, * / *
Accept-Language: en-us
Accept-Encoding: gzip, deflate
UserAgent: Mozilla/4.0 (compatible; INTERNET EXPLORER 6.0; Windows NT 5.1)
Host: www.kerberos.com
Conexión: Mantener

Si el servidor IIS no está configurado para admitir la autenticación anónima, el servidor IIS devuelve un estado 401.2 que indica al cliente que el cliente no está autorizado. Junto con el estado de error, el servidor envía también una lista de los protocolos de autenticación que admite el servidor. Los encabezados de respuesta que devuelve IIS en este escenario similar al siguiente:

HTTP: Código de estado respuesta, HTTP/1.1, = 401
ProtocolVersion: HTTP/1.1
StatusCode: 401 no autorizado
Razón: no autorizado
ContentLength: 1656
ContentType: texto/html
Server: Microsoft-IIS/6.0
WWWAuthenticate: negociar
WWWAuthenticate: NTLM

Después de IIS server envía esta respuesta, IIS escribe la siguiente entrada asociada al registro de IIS:

<Date> <Time>W3SVC<ID> <serverIP> GET - 80 - <clientIP>Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 401 2 2148074254</clientIP> </serverIP> </ID></Time></Date>

Nota El estado win32 de "2148074254" (también se define como-2146893042 / 0x8009030E / SEC_E_NO_CREDENTIALS) significa "credenciales no están disponibles en el paquete de seguridad." En otras palabras, el cliente no ha enviado ninguna credencial.

Después de que el cliente recibe la respuesta 401.2 desde el servidor IIS, el cliente entiende que IIS está configurado para utilizar la autenticación integrada de Windows en lugar de la autenticación anónima. Por lo tanto, el cliente debe proporcionar información de autenticación adecuada en su solicitud.

Entonces, el cliente realiza una solicitud similar al siguiente:

HTTP: Solicitud, GET /
Comando: obtener
URI: /
ProtocolVersion: HTTP/1.1
Aceptar: image/gif, image/x-xbitmap image/jpeg, image/pjpeg, * / *
Accept-Language: en-us
Accept-Encoding: gzip, deflate
UserAgent: Mozilla/4.0 (compatible; INTERNET EXPLORER 6.0; Windows NT 5.1)
Host: www.kerberos.com
Conexión: Mantener
Autorización: negociar
YIIJ5wYGKwYBBQUCoIIJ2zCCCdegJDAiBgkqhkiC9xIBAgIGCSqGSIb3EgECAgYKKwYBBAGCNwICCqKCCa0EggmpYIIJpQYJKoZIhvcSAQICAQBugggtygmUMIIJkKADAgEFoQMCAQ6iBwMFACAAAACjggPMYYIDyDCCA8SgAwIBBaENGwtWQU5EQU5BLkNPTaIjMCGgAwIBAqEaMBgbBEhUVFAbEHd3dy5rZXJiZXJvc

Nota En este artículo, el Kerberos de entradas en la autorización: negociar la cabecera se ha truncado.

El servidor IIS recibe la solicitud. El servidor IIS detecta que el cliente ha incluido información de autenticación mediante la adición de la autorización: negociar encabezado y valor. Si el cliente ha enviado la información de credenciales válidas, la autenticación es correcta. IIS envía la siguiente respuesta:

HTTP: Respuesta, HTTP/1.1, Código de estado = 200
ProtocolVersion: HTTP/1.1
StatusCode: 200, Aceptar
Reason: OK
Fecha: xxx, <Date> <Time>GMT
Server: Microsoft-IIS/6.0
ContentLength: 19
ContentType: texto/html
WWWAuthenticate: Negotiate =</Time> </Date>

Nota Los pasos detallados de cómo tiene lugar la autenticación Kerberos no se incluye aquí. Para obtener más información acerca de cómo funciona la autenticación Kerberos, visite el siguiente sitio Web de Microsoft:
http://technet.Microsoft.com/en-us/library/cc758557.aspx
IIS, a continuación, escribe la siguiente entrada en el registro de IIS:

<Date> <Time>W3SVC<ID> <serverIP> /time.asp GET - 80 dominio\usuario <clientIP>Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 200 0 0</clientIP> </serverIP> </ID></Time></Date>

Escenario 2: Negociar protocolo

En el escenario en el que IIS está configurado para admitir el protocolo de negociación en lugar del protocolo de negociación y el protocolo NTLM, el flujo de solicitud y respuesta es el mismo. El registro en el registro de IIS es el mismo. La diferencia radica en la respuesta inicial que IIS permite la solicitud anónima desde el explorador. En este caso, IIS envía sólo el encabezado Negotiate:

HTTP: Respuesta, HTTP/1.1,
Código de estado = 401
ProtocolVersion: HTTP/1.1
StatusCode: 401 no autorizado
Razón: no autorizado
ContentLength: 1656
ContentType: texto/html
Server: Microsoft-IIS/6.0
WWWAuthenticate: negociar

Autenticación NLTM

El siguiente es un ejemplo basado en el escenario en el que IIS está configurado para admitir sólo el protocolo NTLM. En IIS 6.0 y versiones anteriores, esto se consigue teniendo la clave de la metabase NTAuthenticationProviders establecida en "NTLM". En IIS 7.0 y versiones posteriores, debe aparecer sólo en el protocolo NTLM como proveedor en la sección <windowsAuthentication>.

De nuevo, Internet Explorer no incluye información de autenticación en la primera solicitud de una nueva conexión: </windowsAuthentication>

HTTP: Solicitud, GET /
Comando: GETProtocolVersion: HTTP/1.1
Aceptar: image/gif, image/x-xbitmap image/jpeg, image/pjpeg, * / *
Accept-Language: en-us
Accept-Encoding: gzip, deflate
UserAgent: Mozilla/4.0 (compatible; INTERNET EXPLORER 6.0; Windows NT 5.1)
Host: www.kerberos.com
Conexión: Mantener

Si el servidor IIS no está configurado para admitir la autenticación anónima, el servidor devuelve un estado 401.2 que indica al cliente que el cliente no está autorizado. Junto con el estado de error, el servidor envía también una lista de los protocolos de autenticación que admite el servidor. Los encabezados de respuesta que devuelve IIS en este escenario sólo NTLM similar al siguiente:

HTTP: Código de estado respuesta, HTTP/1.1, = 401
ProtocolVersion: HTTP/1.1
StatusCode: 401 no autorizado
Razón: no autorizado
ContentLength: 1656
ContentType: texto/html
Server: Microsoft-IIS/6.0
WWWAuthenticate: NTLM

IIS, a continuación, escribe una entrada similar a la siguiente en el registro de IIS:

<Date> <Time>W3SVC<ID> <serverIP> GET - 80 - <clientIP>Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 401 2 2148074254</clientIP> </serverIP> </ID></Time></Date>

Cuando el cliente recibe la notificación del servidor que el servidor admite el protocolo NTLM, el cliente vuelve a enviar la solicitud. El cliente incluye información de autenticación en un encabezado de autorización:

HTTP: Solicitud, GET /
Comando: obtener
URI: /
ProtocolVersion: HTTP/1.1
Aceptar: image/gif, image/x-xbitmap image/jpeg, image/pjpeg, * / *
Accept-Language: en-us
Accept-Encoding: gzip, deflate
UserAgent: Mozilla/4.0 (compatible; INTERNET EXPLORER 6.0; Windows NT 5.1)
Host: www.kerberos.com
Conexión: Mantener
Autorización: NTLM TlRMTVNTUAABAAAAB7IIoAcABwssAoAAAACAAIACAAAABWQU5XSU5YUFZBTkRBTkE =

Como parte del protocolo de enlace NTLM, el servidor reconoce que el cliente ha enviado la información de autenticación. Sin embargo, el servidor necesita el cliente para enviar más información. Por lo tanto, el servidor devuelve la respuesta 401 otro similar al siguiente:

HTTP: Código de estado respuesta, HTTP/1.1, = 401
ProtocolVersion: HTTP/1.1
StatusCode: 401 no autorizado
Razón: no autorizado
ContentLength: 1539
ContentType: texto/html
Server: Microsoft-IIS/6.0
NTLMAuthorization: NTLM
TlRMTVNTUAACAAAADgAOADgAAAAFgomiRCfS+kdwvJ0MAAAAAAAAAAJYAlgBGAAAABQLODgAAAA9WAEEATgBEAEEATgBBAAIADgBWAEEATgBEAEEATgBBAAEAFgBXAEkATgBEAEss8AVwBTADIAMAAwADMABAAWAHYAYQBuAGQAYQBuAGEALgBjAG8AbQADAC4AVwBpAG4AZABvAHcAcwAyADAAMAAzAC4AdgBhAG4AZA

IIS, a continuación, escribe una entrada en el registro IIS que se parece al siguiente:

<Date> <Time>W3SVC<ID> <serverIP> GET - 80 - <clientIP>Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 401 1 0</clientIP> </serverIP> </ID></Time></Date>

El estado 401.1 que IIS envía indica al cliente que el cliente debe proporcionar el resto de la información de autenticación válida. El cliente recibe este desafío. Entonces, el cliente envía una solicitud más similar al siguiente:

HTTP: Solicitud, GET /
Comando: obtener
URI: /
ProtocolVersion: HTTP/1.1
Aceptar: image/gif, image/x-xbitmap image/jpeg, image/pjpeg, * / *
Accept-Language: en-us
Accept-Encoding: gzip, deflate
UserAgent: Mozilla/4.0 (compatible; INTERNET EXPLORER 6.0; Windows NT 5.1)
Host: www.kerberos.com
Conexión: Mantener
NTLMAuthorization: NTLM
TlRMTVNTUAADAAAAGAAYAHgAAAAYABgAkAAAAA4ADgBAAAAAGgAaAE4AAAAQABAAaAAAAAAAAACoAAAABYKIoFYAQQBOAEQAQQBOAEEAQQBkAG0AaQBuAGkAcwB0AwwHIAYQB0AG8AcgBWAEEATgBXAEkATgBYAFAAo53RVbJ / EucAAAAAAAAAAAAAAAAAAAAAcWyNNNlQLNMC3EVd + aoZCA9lkh8dVY/M

Cuando el servidor IIS recibe esta solicitud, el servidor IIS se comunica con un controlador de dominio para completar la solicitud de autenticación. Cuando se confirme la solicitud de autenticación del cliente, IIS envía una respuesta similar a la siguiente:

HTTP: Respuesta, HTTP/1.1, Código de estado = 200
ProtocolVersion: HTTP/1.1
StatusCode: 200, Aceptar
Reason: OK
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
ContentLength: 19
ContentType: texto/html
Cache-control: private

Nota Los pasos detallados de cómo tiene lugar la autenticación NTLM no se incluye aquí. Para obtener más información acerca de cómo funciona la autenticación NTLM, visite el siguiente sitio Web de Microsoft:
http://msdn.Microsoft.com/en-us/library/bb643328.aspx
Una vez que IIS envía esta respuesta, IIS escribe la siguiente entrada asociada al registro de IIS:

<Date> <Time>W3SVC<ID> <serverIP> /time.asp GET - 80 dominio\usuario <clientIP>Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1) 200 0 0</clientIP> </serverIP> </ID></Time></Date>

Referencias

Para obtener más información acerca de cómo IIS autentica los clientes de explorador, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
264921 ¿Cómo IIS autentica a los clientes del explorador
Para obtener más información sobre cómo solucionar problemas relacionados con Kerberos en IIS, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
326985 Cómo solucionar problemas relacionados con Kerberos en IIS
Para obtener más información sobre cómo modificar la propiedad de la AuthPersistence Metabase para controlar la autenticación, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
318863 Cómo modificar la propiedad de la AuthPersistence Metabase para controlar la autenticación
Para obtener más información acerca de un problema de rendimiento lento que se produce al utilizar la autenticación integrada de Windows IIS 6.0, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
917557 REVISIÓN: Puede experimentar un rendimiento lento cuando utiliza la autenticación de Windows integrada junto con el protocolo de autenticación Kerberos en IIS 6.0
Para obtener más información acerca de Microsoft NTLM, visite el siguiente sitio Web de Microsoft:
http://msdn.Microsoft.com/en-us/library/bb643328.aspx
Para obtener más información acerca de Kerberos de Microsoft, visite el siguiente sitio Web de Microsoft:
http://msdn.Microsoft.com/en-us/library/aa378747 (VS.85
Para obtener más información acerca de la autenticación de Windows integrada de IIS, visite el siguiente sitio Web de Microsoft:
http://technet2.Microsoft.com/WindowsServer/en/Library/80c79abb-348d-467a-92fe-825e696be3351033.mspx?mfr=true
Para obtener más información acerca de la propiedad de la metabase NTAuthenticationProviders en IIS 6.0, visite el siguiente sitio Web de Microsoft:
http://www.Microsoft.com/technet/prodtechnol/windowsserver2003/library/IIS/ea7cd846-33da-49c9-927f-d4e76d6309ac.mspx?mfr=true
Para obtener más información acerca de la <windowsAuthentication>la propiedad de configuración en IIS 7.0, visite el siguiente sitio Web:</windowsAuthentication>
http://www.IIS.NET/ConfigReference/System.webServer/security/authentication/windowsAuthentication

Propiedades

Id. de artículo: 969060 - Última revisión: lunes, 11 de noviembre de 2013 - Versión: 4.0
La información de este artículo se refiere a:
  • Microsoft Internet Information Services 7.0
  • Servicios de Microsoft Internet Information Server 5.0
  • Servicios de Microsoft Internet Information Server 5.1
  • Servicios de Microsoft Internet Information Server 6.0
Palabras clave: 
kbexpertiseinter kbexpertiseadvanced kbhowto kbsurveynew kbmt KB969060 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 969060

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com