Um servidor ISA Server 2004 ou ISA Server 2006 descendente não reutilizar as ligações TCP um servidor de montante de outros fabricantes

Traduções de Artigos Traduções de Artigos
Artigo: 934022 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sintomas

Considere o seguinte cenário. Um servidor jusante está a executar Microsoft Internet Security e Acceleration (ISA) Server 2004 ou o Microsoft Internet Security and Acceleration (ISA) Server 2006. Este servidor a jusante é encadeada a um servidor montante terceiros através da configuração de encadeamento Web. Neste cenário, ISA Server não reutilizar as ligações TCP que criou para o servidor a montante. Em vez disso, o ISA Server fecha cada ligação TCP após é recebida uma resposta HTTP.

Quando a rede estiver numa carga elevada, este comportamento pode fazer com que ISA Server para exaustão todas as portas TCP disponíveis.

Causa

Alguns servidores proxy de terceiros enviam uma resposta HTTP que inclui os cabeçalhos seguintes:
  • Content-Length
  • Codificação de transferência: secção
Acordo com a secção 4.4 das especificações RFC 2616, estes dois cabeçalhos são mutuamente exclusivos e não devem ser utilizados em conjunto. Esta resposta HTTP indica um potencial ataque de smuggling de HTTP. Por conseguinte, o ISA Server processa a resposta ignorando o cabeçalho Content-Length. Em seguida, ISA Server encerra a ligação TCP para evitar o ataque potencial.

Resolução

Resolução

Para resolver este problema, obtenha o ISA Server service pack mais recente. Para obter mais informações, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
954258Como obter o Internet Security and Acceleration (ISA) Server 2006 service pack mais recente
891024Como obter o ISA Server 2004 service pack mais recente
importante Estes passos podem aumentar o risco de segurança. Estes passos podem também tornar o computador ou rede mais vulnerável a ataques de utilizadores mal intencionados ou software malicioso como vírus. Recomendamos o processo descrito neste artigo para permitir que programas a funcionar como foram concebidos para ou para implementar capacidades específicas de programa. Antes de efectuar estas alterações, recomendamos que avalie os riscos associados à implementação deste processo no seu ambiente específico. Se decidir implementar este processo, tome medidas adicionais adequadas para ajudar a proteger o sistema. Recomendamos que utilize este processo apenas se for realmente necessário este processo.
aviso Depois de seguir os passos nesta secção, o ISA Server 2004 não fechará a ligações TCP, o mesmo cabeçalho Content-Length e o "codificação de transferência: secção" cabeçalho estão presentes na resposta HTTP. Esta resolução reduz a protecção fornecida pelo ISA Server. Por conseguinte, não recomendamos que aplique esta alteração, excepto se o servidor a montante fornece protecção contra ataques de smuggling de HTTP.

Para alterar o comportamento do ISA predefinido, siga estes passos:
  1. Para resolver este problema, obtenha o ISA Server service pack mais recente. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
    954258Como obter o Internet Security and Acceleration (ISA) Server 2006 service pack mais recente
    891024Como obter o ISA Server 2004 service pack mais recente
  2. Inicie o bloco de notas.
  3. Copie o seguinte código e cole-o no bloco 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 o ficheiro de texto como "Enable934022."
  5. Abra uma linha de comandos, mude para a localização na qual o script é guardado e, em seguida, execute o seguinte comando na linha de comandos:
    cscript Enable934022.vbs
Nota Para reverter para a definição predefinida, edite o script alterando "Const SE_VPS_VALUE = true"para"Const SE_VPS_VALUE = false." Guardar o script e, em seguida, executá-la novamente.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Mais Informação

Para obter mais informações sobre como instalar o ISA Server correcções e actualizações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
885957Como instalar o ISA Server correcções e actualizações

Propriedades

Artigo: 934022 - Última revisão: 24 de outubro de 2008 - Revisão: 2.0
A informação contida neste artigo aplica-se 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
Palavras-chave: 
kbmt kbtshoot kbexpertiseinter kbprb KB934022 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 934022

Submeter comentários

 

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