เราได้พูดคุยเกี่ยวกับ การจับมือ TLS และจะล้มเหลวได้อย่างไร เรายังระบุด้วยว่าความล้มเหลว TLS จำนวนมากเกิดขึ้นเนื่องจาก Microsoft พยายามแก้ไขบางอย่าง CVE-2019-1318 ที่อัปเดตการรักษาความปลอดภัยทำให้เกิด TLS และ SSL ล่าสุด ส่งผลให้การเชื่อมต่อ TLS ล้มเหลวเป็นระยะๆ หรือใช้เวลานาน และส่งผลให้หมดเวลา ในโพสต์นี้ เราจะแชร์วิธีแก้ปัญหาสำหรับ TLS Failures และ Timeouts ในระบบ Windows
ข้อผิดพลาดต่อไปนี้เป็นเรื่องปกติเนื่องจากปัญหาต่อเนื่องนี้:
- คำขอถูกยกเลิก:ไม่สามารถสร้างช่องทางที่ปลอดภัยของ SSL/TLS
- ข้อผิดพลาด 0x8009030f
- ข้อผิดพลาดที่บันทึกไว้ในบันทึกเหตุการณ์ของระบบสำหรับเหตุการณ์ SCHANNEL 36887 พร้อมรหัสการแจ้งเตือน 20 และคำอธิบาย "ได้รับการแจ้งเตือนที่ร้ายแรงจากปลายทางระยะไกล โปรโตคอล TLS กำหนดรหัสการแจ้งเตือนร้ายแรงคือ 20”
Windows เวอร์ชันใดที่ได้รับผลกระทบจาก TLS Failures
ช่องโหว่นี้สามารถให้โอกาสผู้โจมตีทำการโจมตีแบบคนกลางได้ ซึ่งได้รับการแก้ไขโดยการอัปเดต และส่งผลให้ TLS Failures, Timeouts ในระบบ Windows
Microsoft ชี้ให้เห็นว่าจะเกิดขึ้นเฉพาะเมื่ออุปกรณ์พยายามเชื่อมต่อ TLS กับอุปกรณ์โดยไม่รองรับส่วนขยาย Extended Master Secret หากอุปกรณ์มีเวอร์ชันที่รองรับ จะไม่เกิดขึ้น ต่อไปนี้คือเวอร์ชันของ Windows ที่ได้รับผลกระทบ ณ ตอนนี้:
- Windows 10 เวอร์ชัน 1607
- Windows Server 2016
- Windows 10
- Windows 8.1
- Windows Server 2012 R2
- Windows Server 2012
- Windows 7 Service Pack 1
- Windows Server 2008 R2 Service Pack 1
- Windows Server 2008 Service Pack 2
รายการอัปเดตของ Windows ได้รับผลกระทบเนื่องจากการอัปเดตความปลอดภัย
การอัปเดตสะสมล่าสุด (LCU) หรือชุดรวมอัปเดตรายเดือนที่เผยแพร่ในวันที่ 8 ตุลาคม 2019 หรือใหม่กว่าสำหรับแพลตฟอร์มที่ได้รับผลกระทบอาจประสบปัญหานี้:
- KB4517389 LCU สำหรับ Windows 10 เวอร์ชัน 1903
- KB4519338 LCU สำหรับ Windows 10 เวอร์ชัน 1809 และ Windows Server 2019
- KB4520008 LCU สำหรับ Windows 10 เวอร์ชัน 1803
- KB4520004 LCU สำหรับ Windows 10 เวอร์ชัน 1709
- KB4520010 LCU สำหรับ Windows 10 เวอร์ชัน 1703
- KB4519998 LCU สำหรับ Windows 10 เวอร์ชัน 1607 และ Windows Server 2016
- KB4520011 LCU สำหรับ Windows 10 เวอร์ชัน 1507
- ชุดรวมรายเดือน KB4520005 สำหรับ Windows 8.1 และ Windows Server 2012 R2
- ชุดรวมรายเดือน KB4520007 สำหรับ Windows Server 2012
- KB4519976 ชุดรวมรายเดือนสำหรับ Windows 7 SP1 และ Windows Server 2008 R2 SP1
- KB4520002 ชุดรวมรายเดือนสำหรับ Windows Server 2008 SP2
- KB4519990 การอัปเดตความปลอดภัยเท่านั้นสำหรับ Windows 8.1 และ R2 Windows Server 2012
- KB4519985 การอัปเดตความปลอดภัยเท่านั้นสำหรับ Windows Server 2012 และ Windows Embedded 8 Standard
- KB4520003 การอัปเดตความปลอดภัยเท่านั้นสำหรับ Windows 7 SP1 และ Windows Server 2008 R2 SP1
- KB4520009 การอัปเดตความปลอดภัยเท่านั้นสำหรับ Windows Server 2008 SP2
วิธีแก้ปัญหาชั่วคราวสำหรับ TLS ล้มเหลว หมดเวลาใน Windows
ตามที่ Microsoft ระบุ มีสามวิธีในการแก้ไขความล้มเหลวของ TLS และระยะหมดเวลา
- เปิดใช้งาน EMS ทั้งบนไคลเอนต์และเซิร์ฟเวอร์
- ลบชุดการเข้ารหัส TLS_DHE_*
- เปิด/ปิด EMS บน Windows 10/Windows Server
โปรดทราบว่ามีข้อเสียในการแก้ปัญหาโดยเฉพาะจากมุมมองด้านความปลอดภัย
1] เปิดใช้งาน EMS ทั้งบนไคลเอนต์และเซิร์ฟเวอร์
อย่างที่เราทราบดีว่าหากทั้งสองฝ่ายติดตั้ง EMS แล้ว ปัญหาจะไม่เกิดขึ้น ดังนั้นวิธีแก้ไขจึงชัดเจน แม้ว่า EMS จะเปิดใช้งานโดยค่าเริ่มต้นสำหรับรุ่นใดๆ หลังจากวันที่ 8 ตุลาคม 2019 หากไม่ ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานการสนับสนุนสำหรับส่วนขยาย Extend Master Secret (EMS)
หากคุณเป็นผู้ดูแลระบบไอที ตรวจสอบให้แน่ใจว่าได้สนับสนุนการเริ่มต้น EMS อีกครั้งตามที่กำหนดโดย RFC 7627 อย่างสมบูรณ์
2] ลบชุดการเข้ารหัส TLS_DHE_*
หากระบบปฏิบัติการไม่รองรับ EMS ผู้ดูแลระบบไอทีจะต้องลบชุดการเข้ารหัส TLS_DHE_* ออกจากรายการชุดการเข้ารหัสในระบบปฏิบัติการของอุปกรณ์ไคลเอ็นต์ TLS มีเอกสารฉบับสมบูรณ์สำหรับการจัดลำดับความสำคัญ Schannel Cipher Suites
อย่างไรก็ตาม นี่เป็นการแก้ไขชั่วคราว และการปิดใช้งานหมายความว่าคุณกำลังเชิญการโจมตีแบบคนกลางเท่านั้น
3] เปิด/ปิด EMS บน Windows 10/Windows Server
หากสำหรับปัญหา TLS ใดๆ ที่คุณปิดใช้งาน EMS บนคอมพิวเตอร์ของคุณ ให้ใช้การตั้งค่ารีจิสทรีบนทั้งเซิร์ฟเวอร์และไคลเอ็นต์เพื่อเปิดใช้งาน
- เปิด Registry Editor
- นำทางไปยัง HKLM\System\CurrentControlSet\Control\SecurityProviders\Schannel
- บนเซิร์ฟเวอร์ TLS:DisableServerExtendedMasterSecret:0
- บนไคลเอ็นต์ TLS:DisableClientExtendedMasterSecret:0
หากไม่มี คุณสามารถสร้างได้
ฉันหวังว่าวิธีแก้ปัญหาเหล่านี้จะเป็นประโยชน์ในการแก้ไขปัญหาที่คุณกำลังเผชิญกับ TLS ชั่วคราว คอยดูการอัปเดตที่จะเปิดตัวเพื่อแก้ไขปัญหานี้