Um servidor downstream do ISA Server 2004 ou ISA Server 2006 não reutilizar as conexões TCP com um servidor upstream de terceiros

Traduções deste artigo Traduções deste artigo
ID do artigo: 934022 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sintomas

Considere o seguinte cenário. Um servidor downstream está executando o Microsoft Internet Security e Acceleration (ISA) Server 2004 ou Microsoft Internet Security and Acceleration (ISA) Server 2006. Este servidor downstream é encadeado a um servidor upstream terceiros por meio de configuração de encadeamento de Web. Nesse cenário, ISA Server não reutilizar as conexões TCP que foram criadas para o servidor upstream. Em vez disso, o ISA Server fecha cada conexão TCP após for recebida uma resposta HTTP.

Quando a rede está sob uma carga pesada, esse comportamento pode causar o ISA Server para esgotar todas as portas TCP disponíveis.

Causa

Alguns servidores proxy de terceiros enviam uma resposta HTTP que inclui os seguintes cabeçalhos:
  • Content-Length
  • Codificação de transferência: blocos
Acordo com a seção 4.4 das especificações RFC 2616, esses dois cabeçalhos são mutuamente exclusivos e eles não devem ser usados juntos. Essa resposta HTTP indica um possível ataque indesejadas HTTP. Portanto, o ISA Server processa a resposta ignorando o cabeçalho Content-Length. Em seguida, o ISA Server encerra a conexão TCP para evitar o ataque em potencial.

Resolução

Resolução

Para resolver esse problema, obtenha o service pack mais recente do ISA Server. Para obter mais informações, clique nos números abaixo para ler 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 service pack mais recente do ISA Server 2004
importante Essas etapas podem aumentar o risco de segurança. Essas etapas também podem tornar o computador ou rede mais vulneráveis aos ataques de usuários mal-intencionados ou softwares mal-intencionados como vírus. Recomendamos o processo descrito neste artigo para ativar programas para operar como eles são criados para ou para implementar recursos específicos do programa. Antes de fazer essas alterações, recomendamos que avalie os riscos associados à implementação deste processo no seu ambiente específico. Caso você decida implementar esse processo, execute quaisquer etapas apropriadas adicionais para ajudar a proteger o sistema. Recomendamos que você use esse processo apenas se você realmente precisar esse processo.
Aviso Após executar as etapas nesta seção, o ISA Server 2004 não fechar conexões TCP, mesmo se tanto o cabeçalho Content-Length e o "Transfer-Encoding: em partes" cabeçalho estão presentes na resposta HTTP. Essa resolução reduz a proteção fornecida pelo ISA Server. Portanto, não é recomendável aplicar esta alteração, a menos que o servidor upstream fornece proteção contra ataques de indesejadas de HTTP.

Para alterar o comportamento ISA padrão, execute as seguintes etapas:
  1. Para resolver esse problema, obtenha o service pack mais recente do ISA Server. Para obter mais informações, clique no número abaixo para ler o artigo 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 service pack mais recente do ISA Server 2004
  2. Inicie o bloco de notas.
  3. Copie o código a seguir e, em seguida, 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. Salve o arquivo de texto como "Enable934022."
  5. Abra um prompt de comando, alterne para o local em que o script é salvo e, em seguida, execute o seguinte comando no prompt de comando:
    cscript Enable934022.vbs
Observação Para reverter para a configuração padrão, edite o script alterando "SE_VPS_VALUE Const = true"para"SE_VPS_VALUE const = FALSO." Salve o script e executá-lo novamente.

Situação

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

Mais Informações

Para obter mais informações sobre como instalar hotfixes e atualizações ISA Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
885957Como instalar atualizações e hotfixes do ISA Server

Propriedades

ID do artigo: 934022 - Última revisão: sexta-feira, 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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