อาการ
พิจารณาสถานการณ์สมมติต่อไปนี้:
-
คุณพยายามเข้าถึงเว็บไซต์ การรักษาความปลอดภัย Secure Sockets Layer (SSL) ผ่านทาง Microsoft Forefront คุกคามจัดการเกตเวย์ 2010
-
เว็บไซต์ใช้การบ่งชี้ชื่อเซิร์ฟเวอร์ (SNI) เพื่อกำหนดที่ใบรับรองเพื่อให้บริการ
-
เปิดใช้งานการตรวจสอบ HTTPS เกตเวย์การบริหารความเสี่ยง
-
เซิร์ฟเวอร์ของเกตเวย์การบริหารความเสี่ยงที่ใช้เว็บกำหนดสายงานเมื่อต้องการส่งการร้องขอเว็บขาออกไปยังเซิร์ฟเวอร์พร็อกซีขั้นต้นน้ำ
-
เปิดใช้งานชุดพารามิเตอร์ผู้จัดจำหน่ายHTTPSiDontUseOldClientProtocols (ต่อ2545464 กิโลไบต์)
ในสถานการณ์สมมตินี้ คุณไม่สามารถเข้าถึงเว็บไซต์
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากเกตเวย์การบริหารความเสี่ยงกับหัวข้อ SNI ไม่ถูกต้องซึ่งเป็นสาเหตุของข้อผิดพลาดในการเชื่อมต่อหรือข้อผิดพลาดของเซิร์ฟเวอร์เว็บที่สร้างขึ้น
การแก้ปัญหา
เมื่อต้องการแก้ไขปัญหานี้ ใช้โปรแกรมแก้ไขด่วนนี้บนสมาชิกในอาร์เรย์เกตเวย์จัดการความเสี่ยงทั้งหมดได้ด้วย โปรแกรมแก้ไขด่วนนี้จะไม่เปิดใช้งาน โดยค่าเริ่มต้น หลังจากที่คุณติดตั้งโปรแกรมแก้ไขด่วนนี้ คุณต้องทำตามขั้นตอนเหล่านี้เพื่อเปิดใช้งานการแก้ไข:
-
คัดลอกสคริปต์ต่อไปนี้ไปยังตัวแก้ไขข้อความเช่น Notepad และบันทึกเป็น 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 -
คัดลอกแฟ้มสคริปต์เป็นสมาชิกของอาร์เรย์เกตเวย์จัดการความเสี่ยง และจากนั้น คลิกสองครั้งที่แฟ้มเพื่อเรียกใช้สคริปต์
เมื่อต้องการเปลี่ยนกลับไปเป็นลักษณะการทำงานเริ่มต้น ให้ทำตามขั้นตอนเหล่านี้:
-
ค้นหาบรรทัดต่อไปนี้ของสคริปต์:
Const SE_VPS_VALUE = true
-
เปลี่ยนบรรทัดนี้ดังต่อไปนี้:
Const SE_VPS_VALUE = false
-
เรียกใช้สคริปต์บนสมาชิกอาร์เรย์เกตเวย์จัดการความเสี่ยงอย่างใดอย่างหนึ่ง
ข้อมูลโปรแกรมแก้ไขด่วน
มีโปรแกรมแก้ไขด่วนพร้อมใช้งานจากฝ่ายสนับสนุนของ Microsoft อย่างไรก็ตาม โปรแกรมแก้ไขด่วนนี้มุ่งหวังเพื่อการแก้ไขเฉพาะปัญหาที่อธิบายไว้ในบทความนี้ ใช้การแก้ไขด่วนนี้กับระบบต่าง ๆ ที่พบปัญหาอธิบายไว้ในบทความนี้เท่านั้น โปรแกรมแก้ไขด่วนนี้อาจได้รับการทดสอบเพิ่มเติม ดังนั้น ถ้าคุณไม่ได้รับผลกระทบจากปัญหานี้รุนแรง เราขอแนะนำให้ คุณรอการปรับปรุงซอฟต์แวร์ถัดไปที่ประกอบด้วยโปรแกรมแก้ไขด่วนนี้
หากโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด คุณจะเห็นส่วน "มีโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด" ที่ด้านบนของบทความฐานข้อมูลองค์ความรู้นี้ หากส่วนนี้ไม่ปรากฏขึ้น ติดต่อฝ่ายสนับสนุนและบริการลูกค้าของ Microsoft เพื่อขอรับโปรแกรมแก้ไขด่วน
หมายเหตุ ถ้ามีปัญหาอื่น ๆ เกิดขึ้น หรือถ้าจำเป็นต้องแก้ไขปัญหาใด ๆ คุณอาจต้องสร้างคำขอรับบริการแยกต่างหาก จะมีค่าใช้จ่ายในการสนับสนุนปกติกับคำถามเพิ่มเติมและเรื่องอื่น ๆ ที่ไม่มีสิทธิได้รับโปรแกรมแก้ไขด่วนเฉพาะนี้ สำหรับรายชื่อทั้งหมด ของหมายเลขโทรศัพท์ของฝ่ายบริการลูกค้าและการสนับสนุนของ Microsoft หรือเพื่อสร้างการร้องขอบริการแยกต่างหาก แวะไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:
http://support.microsoft.com/contactus/?ws=supportหมายเหตุ แบบฟอร์ม "มีโปรแกรมแก้ไขด่วนพร้อมสำหรับการดาวน์โหลด" แสดงภาษาที่โปรแกรมแก้ไขด่วนพร้อมใช้งาน ถ้าคุณไม่เห็นภาษาของคุณ อาจเป็น เพราะไม่มีโปรแกรมแก้ไขด่วนพร้อมใช้งานสำหรับภาษานั้น
ข้อกำหนดเบื้องต้น
คุณต้องมีService Pack 2สำหรับ Microsoft Forefront คุกคามจัดการเกตเวย์ 2010 ติดตั้งอยู่เพื่อใช้โปรแกรมแก้ไขด่วนนี้
ข้อมูลการเริ่มระบบใหม่
คุณอาจต้องรีสตาร์ทคอมพิวเตอร์หลังจากใช้การยกเลิกโปรแกรมแก้ไขด่วนนี้
ข้อมูลการแทนที่
ยกเลิกโปรแกรมแก้ไขด่วนนี้ไม่ได้แทนการสะสมของโปรแกรมแก้ไขด่วนที่ออกมาก่อนหน้านี้
เวอร์ชันภาษาอังกฤษของโปรแกรมแก้ไขด่วนนี้มีแอตทริบิวต์ของแฟ้ม (หรือแอตทริบิวต์ของแฟ้มที่ใหม่กว่านี้) ซึ่งแสดงรายการไว้ในตารางต่อไปนี้ วันที่และเวลาสำหรับแฟ้มเหล่านี้จะแสดงรายการไว้ในรูปแบบเวลามาตรฐานสากล (UTC) เมื่อคุณดูข้อมูลแฟ้ม ระบบจะแปลงข้อมูลนี้เป็นเวลาท้องถิ่น เมื่อต้องการค้นหาความแตกต่างระหว่างเวลา UTC กับเวลาท้องถิ่น ใช้แท็บ โซนเวลา ในรายการ วันที่และเวลา ในแผงควบคุม
ชื่อแฟ้ม |
รุ่นของแฟ้ม |
ขนาดของแฟ้ม |
วันที่ |
เวลา |
แพลตฟอร์ม |
---|---|---|---|---|---|
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 |
ไม่มีข้อมูล |
137,103 |
13-Feb-12 |
20:24 |
ไม่มีข้อมูล |
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 |
ข้อมูลเพิ่มเติม
SNI จะมีคุณลักษณะความปลอดภัยในเลเยอร์ขนส่ง SSL (TLS) ที่เปิดใช้งานไคลเอนต์จะส่งส่วนหัวของข้อความ "Hello" ไคลเอ็นต์ SSL ที่บ่งชี้ทั้งหมดซึ่งมีคุณสมบัติชื่อโดเมน(แบบเต็ม FQDN) จะถูกเข้าถึง การกระทำนี้ทำให้เซิร์ฟเวอร์เพื่อกำหนดที่ใบรับรองเพื่อส่งไปยังไคลเอ็นต์ที่ขึ้นอยู่กับส่วนหัวของ SNI
เมื่อเปิดใช้งานการตรวจสอบ SSL เกตเวย์การบริหารความเสี่ยง เกตเวย์จัดการความเสี่ยงจัดการการเจรจา SSL กับเว็บเซิร์ฟเวอร์ปลายทาง และมีระบุเป็นไคลเอนต์ โดยเว็บเซิร์ฟเวอร์การเจรจา SSL
เกตเวย์การบริหารความเสี่ยงสร้างส่วนหัวของ SNI ไม่ถูกต้อง โดยใช้ชื่อของเซิร์ฟเวอร์ขั้นต้นน้ำและไม่ใช่เป้าหมายเว็บเซิร์ฟเวอร์ชื่อถ้ามีเงื่อนไขต่อไปนี้:
-
เกตเวย์การบริหารความเสี่ยงคือ ปลายน้ำพร็อกซีเซิร์ฟเวอร์
-
ห่วงโซ่เกตเวย์จัดการความเสี่ยงขาออกการร้องขอไปยังเซิร์ฟเวอร์ของเกตเวย์การบริหารความเสี่ยงขั้นต้นน้ำ
-
เปิดใช้งานชุดพารามิเตอร์ผู้จัดจำหน่ายHTTPSiDontUseOldClientProtocolsต่อKB 2545464
ซึ่งอาจทำให้เกิดข้อผิดพลาดในการเชื่อมต่อหรือเว็บเซิร์ฟเวอร์ข้อผิดพลาด ขึ้นอยู่กับว่าเว็บเซิร์ฟเวอร์ reacts ลงในส่วนหัวของ SNI ไม่ถูกต้อง