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.