Sintomas
Considere o seguinte cenário:
-
Você tenta acessar um site de Secure Sockets Layer (SSL) por meio do Microsoft Forefront ameaça Management Gateway 2010.
-
O site usa a indicação de nome de servidor (SNI) para determinar qual certificado para servir.
-
Inspeção de HTTPS de Gateway de gerenciamento de ameaças está habilitada.
-
O servidor Threat Management Gateway usa encadeamento para enviar saída solicitações da web para um servidor upstream do proxy da web.
-
O conjunto de parâmetros do fornecedor de HTTPSiDontUseOldClientProtocols está habilitado (por 2545464 KB).
Nesse cenário, você não pode acessar o site.
Causa
Esse problema ocorre porque o Threat Management Gateway cria um cabeçalho SNI incorreto que causa erros de conectividade ou erros no servidor web.
Resolução
Para resolver esse problema, aplique esse hotfix em todos os membros da matriz Threat Management Gateway. Esse hotfix não está habilitado por padrão. Depois de instalar esse hotfix, você deve seguir estas etapas para ativar a correção:
-
Copie o script a seguir em um editor de texto como o bloco de notas e salve-o como UseOriginalHostNameInSslContex.vbs:
'' 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 forces TMG to use original host name for SSL context when connecting to target server via upstream proxy
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"
Const SE_VPS_NAME = "UseOriginalHostNameInSslContex"
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 that are needed.
Dim array ' An FPCArray object
Dim VendorSets
' An FPCVendorParametersSets collection
Dim VendorSet
' An FPCVendorParametersSet object
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 -
Copie o arquivo de script para um membro da matriz Threat Management Gateway e, em seguida, clique duas vezes no arquivo para executar o script.
Para reverter para o comportamento padrão, execute estas etapas:
-
Localize a seguinte linha do script:
Const SE_VPS_VALUE = true
-
Altere esta linha para o seguinte:
Const SE_VPS_VALUE = false
-
Execute o script em um dos membros da matriz Threat Management Gateway.
Informações sobre o hotfix
Um hotfix suportado está disponível no Microsoft Support. No entanto, esse hotfix destina-se a corrigir somente o problema descrito neste artigo. Aplique este hotfix somente nos sistemas que estiverem enfrentando o problema descrito neste artigo. Esta correção poderá ser submetida a testes adicionais. Portanto, se esse problema não o prejudicar, recomendamos que você aguarde a próxima atualização de software que contenha esse hotfix.
Se o hotfix estiver disponível para download, há uma seção "Download de Hotfix disponível" na parte superior deste artigo da Base de Conhecimento. Se essa seção não for exibida, entre em contato com o suporte e atendimento ao cliente Microsoft para obter o hotfix.
Observação: caso outros problemas estejam ocorrendo ou caso qualquer solução de problemas seja necessária, talvez você precise criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a questões de suporte adicionais e problemas que não sejam específicos deste hotfix. Para obter uma lista completa dos números de telefone do Atendimento Microsoft e suporte ou para criar uma solicitação de serviço separada, visite o seguinte site da Microsoft:
http://support.microsoft.com/contactus/?ws=supportObservação: o formulário "Baixar Hotfix disponível" exibe os idiomas para os quais o hotfix está disponível. Caso você não veja seu idioma, é porque um hotfix não está disponível para esse idioma.
Pré-requisitos:
Você deve ter o Service Pack 2 para o Microsoft Forefront ameaça Management Gateway 2010 instalado para aplicar esse hotfix.
Informações sobre reinicialização
Você terá que reiniciar o computador após aplicar esse pacote cumulativo de hotfix.
Informações sobre substituição
Esse pacote cumulativo de hotfix não substitui um pacote cumulativo de hotfix lançado anteriormente.
A versão em inglês deste hotfix possui os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas na Hora Universal Coordenada (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para localizar a diferença entre o UTC e a hora local, use a guia Fuso Horário no item Data e Hora no Painel de Controle.
Nome do Arquivo |
Versão do arquivo |
Tamanho do arquivo |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
Authdflt.dll |
7.0.9193.650 |
252,768 |
22-Apr-15 |
9:46 |
x64 |
Comphp.dll |
7.0.9193.650 |
257,912 |
22-Apr-15 |
9:46 |
x64 |
Complp.dll |
7.0.9193.650 |
108,032 |
22-Apr-15 |
9:46 |
x64 |
Cookieauthfilter.dll |
7.0.9193.650 |
682,760 |
22-Apr-15 |
9:46 |
x64 |
Dailysum.exe |
7.0.9193.650 |
186,288 |
22-Apr-15 |
9:46 |
x64 |
Diffserv.dll |
7.0.9193.650 |
162,616 |
22-Apr-15 |
9:46 |
x64 |
Diffservadmin.dll |
7.0.9193.650 |
310,400 |
22-Apr-15 |
9:46 |
x64 |
Empfilter.dll |
7.0.9193.650 |
711,088 |
22-Apr-15 |
9:46 |
x64 |
Empscan.dll |
7.0.9193.650 |
267,664 |
22-Apr-15 |
9:46 |
x64 |
Gwpafltr.dll |
7.0.9193.650 |
191,456 |
22-Apr-15 |
9:46 |
x64 |
Httpadmin.dll |
7.0.9193.650 |
242,944 |
22-Apr-15 |
9:46 |
x64 |
Httpfilter.dll |
7.0.9193.650 |
251,208 |
22-Apr-15 |
9:46 |
x64 |
Isarepgen.exe |
7.0.9193.650 |
79,704 |
22-Apr-15 |
9:46 |
x64 |
Ldapfilter.dll |
7.0.9193.650 |
189,896 |
22-Apr-15 |
9:46 |
x64 |
Linktranslation.dll |
7.0.9193.650 |
418,592 |
22-Apr-15 |
9:46 |
x64 |
Managedapi.dll |
7.0.9193.650 |
80,752 |
22-Apr-15 |
9:46 |
x64 |
Microsoft.isa.reportingservices.dll |
7.0.9193.650 |
876,328 |
22-Apr-15 |
9:46 |
x64 |
Microsoft.isa.rpc.managedrpcserver.dll |
7.0.9193.650 |
172,440 |
22-Apr-15 |
9:46 |
x64 |
Microsoft.isa.rpc.rwsapi.dll |
7.0.9193.650 |
136,920 |
22-Apr-15 |
9:46 |
x64 |
Mpclient.dll |
7.0.9193.650 |
128,632 |
22-Apr-15 |
9:46 |
x64 |
Msfpc.dll |
7.0.9193.650 |
1,079,304 |
22-Apr-15 |
9:46 |
x64 |
Msfpccom.dll |
7.0.9193.650 |
13,446,024 |
22-Apr-15 |
9:46 |
x64 |
Msfpcmix.dll |
7.0.9193.650 |
569,448 |
22-Apr-15 |
9:46 |
x64 |
Msfpcsec.dll |
7.0.9193.650 |
386,656 |
22-Apr-15 |
9:46 |
x64 |
Msfpcsnp.dll |
7.0.9193.650 |
17,112,848 |
22-Apr-15 |
9:46 |
x64 |
Mspadmin.exe |
7.0.9193.650 |
1,121,552 |
22-Apr-15 |
9:46 |
x64 |
Mspapi.dll |
7.0.9193.650 |
130,680 |
22-Apr-15 |
9:46 |
x64 |
Msphlpr.dll |
7.0.9193.650 |
1,279,136 |
22-Apr-15 |
9:46 |
x64 |
Mspmon.dll |
7.0.9193.650 |
150,232 |
22-Apr-15 |
9:46 |
x64 |
Mspsec.dll |
7.0.9193.650 |
84,872 |
22-Apr-15 |
9:46 |
x64 |
Pcsqmconfig.com.xml |
Não aplicável |
137,103 |
13-Feb-12 |
20:24 |
Não aplicável |
Preapi.dll |
7.0.9193.650 |
21,536 |
22-Apr-15 |
9:46 |
x64 |
Radiusauth.dll |
7.0.9193.650 |
138,408 |
22-Apr-15 |
9:46 |
x64 |
Ratlib.dll |
7.0.9193.650 |
148,184 |
22-Apr-15 |
9:46 |
x64 |
Reportadapter.dll |
7.0.9193.650 |
723,888 |
22-Apr-15 |
9:46 |
x86 |
Reportdatacollector.dll |
7.0.9193.650 |
1,127,648 |
22-Apr-15 |
9:46 |
x86 |
Softblockfltr.dll |
7.0.9193.650 |
143,552 |
22-Apr-15 |
9:46 |
x64 |
Updateagent.exe |
7.0.9193.650 |
211,520 |
22-Apr-15 |
9:46 |
x64 |
W3filter.dll |
7.0.9193.650 |
1,409,416 |
22-Apr-15 |
9:46 |
x64 |
W3papi.dll |
7.0.9193.650 |
21.024 |
22-Apr-15 |
9:46 |
x64 |
W3pinet.dll |
7.0.9193.650 |
35,432 |
22-Apr-15 |
9:46 |
x64 |
W3prefch.exe |
7.0.9193.650 |
341,312 |
22-Apr-15 |
9:46 |
x64 |
Webobjectsfltr.dll |
7.0.9193.650 |
170,320 |
22-Apr-15 |
9:46 |
x64 |
Weng.sys |
7.0.9193.572 |
845,440 |
12-Dec-12 |
21:31 |
x64 |
Wengnotify.dll |
7.0.9193.572 |
154,280 |
12-Dec-12 |
21:31 |
x64 |
Wploadbalancer.dll |
7.0.9193.650 |
203,840 |
22-Apr-15 |
9:46 |
x64 |
Wspapi.dll |
7.0.9193.650 |
49,840 |
22-Apr-15 |
9:46 |
x64 |
Wspperf.dll |
7.0.9193.650 |
131,192 |
22-Apr-15 |
9:46 |
x64 |
Wspsrv.exe |
7.0.9193.650 |
2,464,136 |
22-Apr-15 |
9:46 |
x64 |
Mais informações
SNI é um recurso de segurança de camada de transporte (TLS) SSL que permite que um cliente enviar um cabeçalho na mensagem de "Saudação" cliente SSL que indica quais totalmente qualificado (FQDN) do nome de domínio está sendo acessado. Esta ação permite que um servidor determinar qual certificado para enviar para o cliente com base no cabeçalho SNI.
Quando a inspeção do SSL de Gateway de gerenciamento de ameaças é ativada, Threat Management Gateway manipula a negociação SSL para o servidor web de destino e é identificado como o cliente pelo servidor web negociação SSL.
Threat Management Gateway cria o cabeçalho SNI incorretamente usando o nome do servidor upstream e não o nome de servidor de web destino se as seguintes condições forem verdadeiras:
-
Threat Management Gateway é um servidor proxy downstream.
-
Threat Management Gateway encadeia solicitações de saída para um servidor upstream do Threat Management Gateway.
-
O conjunto de parâmetros do fornecedor de HTTPSiDontUseOldClientProtocols é ativado por 2545464 KB.
Isso pode causar erros de conectividade ou erros no servidor web, dependendo de como o servidor web reage ao cabeçalho SNI incorreto.