Un serveur ISA Server 2004 ou ISA Server 2006 en aval ne réutilise pas les connexions TCP à un serveur en amont tiers

Traductions disponibles Traductions disponibles
Numéro d'article: 934022 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Symptômes

Envisagez le scénario suivant. Un serveur en aval exécute Microsoft Internet Security et Acceleration (ISA) Server 2004 ou Microsoft Internet Security and Acceleration (ISA) Server 2006. Ce serveur en aval est lié à un serveur en amont tiers via la configuration Web-chaînage. Dans ce scénario, ISA Server ne réutilise pas les connexions TCP ont été créées pour le serveur en amont. Au lieu de cela, ISA Server ferme chaque connexion TCP après la réception d'une réponse HTTP.

Lorsque le réseau est sous une charge lourde, ce comportement peut provoquer ISA Server pour épuiser tous les ports TCP disponibles.

Cause

Certains serveurs proxy tierce partie envoyer une réponse HTTP qui inclut des en-têtes suivants :
  • Longueur de contenu
  • Codage de transfert : Chunked
Selon section 4.4 des spécifications RFC 2616, ces deux en-têtes sont mutuellement exclusifs, et ils ne doivent pas être utilisés ensemble. Cette réponse HTTP indique une attaque de smuggling HTTP potentielle. Par conséquent, ISA Server traite la réponse en ignorant l'en-tête Content-Length. Ensuite, ISA Server ferme la connexion TCP pour éviter l'attaque potentielle.

Résolution

Résolution

Pour résoudre ce problème, procurez-vous le dernier service pack ISA Server. Pour plus d'informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft :
954258 Comment obtenir le dernier Internet Security and Acceleration (ISA) Server 2006 service pack d'
891024 Comment obtenir le dernier pack de service ISA Server 2004
important Ces étapes peuvent augmenter votre vulnérabilité en matière de sécurité. Ces étapes peuvent également rendre l'ordinateur ou le réseau plus vulnérable aux attaques d'utilisateurs malintentionnés ou de logiciels malveillants tels que les virus. Nous vous recommandons du processus qui Cet article décrit pour activer les programmes de fonctionner comme ils sont conçus pour ou pour implémenter les fonctionnalités du programme spécifique. Avant d'effectuer ces modifications, nous vous recommandons d'évaluer les risques associés à l'implémentation de ce processus dans votre environnement particulier. Si vous décidez d'implémenter ce processus, prenez toutes les mesures supplémentaires pour protéger le système. Nous vous recommandons d'utiliser cette procédure uniquement si vous avez vraiment besoin de ce processus.
Avertissement Après avoir suivi les étapes décrites dans cette section, ISA Server 2004 ne ferme pas les connexions TCP, même si à la fois l'en-tête Content-Length et " codage de transfert : Chunked " en-tête sont présentes dans la réponse HTTP. Cette solution réduit la protection par est fourni par ISA Server. Par conséquent, nous vous déconseillons d'appliquer cette modification, sauf si le serveur en amont fournit la protection contre les attaques de smuggling HTTP.

Pour modifier le comportement ISA par défaut, procédez comme suit :
  1. Pour résoudre ce problème, procurez-vous le dernier service pack ISA Server. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
    954258 Comment obtenir le dernier Internet Security and Acceleration (ISA) Server 2006 service pack d'
    891024 Comment obtenir le dernier pack de service ISA Server 2004
  2. Démarrez le Bloc-notes.
  3. Copiez le code suivant et puis collez-le dans le Bloc-notes :
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '
    ' 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. Enregistrer le fichier texte comme Enable934022.
  5. Ouvrez une invite de commandes, basculez vers l'emplacement dans lequel le script est enregistré et puis exécutez la commande suivante à l'invite de commandes :
    cscript Enable934022.vbs
note Pour revenir à la valeur par défaut, modifiez le script en modifiant " SE_VPS_VALUE Const = true » à « constante SE_VPS_VALUE = false. » Enregistrez le script, puis exécutez-le à nouveau.

Statut

Microsoft a confirmé que c'est un problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations

Pour plus d'informations sur la façon d'installer ISA Server correctifs et mises à jour, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
885957 Comment installer ISA Server correctifs et mises à jour

Propriétés

Numéro d'article: 934022 - Dernière mise à jour: vendredi 24 octobre 2008 - Version: 2.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • 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
Mots-clés : 
kbmt kbtshoot kbexpertiseinter kbprb KB934022 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 934022
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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