ISA Server 2006 หรือ Forefront TMG 2010 รีเซ็ตการเชื่อมต่อไปยังไคลเอนต์ SMTP เมื่อเซิร์ฟเวอร์ SMTP ปิดการเชื่อมต่อไปยังเซิร์ฟเวอร์ ISA

นำไปใช้กับ: Forefront Threat Management Gateway 2010 EnterpriseForefront Threat Management Gateway 2010 Standard

อาการ


พิจารณาสถานการณ์ต่อไปนี้:
  • ในความ ปลอดภัยทางอินเทอร์เน็ตของ Microsoft และการเร่งความเร็ว (ISA) Server 2006 หรือ Forefront TMG 2010 คุณเปิดใช้งานการกรอง SMTP
  • ไคลเอ็นต์ SMTP การสื่อสารกับเซิร์ฟเวอร์ SMTP ผ่าน ISA Server 2006 หรือ Forefront TMG 2010
  • SMTP ไคลเอนต์ใช้การกระทำต่อไปนี้อย่างใดอย่างหนึ่งในการสนทนากับเซิร์ฟเวอร์ SMTP:
    • TLS
    • STARTTLS
    • X AnonymousTLS
ในสถานการณ์สมมตินี้ ISA Server 2006 หรือ Forefront TMG 2010 รีเซ็ตการเชื่อมต่อไปยังไคลเอนต์ SMTP เมื่อเซิร์ฟเวอร์ SMTP ปิดการเชื่อมต่อกับเซิร์ฟเวอร์ ISA หรือ Forefront TMG 2010 มีแพคเก็ต TCP แล้ว ลักษณะการทำงานนี้อาจทำให้บางไคลเอ็นต์ SMTP เฉพาะแอพลิเคชันจะรายงานว่า การส่งข้อความล้มเหลวแม้ว่าข้อความจะถูกส่งอย่างถูกต้อง ในการล็อก ISA คุณเห็นรหัสผลลัพธ์ต่อไปนี้สำหรับการเชื่อมต่อนี้:
0x80074e24 FWX_E_CONNECTION_KILLED

สาเหตุ


โดยการออกแบบ การเชื่อมต่อไปยังไคลเอนต์ SMTP ถูกรีเซ็ตเมื่อเซิร์ฟเวอร์ SMTP ปิดการเชื่อมต่อกับเซิร์ฟเวอร์ ISA หรือ Forefront TMG 2010 ที่เป็นเช่นนี้เนื่องจาก ISA Server หรือ Forefront TMG 2010 ไม่สามารถตรวจสอบปริมาณการใช้งาน SMTP สำหรับคำสั่ง SMTP QUITเมื่อปริมาณการใช้งานถูกเข้ารหัสลับ อย่างไรก็ตาม การทำงานนี้อาจทำให้โปรแกรมประยุกต์ไคลเอ็นต์ SMTP ระบุการรายงานข้อผิดพลาด

การแก้ไข


ขณะนี้มีโปรแกรมแก้ไขด่วนเพื่อหลีกเลี่ยงการรายงานข้อผิดพลาดที่ไม่ถูกต้อง โปรแกรมแก้ไขด่วนนี้ช่วยให้การทำงานดีฟอลต์จะเปลี่ยนแปลงเพื่อให้เซิร์ฟเวอร์ ISA ส่งกลับแพคเก็ต TCP แล้วไปยังไคลเอนต์ SMTP แทนแพคเก็ตใหม่เมื่อเซิร์ฟเวอร์ SMTP ปิดการเชื่อมต่อ TCP กับแพคเก็ต TCP แล้ว เมื่อต้องการเปลี่ยนลักษณะการทำงานเริ่มต้นหลังจากที่คุณติดตั้งโปรแกรมแก้ไขด่วนนี้ คุณต้องรันสคริปต์บนคอมพิวเตอร์เซิร์ฟเวอร์ ISA เมื่อต้องการใช้โปรแกรมแก้ไขด่วนนี้ ให้ทำตามขั้นตอนเหล่านี้:
  1. ดาวน์โหลด และติดตั้งแพคเกจโปรแกรมแก้ไขด่วนที่กล่าวถึงในบทความฐานความรู้ของ Microsoft ต่อไปนี้:
    959357คำอธิบายของแพคเกจโปรแกรมแก้ไขด่วนของ ISA Server 2006:29 ตุลาคม 2008
    หมายเหตุ: ถ้าคุณกำลังเรียกใช้ Forefront TMG 2010 คัดลอกสคริปต์จากขั้นตอนที่ 2 ลงในแฟ้มแผ่นจดบันทึก และบันทึกแฟ้มนั้น เปิดพร้อมท์คำสั่ง ด้วยสิทธิ์ผู้ดูแล และจากนั้น เรียกใช้สคริปต์ (ie: cscript จะ smtp.vbs)
  2. เริ่มใช้งาน Notepad และจากนั้น คัดลอกสคริปต์ต่อไปนี้ลงในแฟ้มแผ่นจดบันทึก
    Const SE_VPS_GUID = "{143F5698-103B-12D4-FF34-1F34767DEabc}"Const SE_VPS_NAME = "GracefulPassthroughServerShutdown"Const SE_VPS_VALUE = trueSub SetValue()    ' Create the root obect.    Dim root  ' The FPCLib.FPC root object    Set root = CreateObject("FPC.Root")    'Declare the other objects needed.    Dim array       ' An FPCArray object    Dim VendorSets  ' An FPCVendorParametersSets collection    Dim VendorSet   ' An FPCVendorParametersSet object    ' Get references to the array object    ' and the network rules collection.    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
  3. บันทึกแฟ้มเป็นแฟ้มสคริปต์ Microsoft Visual Basic โดยใช้ส่วนขยายชื่อแฟ้ม.vbs
  4. คลิกสองครั้งที่แฟ้ม.vbs เพื่อเรียกใช้สคริปต์
หมายเหตุ ถ้าคุณต้องการแปลงกลับเป็นลักษณะการทำงานเริ่มต้น เปลี่ยนบรรทัดต่อไปนี้ของสคริปต์:
Const SE_VPS_VALUE = true
เปลี่ยนบรรทัดนี้ดังต่อไปนี้:
Const SE_VPS_VALUE = false
แล้ว เรียกใช้สคริปต์บนคอมพิวเตอร์เซิร์ฟเวอร์ ISA หรือ Forefront TMG ใหม่

สถานะ


Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"

อ้างอิง


สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำศัพท์ของการปรับปรุงซอฟต์แวร์ ให้คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
824684 คำอธิบายของคำศัพท์มาตรฐานที่ใช้เพื่ออธิบายโปรแกรมปรับปรุงซอฟต์แวร์ของ Microsoft