Ein ISA Server 2004 oder ISA Server 2006 nachgeschaltete Server nicht die TCP-Verbindungen an einen Upstreamserver Fremdanbieter-wiederverwenden

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 934022 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Problembeschreibung

Stellen Sie sich das folgende Szenario vor. Ein nachgeschaltete Server wird Microsoft Internet Security "und" Acceleration (ISA) Server 2004 "oder" Internetverbindungsfirewall "und" Acceleration (ISA) Server 2006 ausgeführt. Diese Downstreamserver ist an eine Fremdanbieter-Upstreamserver durch Verketten von Web-Konfiguration verkettet. In diesem Szenario wird ISA Server nicht die TCP-Verbindungen wiederverwenden, die an den Upstreamserver erstellt wurden. Stattdessen schließt ISA Server jedes TCP-Verbindung, nachdem eine HTTP-Antwort empfangen wird.

Wenn das Netzwerk stark ausgelastet ist, können dieses Verhalten ISA Server alle verfügbaren TCP-Ports erschöpfen verursachen.

Ursache

Einige Fremdanbieter-Proxyserver senden eine HTTP-Antwort, die beide die folgenden Header enthält:
  • Content-Length
  • Transfer-Encoding: Chunked
Entsprechend zum Abschnitt 4.4 der Spezifikationen RFC 2616 diese zwei Header schließen sich gegenseitig und Sie dürfen nicht zusammen verwendet werden. Diese HTTP-Antwort gibt einen möglichen HTTP-Smuggling Angriff. Daher verarbeitet ISA Server die Antwort von der Content-Length-Header ignoriert. Anschließend schließt ISA Server die TCP-Verbindung um potenziellen Angriff zu vermeiden.

Lösung

Lösung

Installieren Sie das neueste ISA Server Servicepack, um dieses Problem zu beheben. Weitere Informationen finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
954258Wie Sie das neueste Internet Security and Acceleration (ISA) Server 2006 Servicepack erhalten
891024Wie Sie das neueste ISA Server 2004 Servicepack erhalten
wichtig Diese Schritte möglicherweise Ihr Sicherheitsrisiko erhöht. Diese Schritte möglicherweise auch den Computer oder das Netzwerk möglicherweise anfälliger für Angriffe durch böswillige Benutzer oder gefährlicher Software wie Viren vornehmen. Wir empfehlen den Prozess, den dieser Artikel, beschreibt damit Programme wie entworfen werden, oder um spezielle Programmfunktionen einzusetzen. Bevor Sie diese Änderungen vornehmen, empfiehlt Microsoft, dass Sie die Risiken abzuschätzen, mit der Implementierung dieser Prozess in Ihrer speziellen Umgebung. Wenn Sie diesen Prozess zu implementieren, sollten Maßnahmen Sie entsprechende treffen, um das System zu schützen. Es wird empfohlen, dass dieser Prozess zu, verwenden nur, wenn dieser Vorgang wirklich erforderlich ist.
Warnung Nachdem Sie die in diesem Abschnitt beschriebenen Schritte ausführen, ISA Server 2004 kann nicht beendet die TCP-Verbindungen, selbst wenn der Content-Length-Header und die "Transfer-Encoding: Chunked" Header sind in der HTTP-Antwort vorhanden. Diese Lösung verringert den Schutz, der von ISA Server bereitgestellt wird. Daher empfohlen nicht, dass Sie diese Änderung, anwenden sofern der Upstreamserver Schutz gegen Angriffe von HTTP-Smuggling bietet.

Gehen Sie folgendermaßen vor um das ISA-Standardverhalten zu ändern,
  1. Installieren Sie das neueste ISA Server Servicepack, um dieses Problem zu beheben. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
    954258Wie Sie das neueste Internet Security and Acceleration (ISA) Server 2006 Servicepack erhalten
    891024Wie Sie das neueste ISA Server 2004 Servicepack erhalten
  2. Starten Sie den Editor.
  3. Kopieren Sie den folgenden Code und fügen Sie ihn dann in Editor:
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '
    ' 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. Speichern Sie die Textdatei als "Enable934022".
  5. Öffnen Sie eine Eingabeaufforderung, wechseln Sie zu den Speicherort in dem das Skript gespeichert ist, und führen Sie den folgenden Befehl an der Eingabeaufforderung:
    Cscript Enable934022.vbs
Hinweis: Die Standardeinstellung wiederherstellen möchten, bearbeiten Sie das Skript durch Ändern "const SE_VPS_VALUE = True"in"const SE_VPS_VALUE = False." Speichern Sie das Skript, und führen Sie es erneut.

Status

Microsoft hat bestätigt, dass dies ein Problem in Microsoft-Produkten handelt, die im Abschnitt "Gilt für" aufgeführt sind.

Weitere Informationen

Weitere Informationen zum Installieren von ISA Server-Hotfixes und Updates finden Sie im folgenden Artikel der Microsoft Knowledge Base:
885957Zum Installieren von ISA Server-Hotfixes und updates

Eigenschaften

Artikel-ID: 934022 - Geändert am: Freitag, 24. Oktober 2008 - Version: 2.0
Die Informationen in diesem Artikel beziehen sich auf:
  • 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
Keywords: 
kbmt kbtshoot kbexpertiseinter kbprb KB934022 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 934022
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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