CORRECCIÓN: La detección de malware tarda más de lo esperado en Microsoft Forefront Threat Management Gateway 2010 al establecer la opción "Bloquear archivos con un tamaño superior a (MB)" para permitir archivos muy grandes

Importante Este artículo contiene información que muestra cómo ayudar a reducir la configuración de seguridad o cómo desactivar las características de seguridad en un equipo. Puede hacer estos cambios para solucionar de manera alternativa un problema concreto. Antes de realizar estos cambios, Microsoft recomienda que evalúe los riesgos asociados a la implementación de esta resolución en su entorno particular. Si decide implementar esta resolución, siga los pasos adicionales adecuados para ayudar a proteger su sistema.

Al usar el análisis de malware de Microsoft Forefront Threat Management Gateway (TMG) 2010, puedes limitar el tamaño de los archivos que se descargan mediante la opción Bloquear archivos de más de (MB).

Nota La opción Bloquear archivos mayores que (MB) está en la pestaña Configuración de inspección del cuadro de diálogo Inspección de malware .

Si estableces el valor de esta opción para que TMG 2010 analice archivos muy grandes, la detección de malware de TMG tarda más de lo esperado. Por ejemplo, un archivo de 4 gigabytes (GB) puede tardar hasta 30 minutos en analizarse para el motor de inspección de malware.

Nota No puede configurar análisis de malware de TMG para realizar un examen parcial y analizar solo los primeros megabytes de archivos descargados.

Síntomas

Advertencia Esta resolución puede hacer que el equipo o la red sean más vulnerables a ataques de usuarios malintencionados o de software malintencionado, como virus. Microsoft no recomienda esta resolución, pero proporciona esta información para que pueda implementarla a su propio criterio. Use esta resolución a su propio riesgo.

Para resolver este problema, instale la actualización de software que se describe en el siguiente artículo de Microsoft Knowledge Base:

2517957 Paquete acumulativo 1 de actualizaciones de software para Forefront Threat Management Gateway (TMG) 2010 Service Pack 1Esta revisión presenta una nueva configuración, ScanMaxSizeOnlyIfExceeds. Esta configuración cambia el comportamiento de la configuración Bloquear archivos de más de (MB) de ser un límite en el tamaño máximo de los archivos descargados a un límite de examen parcial en megabytes al establecer ScanMaxSizeOnlyIfExceeds en True.

Cuando ScanMaxSizeOnlyIfExceeds se establece en True, no se aplica ningún límite de tamaño a los archivos descargados. Sin embargo, al descargar un archivo es mayor que el valor establecido en la opción Bloquear archivos con un tamaño superior a (MB), solo se examina una parte del archivo (igual al tamaño establecido en esa opción).

La configuración predeterminada de ScanMaxSizeOnlyIfExceeds es False. Puede aplicar esta configuración en el nivel Matriz o en el nivel Regla. Para habilitar la configuración mediante un script, seleccione el script apropiado de los que se presentan a continuación y ejecútelo en uno de los miembros de la matriz. También puedes usar la consola de administración de TMG para establecer el valor de la opción Bloquear archivos con un tamaño superior a (MB).

Secuencia de comandos de nivel arrary

Copie el script siguiente en el Bloc de notas, guarde el script con el nombre EnableMaxSizeScanAllowRule.vbs y, a continuación, en un símbolo del sistema ejecute el script de la siguiente manera:

EnableMaxSizeScanAllowRule.vbs cscript

Const SE_VPS_GUID = "{DFAEF493-C442-4F80-9622-5DA4143287D8}"
Const SE_VPS_NAME = "ScanMaxSizeOnlyIfExceeds"
Const SE_VPS_VALUE = true

Sub SetValue()

    ' Create the root obect.
    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 the network rules collection.
    Set array = root.GetContainingArray
    set malwareInspectionSettings = array.MalwareInspectionSettings
    set scannerSettings = malwareInspectionSettings.ScannerSettings
    Set VendorSets = scannerSettings.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

Script de nivel de regla

Copie el script siguiente en el Bloc de notas, guarde el script con el nombre EnableMaxSizeScanAllowRule.vbs y, a continuación, en un símbolo del sistema ejecute el script de la siguiente manera:

cscript EnableMaxSizeScanAllowRule /RuleName:"MyRule"Reemplace el marcador de posición MyRule por el nombre de la regla de acceso TMG relevent.

Const SE_VPS_GUID = "{DFAEF493-C442-4F80-9622-5DA4143287D8}"
Const SE_VPS_NAME = "ScanMaxSizeOnlyIfExceeds"
Const SE_VPS_VALUE = true

Sub SetValue()

    ' Create the root obect.
    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 the network rules collection.
    Set array = root.GetContainingArray
    ruleName= WScript.Arguments.Named("RuleName")
    set rule = array.ArrayPolicy.PolicyRules.Item(ruleName)

    set malwareInspectionSettings = rule.MalwareInspectionProperties
    set scannerSettings = malwareInspectionSettings.ScannerSettings
    Set VendorSets = scannerSettings.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

Para revertir los cambios realizados mediante el script Matriz o el script Rule, y para revertir al comportamiento predeterminado de la configuración Bloquear archivos con un tamaño superior a (MB), edite el script relevante y cambie la línea siguiente de:

Const SE_VPS_VALUE = trueTo:

Const SE_VPS_VALUE = falseThen, vuelva a ejecutar el script siguiendo las instrucciones adecuadas.

Resolución

Importante. Tenga en cuenta que, al establecer ScanMaxSizeOnlyIfExceeds en False, introduce un riesgo de seguridad. Esto ocurre porque un archivo de gran tamaño que contiene malware en la sección no analizada del archivo podría pasarse por TMG al cliente.

Microsoft recomienda la exploración completa de archivos. Por lo tanto, le recomendamos que utilice esta configuración sólo después de considerar cuidadosamente el riesgo y sólo si utiliza un enfoque de defensa en profundidad para la detección de malware, incluido el software antimalware apropiado del lado cliente.

Más información