Un server a valle di ISA Server 2004 o ISA Server 2006 non di riutilizzare le connessioni TCP a un server upstream a terze parti

Traduzione articoli Traduzione articoli
Identificativo articolo: 934022 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

Sintomi

Si consideri lo scenario seguente. Un server downstream Ŕ in esecuzione Microsoft Internet Security e di un Acceleration (ISA) Server 2004 o di una Microsoft Internet Security e di un'Acceleration (ISA) Server 2006. Questo server downstream Ŕ concatenato in un server upstream di terze parti tramite configurazione di concatenamento Web. In questo scenario, ISA Server non di riutilizzare le connessioni TCP create per il server padre. In alternativa, ISA Server chiude ogni connessione TCP dopo aver ricevuta una risposta HTTP.

Quando la rete Ŕ sottoposto a un carico pesante, questo comportamento potrebbe esaurire tutte le porte TCP disponibili in ISA Server.

Cause

Alcuni server proxy di terze parti invia una risposta HTTP che include entrambe le seguenti intestazioni:
  • Lunghezza del contenuto
  • Codifica di trasferimento: Chunked
In base alla sezione 4.4 delle specifiche RFC 2616, queste due intestazioni sono si escludono a vicenda e non devono essere utilizzati insieme. Questa risposta HTTP indica un potenziale attacco smuggling HTTP. Pertanto, ISA Server elabora la risposta ignorando l'intestazione Content-Length. Quindi, ISA Server chiude la connessione di TCP per evitare potenziali attacchi.

Risoluzione

Risoluzione

Per risolvere il problema, ottenere il pi¨ recente del service pack per ISA Server. Per ulteriori informazioni, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito:
954258Come ottenere la versione pi¨ recente Internet Security and Acceleration (ISA) Server 2006 del service pack
891024Come ottenere il service pack pi¨ recente per ISA Server 2004
importante Questa procedura pu˛ aumentare il rischio di protezione. Questa procedura potrebbe rendere il computer o la rete pi¨ vulnerabile agli attacchi di utenti malintenzionati o da software dannoso, ad esempio virus. Si consiglia di attenersi la procedura descritti in questo articolo per attivare i programmi a funzionare come sono stati progettati per o per implementare funzionalitÓ specifiche del programma. Prima di apportare queste modifiche, si consiglia di valutare i rischi associati all'implementazione questo processo in un ambiente particolare. Se si decide di implementare questo processo, adottare ogni ulteriore procedura per proteggere il sistema. ╚ consigliabile utilizzare questo processo solo se occorre davvero questo processo.
avviso Una volta completata la procedura in questa sezione, ISA Server 2004 non verrÓ chiusa la connessioni TCP, anche se entrambi l'intestazione Content-Length e "Transfer-Encoding: Chunked" intestazione sono presenti nella risposta HTTP. Questa soluzione riduce la protezione fornito da ISA Server. Di conseguenza, non Ŕ consigliabile applicare la modifica a meno che il server padre non fornisca protezione contro gli attacchi HTTP smuggling.

Per modificare il comportamento ISA predefinito, attenersi alla seguente procedura:
  1. Per risolvere il problema, ottenere il pi¨ recente del service pack per ISA Server. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
    954258Come ottenere la versione pi¨ recente Internet Security and Acceleration (ISA) Server 2006 del service pack
    891024Come ottenere il service pack pi¨ recente per ISA Server 2004
  2. Avviare il Blocco note.
  3. Copiare il codice riportato di seguito e incollarlo nel blocco note:
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '
    ' 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. Salvare il file di testo come "Enable934022."
  5. Aprire un prompt dei comandi, passare al percorso in cui lo script Ŕ stato salvato e quindi eseguire il seguente comando al prompt dei comandi di:
    cscript Enable934022.vbs
Nota Per ripristinare l'impostazione predefinita, modificare lo script modificando "SE_VPS_VALUE const = true"a"SE_VPS_VALUE Cost = false." Salvare lo script e quindi eseguire nuovamente.

Status

Microsoft ha confermato che questo problema riguarda i prodotti sono elencati nella sezione "Si applica a".

Informazioni

Per ulteriori informazioni sull'installazione di ISA Server hotfix e aggiornamenti, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
885957Come installare ISA Server hotfix e aggiornamenti

ProprietÓ

Identificativo articolo: 934022 - Ultima modifica: venerdý 24 ottobre 2008 - Revisione: 2.0
Le informazioni in questo articolo si applicano 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
Chiavi:á
kbmt kbtshoot kbexpertiseinter kbprb KB934022 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 934022
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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