Symptomy
Rozpatrzmy następujący scenariusz:
-
W środowisku Microsoft zagrożenie Management Gateway (Poruszać) 2010 można włączyć inspekcji HTTPS.
-
Wartość HTTPSiClientProtocols Const SE_VPS_VALUE do 160. Ta wartość jest wymieniony w artykule 982876 z bazy wiedzy Microsoft Knowledge Base.
-
Podczas próby dostępu stron HTTPS, który nie obsługuje protokołu TLS 1.0.
W tym scenariuszu nie można uzyskać dostępu witryny sieci Web.
Przyczyna
Ten problem występuje, ponieważ TMG 2010 wysyła klientowi komunikat "hello", który oferuje TLS. Jednakże ponieważ serwer sieci web nie obsługuje protokołu TLS, to odrzuca wiadomość i zamyka połączenie. W tym scenariuszu klient zwykle wraca do wersji protokołu SSL 3.0. Jednakże TMG należy wrócić do wersji protokołu SSL 3.0 po włączeniu inspekcji HTTPS.
Rozwiązanie
Aby rozwiązać ten problem, należy zainstalować aktualizację oprogramowania, którą opisano w następującym artykule z bazy wiedzy Microsoft Knowledge Base:
2517957 aktualizacji 1 4 pakiet zbiorczy dla programu Forefront Threat Management Gateway (TMG) 2010 z dodatkiem Service Pack 1Aby włączyć tę poprawkę, wykonaj następujące kroki:
-
Uruchom program Notatnik.
-
Skopiuj i wklej poniższy skrypt do Notatnika:
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 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
-
Zapisz plik Notatnika korzystając z rozszerzenia nazwy pliku vbs. Przykładowo można użyć następującej nazwy podczas zapisywania tego pliku:
EnableHTTPSiDontUseOldClientProtocols.vbs
-
W wierszu polecenia Uruchom skrypt. Aby uruchomić skrypt, na przykład, użyć następującej składni:
cscript.exe EnableHTTPSiDontUseOldClientProtocols.vbs
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.