CORREÇÃO: a Análise de Software Maligno demora mais tempo do que o esperado no Microsoft Forefront Threat Management Gateway 2010 quando define a opção "Bloquear ficheiros maiores do que (MB)" para permitir ficheiros muito grandes
Importante Este artigo contém informações que lhe mostram como ajudar a reduzir as definições de segurança ou como desativar as funcionalidades de segurança num computador. É possível fazer essas alterações para solucionar um problema específico. Antes de fazer estas alterações, a Microsoft recomenda que avalie os riscos associados à implementação desta resolução no seu ambiente específico. Se optar por implementar esta resolução, siga os passos adicionais adequados para ajudar a proteger o seu sistema.
Quando utiliza a Análise de Software Maligno do Microsoft Forefront Threat Management Gateway (TMG) 2010, pode limitar o tamanho dos ficheiros transferidos através da opção Bloquear ficheiros maiores do que (MB ).
Nota A opção Bloquear ficheiros maiores do que (MB) está no separador Definições de Inspeção da caixa de diálogo Inspeção de Software Maligno .
Se definir o valor para esta opção para que o TMG 2010 analise ficheiros muito grandes, a Análise de Software Maligno TMG demora mais tempo do que o esperado. Por exemplo, um ficheiro de 4 gigabytes (GB) pode demorar até 30 minutos para que o motor de Inspeção de Software Maligno analise.
Nota Não é possível configurar a Análise de Software Maligno TMG para efetuar uma análise parcial e analisar apenas os primeiros megabytes de ficheiros transferidos.
Sintomas
Aviso Esta resolução pode tornar o seu computador ou a sua rede mais vulnerável a ataques por parte de utilizadores maliciosos ou por software malicioso, como vírus. A Microsoft não recomenda esta resolução, mas fornece estas informações para que possa optar por implementar esta resolução a seu critério. Utilize esta resolução por sua conta e risco.
Para resolve este problema, instale a atualização de software descrita no seguinte artigo da Base de Dados de Conhecimento Microsoft:
2517957 Atualização de Software 1 Rollup 4 para o Forefront Threat Management Gateway (TMG) 2010 Service Pack 1Esta correção apresenta uma nova definição, ScanMaxSizeOnlyIfExceeds. Esta definição altera o comportamento da definição de configuração Bloquear ficheiros maiores do que (MB) de ser um limite no tamanho máximo dos ficheiros transferidos para um limite de análise parcial em megabytes quando define ScanMaxSizeOnlyIfExceeds como Verdadeiro.
Quando ScanMaxSizeOnlyIfExceeds está definido como Verdadeiro, não é aplicado nenhum limite de tamanho aos ficheiros transferidos. No entanto, quando transfere um ficheiro é maior do que o valor definido na opção Bloquear ficheiros maiores do que (MB), apenas uma parte do ficheiro (igual ao tamanho definido nessa opção) é analisada.
A predefinição de ScanMaxSizeOnlyIfExceeds é False. Pode aplicar esta definição ao nível da Matriz ou ao nível da Regra. Para ativar a definição através de um script, selecione o script adequado nos scripts apresentados abaixo e, em seguida, execute-o num dos membros da matriz. Também pode utilizar a Consola de Gestão do TMG para definir o valor da opção Bloquear ficheiros maiores do que (MB).
Script de nível de arrary
Copie o seguinte script para o Bloco de Notas, guarde o script com o nome EnableMaxSizeScanAllowRule.vbs e, em seguida, numa linha de comandos, execute o script da seguinte forma:
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 ao nível da regra
Copie o seguinte script para o Bloco de Notas, guarde o script com o nome EnableMaxSizeScanAllowRule.vbs e, em seguida, numa linha de comandos, execute o script da seguinte forma:
cscript EnableMaxSizeScanAllowRule /RuleName:"MyRule"Substitua o marcador de posição MyRule pelo nome da regra de acesso 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 reverter as alterações que efetuou com o script matriz ou o script regra e para reverter ao comportamento predefinido da definição Bloquear ficheiros maiores do que (MB), edite o script relevante e altere a seguinte linha de:
Const SE_VPS_VALUE = trueTo:
Const SE_VPS_VALUE = falseThen, execute novamente o script com as instruções adequadas.
Resolução
Importante! Tenha em atenção que, quando definir ScanMaxSizeOnlyIfExceeds como Falso, introduz um risco de segurança. Isto ocorre porque um ficheiro grande que contém software maligno na secção não estranha do ficheiro pode ser transmitido pelo TMG para o cliente.
A Microsoft recomenda a análise completa de ficheiros. Por conseguinte, recomendamos que utilize esta definição apenas depois de considerar cuidadosamente o risco e apenas se utilizar uma abordagem de defesa em profundidade para a deteção de software maligno, incluindo software antimalware do lado do cliente adequado.