Un servidor indirecto de ISA Server 2004 o ISA Server 2006 no vuelve a utilizar las conexiones TCP a un servidor que precede en la cadena de otros fabricantes

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

Síntomas

Tenga en cuenta la situación siguiente. Un servidor indirecto está ejecutando Microsoft Internet Security y Acceleration (ISA) Server 2004 o Microsoft Internet Security and Acceleration (ISA) Server 2006. Este servidor indirecto está encadenada a un servidor que precede en la cadena de terceros a través de configuración de encadenamiento de Web. En este escenario, ISA Server no reutilizar las conexiones TCP que se han creado en el servidor que precede en la cadena. En su lugar, ISA Server cierra cada conexión TCP después de recibe una respuesta HTTP.

Cuando la red es bajo una gran carga, este comportamiento puede hacer que ISA Server para agotar todos los puertos TCP disponibles.

Causa

Algunos servidores proxy de terceros envían una respuesta HTTP que incluye los siguientes encabezados:
  • Longitud de contenido
  • Transfer-Encoding: fragmentada
Función a la sección 4.4 de las especificaciones RFC 2616, estos dos encabezados se excluyen mutuamente, y no deben utilizarse conjuntamente. Esta respuesta HTTP indica un posible ataque smuggling de HTTP. Por lo tanto, ISA Server procesa la respuesta omitiendo el encabezado Content-Length. A continuación, en ISA Server se cierra la conexión TCP para evitar ataques potenciales.

Solución

Solución

Para resolver este problema, obtenga el service pack más reciente de ISA Server. Para obtener más información, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
954258Cómo obtener el Internet Security and Acceleration (ISA) Server 2006 service pack más reciente
891024Cómo obtener el service pack más reciente de ISA Server 2004
importante Estos pasos pueden aumentar su riesgo de seguridad. Estos pasos también pueden hacer que el equipo o la red sea más vulnerable a los ataques por usuarios malintencionados o de software malintencionado como virus. Recomendamos seguir el proceso que se describe en este artículo para permitir que programas funcionen como están diseñados o para implementar capacidades específicas del programa. Antes de realizarlos, recomendamos que evalúe los riesgos asociados a la implementación de este proceso en su entorno concreto. Si decide implementar este proceso, tome las medidas adicionales oportunas para ayudar a proteger el sistema. Recomendamos que utilice este proceso sólo si realmente necesita este proceso.
Advertencia Después de seguir los pasos descritos en esta sección, ISA Server 2004 no se cerrará la conexiones TCP, incluso si ambos el encabezado Content-Length y "Transfer-Encoding: fragmentada" encabezado están presentes en la respuesta HTTP. Esta solución reduce la protección proporcionada por el servidor ISA. Por tanto, no se recomienda aplicar este cambio a menos que el servidor que precede en la cadena proporciona protección contra ataques HTTP smuggling.

Para cambiar el comportamiento predeterminado de ISA, siga estos pasos:
  1. Para resolver este problema, obtenga el service pack más reciente de ISA Server. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    954258Cómo obtener el Internet Security and Acceleration (ISA) Server 2006 service pack más reciente
    891024Cómo obtener el service pack más reciente de ISA Server 2004
  2. Inicie el Bloc de notas.
  3. Copie el código siguiente y, a continuación, péguelo en el Bloc de notas:
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '
    ' Copyright (c) Microsoft Corporation. All rights reserved.
    ' THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE
    ' RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE
    ' USER. USE AND REDISTRIBUTION OF THIS CODE, WITH OR WITHOUT MODIFICATION, IS
    ' HEREBY PERMITTED.
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    	
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' This script sets whether ISA will keep connections open after it receives an HTTP 
    ' response that contains both a Content-Length header and a Transfer-Encoding: Chunked header.
    '
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    
    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
    Const SE_VPS_NAME = "EnableKb934022"
    Const SE_VPS_VALUE = true
    
    Sub SetValue()
    
        ' Create the root object.
        Dim root  ' The FPCLib.FPC root object
        Set root = CreateObject("FPC.Root")
    
        'Declare the other objects needed.
        Dim array       ' An FPCArray object
        Dim VendorSets  ' An FPCVendorParametersSets collection
        Dim VendorSet   ' An FPCVendorParametersSet object
    
        ' Get references to the array object
        ' and to the network rules collection.
        Set array = root.GetContainingArray
        Set VendorSets = array.VendorParametersSets
    
        On Error Resume Next
        Set VendorSet = VendorSets.Item( SE_VPS_GUID )
    
        If Err.Number <> 0 Then
            Err.Clear
    
            ' Add the item.
            Set VendorSet = VendorSets.Add( SE_VPS_GUID )
            CheckError
            WScript.Echo "New VendorSet added... " & VendorSet.Name
    
        Else
            WScript.Echo "Existing VendorSet found... value- " &  VendorSet.Value(SE_VPS_NAME)
        End If
    
        if VendorSet.Value(SE_VPS_NAME) <> SE_VPS_VALUE Then
    
            Err.Clear
            VendorSet.Value(SE_VPS_NAME) = SE_VPS_VALUE
    
            If Err.Number <> 0 Then
                CheckError
            Else
                VendorSets.Save false, true
                CheckError
    
                If Err.Number = 0 Then
                    WScript.Echo "Done with " & SE_VPS_NAME & ", saved!"
                End If
            End If
        Else
            WScript.Echo "Done with " & SE_VPS_NAME & ", no change!"
        End If
    
    End Sub
    
    Sub CheckError()
    
        If Err.Number <> 0 Then
            WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description
            Err.Clear
        End If
    
    End Sub
    
    SetValue
    
  4. Guarde el archivo de texto como "Enable934022."
  5. Abra un símbolo del sistema, cambie a la ubicación en la que se guarda la secuencia de comandos y, a continuación, ejecute el comando siguiente en el símbolo del sistema:
    cscript Enable934022.vbs
Nota Para revertir a la configuración predeterminada, editar la secuencia de comandos cambiando "const SE_VPS_VALUE = true"a"const SE_VPS_VALUE = false." Guardar la secuencia de comandos y, a continuación, ejecútela de nuevo.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".

Más información

Para obtener más información acerca de cómo instalar actualizaciones y revisiones de ISA Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
885957Cómo instalar actualizaciones y revisiones de ISA Server

Propiedades

Id. de artículo: 934022 - Última revisión: viernes, 24 de octubre de 2008 - Versión: 2.0
La información de este artículo se refiere a:
  • Microsoft Internet Security and Acceleration Server 2004 Standard Edition
  • Microsoft Internet Security and Acceleration Server 2004 Enterprise Edition
  • Microsoft Internet Security and Acceleration Server 2006 Standard Edition
  • Microsoft Internet Security and Acceleration Server 2006 Enterprise Edition
Palabras clave: 
kbmt kbtshoot kbexpertiseinter kbprb KB934022 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): 934022

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