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.