Проблемы
Рассмотрим следующий сценарий.
-
В среде Microsoft Forefront угроз Management Gateway (TMG) 2010 Включение проверки HTTPS.
-
Значение HTTPSiClientProtocols Const SE_VPS_VALUE до 160. Это значение, описанное в статье 982876 базы знаний Майкрософт.
-
При попытке доступа к веб-сайта HTTPS, который не поддерживает TLS версии 1.0.
В этом случае нет доступа к веб-сайту.
Причина
Эта проблема возникает, так как TMG 2010 отправляет клиенту сообщение «hello», предлагает TLS. Тем не менее поскольку веб-сервер не поддерживает TLS, сообщение будет отклонено и закрывает подключение. В этом случае клиент обычно возвращается к версии SSL 3.0. Тем не менее TMG не попадает обратно к SSL v3.0 при включении проверки HTTPS.
Решение
Чтобы устранить эту проблему, установите обновление, описанное в следующей статье базы знаний Майкрософт:
2517957 программное обеспечение обновления 1 накопительного пакета обновлений 4 для Microsoft Forefront Threat Management Gateway (TMG) 2010 Пакет обновления 1Чтобы включить данное исправление, выполните следующие действия.
-
Запустите программу Блокнот.
-
Скопируйте и вставьте в Блокнот следующий сценарий:
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 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 disables the use of old client protocols like PCT and SSLv2''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "HTTPSiDontUseOldClientProtocols"Const SE_VPS_VALUE = TRUESub 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 IfEnd SubSub CheckError() If Err.Number <> 0 Then WScript.Echo "An error occurred: 0x" & Hex(Err.Number) & " " & Err.Description Err.Clear End IfEnd SubSetValue
-
Сохраните файл Блокнота с расширением .vbs. Например при сохранении этого файла необходимо используйте следующее имя:
EnableHTTPSiDontUseOldClientProtocols.vbs
-
В командной строке выполните сценарий. Например используйте следующий синтаксис для выполнения сценария:
cscript.exe EnableHTTPSiDontUseOldClientProtocols.vbs
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".