หลังจากติดตั้งการอัปเดตความปลอดภัยล่าสุดบนเดสก์ท็อป Windows 10 ของฉัน ฉันไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ VDS ใหม่จากระยะไกล (ที่ใช้ Windows Server 2012 R2) โดยใช้เดสก์ท็อประยะไกล เมื่อฉันระบุชื่อเซิร์ฟเวอร์ RDP ในหน้าต่างไคลเอนต์ mstsc.exe และคลิก “เชื่อมต่อ” ข้อผิดพลาดจะปรากฏขึ้น:
การเชื่อมต่อเดสก์ท็อประยะไกลเกิดข้อผิดพลาดในการตรวจสอบสิทธิ์
ไม่รองรับฟังก์ชันที่ร้องขอ
คอมพิวเตอร์ระยะไกล:computer_name
หลังจากที่ฉันถอนการติดตั้งการอัปเดตล่าสุดและรีบูตคอมพิวเตอร์ ฉันสามารถเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลผ่าน RDP ได้ ตามที่ฉันเข้าใจ นี่เป็นวิธีแก้ปัญหาชั่วคราว แพ็คเกจการอัปเดต Windows สะสมใหม่จะมาถึงและจะถูกติดตั้งในเดือนหน้า และข้อผิดพลาดในการตรวจสอบสิทธิ์ RDP จะกลับมา คุณช่วยแนะนำอะไรฉันหน่อยได้ไหม
เฉลย
คุณพูดถูก การแก้ปัญหานี้ไม่มีประโยชน์โดยลบการอัปเดต Windows ที่ติดตั้งไว้ เนื่องจากคุณกำลังทำให้คอมพิวเตอร์ของคุณเสี่ยงต่อการใช้ประโยชน์จากช่องโหว่ต่างๆ ที่การอัปเดตนี้แก้ไข ข้อผิดพลาด RDP “เกิดข้อผิดพลาดในการตรวจสอบสิทธิ์” อาจปรากฏขึ้นเมื่อพยายามเรียกใช้แอปพลิเคชัน RemoteApp
ทำไมสิ่งนี้ถึงเกิดขึ้น? ความจริงก็คือมีการติดตั้งการอัปเดตความปลอดภัยล่าสุด (เผยแพร่หลังเดือนพฤษภาคม 2018) บนเดสก์ท็อป Windows 10 ของคุณ การอัปเดตเหล่านี้แก้ไขช่องโหว่ร้ายแรงใน CredSSP โปรโตคอล (ผู้ให้บริการสนับสนุนการรักษาความปลอดภัยข้อมูลประจำตัว) ที่ใช้สำหรับการตรวจสอบสิทธิ์บนเซิร์ฟเวอร์ RDP (CVE-2018-0886 – อ่านบทความข้อผิดพลาดในการตรวจสอบสิทธิ์ RDP อย่างละเอียด:CredSSP Encryption Oracle Remediation) การอัปเดตเหล่านี้ไม่ได้ติดตั้งไว้ที่ฝั่งเซิร์ฟเวอร์ RDP/RDS และ NLA (การตรวจสอบระดับเครือข่าย) ถูกเปิดใช้งานสำหรับการเข้าถึงเดสก์ท็อประยะไกล NLA ใช้กลไก CredSSP เพื่อรับรองผู้ใช้ RDP ล่วงหน้าผ่าน TLS/SSL หรือ Kerberos คอมพิวเตอร์ของคุณเพียงแค่บล็อกการเชื่อมต่อเดสก์ท็อประยะไกลไปยังเซิร์ฟเวอร์ที่ใช้ CredSSP เวอร์ชันที่มีช่องโหว่
คุณจะทำอย่างไรเพื่อแก้ไขปัญหานี้และเชื่อมต่อกับเซิร์ฟเวอร์ RDP ของคุณ
- แนวทางที่ถูกต้องที่สุด ในการแก้ปัญหาคือการติดตั้งการอัปเดตความปลอดภัยสะสมล่าสุดของ Windows บนคอมพิวเตอร์ระยะไกลหรือเซิร์ฟเวอร์ RDS (ซึ่งคุณพยายามเชื่อมต่อผ่าน RDP)
- วิธีแก้ปัญหา 1. คุณสามารถปิดใช้งาน NLA (Network Level Authentication) ได้ที่ฝั่งเซิร์ฟเวอร์ RDP (ตามที่อธิบายไว้ด้านล่าง)
- วิธีแก้ปัญหา 2 คุณสามารถกำหนดค่าเดสก์ท็อปของคุณใหม่โดยอนุญาตให้เชื่อมต่อกับเดสก์ท็อประยะไกลด้วย CredSSP เวอร์ชันที่ไม่ปลอดภัย (ตามที่อธิบายไว้ในบทความที่ลิงก์ด้านบน) ในการดำเนินการนี้ ให้เปลี่ยนพารามิเตอร์รีจิสทรี AllowEncryptionOracle (ใช้คำสั่ง:
REG ADD
) หรือเปลี่ยนนโยบายภายในเครื่อง การเข้ารหัส Oracle Remediation โดยตั้งค่าเป็น เสี่ยง . นี่เป็นวิธีเดียวในการเข้าถึงเซิร์ฟเวอร์ระยะไกลผ่าน RDP หากคุณไม่สามารถเข้าสู่ระบบบนเซิร์ฟเวอร์ภายในเครื่องได้ (ผ่าน ILO, คอนโซลเครื่องเสมือน หรือเว็บอินเตอร์เฟสของผู้ให้บริการระบบคลาวด์) คุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลในโหมดนี้และติดตั้งการอัปเดตความปลอดภัยล่าสุด หลังจากอัปเดตเซิร์ฟเวอร์แล้ว อย่าลืมปิดการใช้งานนโยบายหรือคืนค่าพารามิเตอร์รีจิสทรี AllowEncryptionOracle เป็น 0 (
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 0
)
ปิดใช้งาน NLA สำหรับเดสก์ท็อประยะไกลใน Windows
หากเปิดใช้งาน NLA บนเซิร์ฟเวอร์ RDP ของคุณ แสดงว่ามีการใช้ CredSSP สำหรับการตรวจสอบสิทธิ์ล่วงหน้าของผู้ใช้ RDP คุณสามารถปิดใช้งานการตรวจสอบระดับเครือข่ายได้ใน คุณสมบัติของระบบ บน รีโมท โดยยกเลิกการเลือกตัวเลือก “อนุญาตการเชื่อมต่อจากคอมพิวเตอร์ที่ใช้เดสก์ท็อประยะไกลที่มีการตรวจสอบสิทธิ์ระดับเครือข่ายเท่านั้น (แนะนำ) ” (Windows 10 /8.1 หรือ Windows Server 2012R2/2559)
ใน Windows 7 (Windows Server 2008 R2) ตัวเลือกนี้จะเรียกต่างกัน บน รีโมท ให้เลือกตัวเลือก “อนุญาตการเชื่อมต่อจากคอมพิวเตอร์ที่ใช้ Remote Desktop รุ่นใดก็ได้ (ปลอดภัยน้อยกว่า) “.
คุณยังสามารถปิดการใช้งาน Network Level Authentication (NLA) โดยใช้ Local Group Policy Editor – gpedit.msc (คุณสามารถเรียกใช้ gpedit.msc ใน Windows 10 Home edition แบบนี้) หรือใช้คอนโซลการจัดการนโยบายกลุ่มโดเมน – GPMC.msc . ในตัวแก้ไขนโยบาย ให้ไปที่ส่วน การกำหนดค่าคอมพิวเตอร์ –> เทมเพลตการดูแลระบบ –> ส่วนประกอบของ Windows –> บริการเดสก์ท็อประยะไกล –> โฮสต์เซสชันเดสก์ท็อประยะไกล –> ความปลอดภัย ค้นหาและปิดใช้งานนโยบาย “ต้องการการตรวจสอบสิทธิ์ผู้ใช้สำหรับการเชื่อมต่อระยะไกลโดยใช้การตรวจสอบสิทธิ์ระดับเครือข่าย “.
คุณต้องเลือก RDP เลเยอร์ความปลอดภัยใน “ต้องใช้เลเยอร์ความปลอดภัยเฉพาะสำหรับการเชื่อมต่อระยะไกล (RDP) ” การตั้งค่านโยบาย
หากต้องการใช้การตั้งค่า RDP ใหม่ คุณต้องอัปเดตนโยบายกลุ่มในเครื่องคอมพิวเตอร์ (gpupdate / force
) หรือรีบูตเดสก์ท็อปของคุณ หลังจากนั้น คุณควรเชื่อมต่อกับเดสก์ท็อประยะไกลได้สำเร็จ