Error "HTTP 400 - Solicitud incorrecta (encabezado de solicitud demasiado larga)" en los servicios de Internet Information Server (IIS)

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): 2020943
Síntomas

Un usuario de dominio intenta explorar un sitio Web alojado en Internet Information Services (IIS) 6.0 o superior utilizando Internet Explorer 6.0 o posterior.  El sitio Web está configurado para utilizar la autenticación Kerberos.  En lugar de recibir la esperada página web, se presenta al usuario un mensaje de error similar al siguiente:

HTTP 400 - Solicitud incorrecta (encabezado de solicitud demasiado larga)

Causa

Este problema puede producirse cuando el usuario es miembro de muchos grupos de usuario de Active Directory. Cuando un usuario es miembro de un gran número de active directory agrupan el token de autenticación de Kerberos para el usuario los aumentos de tamaño. La solicitud HTTP que se envía al usuario en el servidor IIS contiene el token de Kerberos en el encabezado WWW-Authenticate y el tamaño del encabezado aumenta a medida que aumenta el número de grupos.  Si el encabezado HTTP o tamaño de paquete aumenta más allá de los límites configurados en IIS, IIS puede rechazar la solicitud y enviar este error como respuesta.

Solución

Para evitar este problema, elija una de las siguientes opciones:

A) reducir el número de grupos de Active Directory que el usuario es un miembro de.

- o -

B) modificar el MaxFieldLength y la configuración de registro MaxRequestBytes en el servidor IIS para que encabezados de la solicitud del usuario no se consideran demasiado largos.  Para determinar la configuración adecuada para el MaxFieldLength y las entradas de registro MaxRequestBytes, utilice los siguientes cálculos:

    1. Calcular el tamaño del token de Kerberos de usuario utilizando la fórmula descrita en el artículo siguiente:

      Autenticación de nueva solución de problemas con Kerberos cuando los usuarios pertenecen a muchos grupos
      http://support.microsoft.com/kb/327825


    2. Configurar el MaxFieldLength y las claves de registro MaxRequestBytes en el servidor IIS con un valor de4/3 * T, donde T es el tamaño de símbolo (token) del usuario, en bytes. HTTP codifica el token Kerberos mediante la codificación base64 y, por tanto, reemplaza cada 3 bytes en el token con 4 base64 codificado bytes.  Los cambios que se realizan en el registro no tendrá efecto hasta que reinicie el servicio HTTP. Además, tendrá que reiniciar los servicios IIS relacionados.

Nota: Dependiendo del entorno de la aplicación, también puede configurar el sitio web para utilizar NTLM en lugar de Kerberos para solucionar temporalmente este problema.  Algunos entornos de aplicación requieren Kerberos para utilizarse con fines de delegación y Kerberos es más segura que NTLM, por lo que se recomienda que no deshabilite Kerberos antes de considerar las consecuencias de seguridad y delegación de hacerlo.


Más información

De forma predeterminada, la entrada de registro MaxFieldLength no está presente. Esta entrada del registro especifica el límite de tamaño máximo de cada encabezado de solicitud HTTP. La entrada de registro MaxRequestBytes especifica el límite superior del tamaño total de la línea de solicitud y los encabezados. Normalmente, esta entrada del registro se configura junto con la entrada de registro MaxRequestBytes. Si el valor de MaxRequestBytes es menor que el valor de MaxFieldLength, se ajusta el valor MaxFieldLength.  En entornos grandes de Active Directory, los usuarios pueden experimentar errores de inicio de sesión si no se establecen los valores para estas entradas de ambos en un valor suficientemente alto.

Para Internet Information Services (IIS) 6.0 y versiones posteriores, las claves del Registro MaxFieldLength y MaxRequestBytes se encuentran enHKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters.  Configurarlos como se muestra en la siguiente tabla:

Nombre

Tipo de valor

Datos de valor

MaxFieldLength

DWORD

(4/3 * bytes T) + 200

MaxRequestBytes

DWORD

(4/3 * bytes T) + 200

También puede establecer las claves del registro para que sus valores máximos que se muestra a continuación. El administrador debe considerar todas las ramificaciones de seguridad potencial si realiza cualquier cambio en la configuración del registro:

 

Nombre

Tipo de valor

Datos de valor

MaxFieldLength

DWORD

65534

MaxRequestBytes

DWORD

16777216

Importante: Cambiar estas claves del registro puede considerarse extremadamente peligroso. Estas claves permiten paquetes más grandes de HTTP para enviarse a IIS, que a su vez puede causar Http.sys utilice más memoria y puede aumentar la vulnerabilidad frente a ataques malintencionados.

Nota: Si MaxFieldLength está configurado con su valor máximo de 64KB, el valor de MaxTokenSize del registro debe establecerse en 3/4 * 64 = 48 KB.  Para obtener más información sobre el valor de MaxTokenSize, consulte el artículo de Microsoft knowledge base que kb327825 enumerados a continuación.

Para obtener más información acerca de los temas tratados en este artículo puede encontrarse en las siguientes ubicaciones:

Configuración del registro de HTTP.sys para IIS
http://support.Microsoft.com/kb/820129/en-us

Registro de errores en la API HTTP
http://support.Microsoft.com/?id=820729

Nueva solución de problemas con la autenticación Kerberos cuando los usuarios pertenecen a muchos grupos
http://support.Microsoft.com/kb/327825

Mensaje de error cuando un usuario de Outlook Web Access intenta acceder a un buzón en Exchange Server 2003
http://support.Microsoft.com/kb/920862

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 2020943 - Última revisión: 11/03/2015 01:53:00 - Revisión: 2.0

Microsoft Internet Information Services 10.0, Microsoft Internet Information Services 8.5, Microsoft Internet Information Services 8.0, Microsoft Internet Information Services 7.5, Microsoft Internet Information Services 7.0, Servicios de Microsoft Internet Information Server 6.0

  • kbmt KB2020943 KbMtes
Comentarios