หลังจากติดตั้งการอัปเดตความปลอดภัยของ Windows ที่ออกหลังจากเดือนพฤษภาคม 2018 คุณอาจเผชิญกับการแก้ไข oracle การเข้ารหัส CredSSP เกิดข้อผิดพลาดระหว่างการเชื่อมต่อ RDP กับเซิร์ฟเวอร์ Windows หรือคอมพิวเตอร์ระยะไกลในกรณีต่อไปนี้:
- คุณกำลังพยายามเชื่อมต่อกับเดสก์ท็อประยะไกลของคอมพิวเตอร์ที่มี Windows เวอร์ชันเก่าที่เพิ่งติดตั้ง (เช่น Windows 10 RTM หรือรุ่น 1709 หรือเก่ากว่า, Windows Server 2012 R2, Windows Server 2016) ซึ่งล่าสุด ไม่ได้ติดตั้งการอัปเดตความปลอดภัยของ Windows
- คุณกำลังพยายามเชื่อมต่อผ่าน RDP กับคอมพิวเตอร์ที่ไม่ได้ติดตั้งการอัปเดตของ Microsoft มาเป็นเวลานาน
- คอมพิวเตอร์ระยะไกลบล็อกการเชื่อมต่อ RDP เนื่องจากไม่มีการอัปเดตความปลอดภัยที่จำเป็นในคอมพิวเตอร์ของคุณ
เรามาลองทำความเข้าใจว่าข้อผิดพลาด RDP คืออะไร การแก้ไข oracle การเข้ารหัส CredSSP วิธีการและวิธีแก้ไข
ดังนั้น เมื่อพยายามเชื่อมต่อกับ RemoteApp บนเซิร์ฟเวอร์ RDS ที่ใช้ Windows Server 2016/2012 R2/2008 R2 หรือกับเดสก์ท็อประยะไกลของผู้ใช้รายอื่นที่ใช้โปรโตคอล RDP (ใน Windows 10, 8.1 หรือ 7) ข้อผิดพลาดจะปรากฏขึ้น:พี> การเชื่อมต่อเดสก์ท็อประยะไกล
เกิดข้อผิดพลาดในการตรวจสอบสิทธิ์
ไม่รองรับฟังก์ชันนี้
คอมพิวเตอร์ระยะไกล:ชื่อโฮสต์
อาจเป็นเพราะการแก้ไข oracle การเข้ารหัส CredSSP
ข้อผิดพลาดนี้เกิดขึ้นเนื่องจากไม่มีการติดตั้งการอัปเดตความปลอดภัยของ Windows (อย่างน้อยตั้งแต่เดือนมีนาคม 2018) บนอินสแตนซ์ Windows ระยะไกล ซึ่งคุณพยายามเชื่อมต่อผ่าน RDP
ข้อผิดพลาดนี้อาจมีลักษณะดังนี้:เกิดข้อผิดพลาดในการตรวจสอบสิทธิ์ ไม่รองรับฟังก์ชันที่ร้องขอในเดือนมีนาคม 2018 Microsoft ได้เผยแพร่การอัปเดตที่บล็อกการเรียกใช้โค้ดจากระยะไกลโดยใช้ช่องโหว่ในโปรโตคอล CredSSP (Credential Security Support Provider) (bulletin CVE-2018-0886) ในเดือนพฤษภาคม 2018 มีการเผยแพร่การอัปเดตเพิ่มเติม ซึ่งโดยค่าเริ่มต้นจะป้องกันไม่ให้ไคลเอนต์ Windows เชื่อมต่อกับเซิร์ฟเวอร์ RDP ระยะไกลด้วยโปรโตคอล CredSSP เวอร์ชันที่มีช่องโหว่ (ไม่ได้รับการแพตช์)
ดังนั้น หากคุณไม่ได้ติดตั้งการอัปเดตการรักษาความปลอดภัยแบบสะสมบนเซิร์ฟเวอร์ Windows RDS/RDP (คอมพิวเตอร์) ตั้งแต่เดือนมีนาคม 2018 และการอัปเดตพฤษภาคม 2018 (หรือใหม่กว่า) ถูกติดตั้งบนไคลเอ็นต์ RDP เมื่อคุณพยายามเชื่อมต่อกับเซิร์ฟเวอร์ RDS โดยไม่ได้แพตช์ เวอร์ชันของ CredSSP เกิดข้อผิดพลาด:อาจเป็นเพราะการแก้ไข oracle การเข้ารหัส CredSSP .
ข้อผิดพลาด RDP บนไคลเอนต์ปรากฏขึ้นหลังจากติดตั้งการอัปเดตความปลอดภัยต่อไปนี้:
- Windows 7 / Windows Server 2008 R2 — KB4103718
- Windows 8.1 / Windows Server 2012 R2 — KB4103725
- Windows Server 2016 — KB4103723
- Windows 10 1803 — KB4103721
- Windows 10 1709 — KB4103727
- Windows 10 1703 — KB4103731
- Windows 10 1609 — KB4103723
windows 10 1803 x64 8/*/2019
. ดาวน์โหลดและติดตั้งการอัปเดตสะสมของ Windows (ในตัวอย่างของฉัน คือ “2019-08 การอัปเดตที่สะสมสำหรับ Windows 10 เวอร์ชัน 1803 สำหรับระบบที่ใช้ x64 (KB4512509)” ในการกู้คืนการเชื่อมต่อเดสก์ท็อประยะไกล คุณสามารถถอนการติดตั้งการอัปเดตความปลอดภัยที่ระบุบนคอมพิวเตอร์ระยะไกล (แต่ไม่แนะนำ และไม่ควรทำเช่นนี้ มีวิธีแก้ไขที่ปลอดภัยและถูกต้องกว่า)
ในการแก้ไขปัญหาการเชื่อมต่อ คุณต้องชั่วคราว ปิดใช้งานการตรวจสอบเวอร์ชัน CredSSP บนคอมพิวเตอร์ที่คุณกำลังเชื่อมต่อผ่าน RDP ซึ่งสามารถทำได้โดยใช้ตัวแก้ไขนโยบายกลุ่มในเครื่อง
- เรียกใช้ตัวแก้ไข GPO ในเครื่อง:gpedit.msc;
- ไปที่ส่วน GPO การกำหนดค่าคอมพิวเตอร์ -> เทมเพลตการดูแลระบบ -> ระบบ -> การมอบหมายข้อมูลรับรอง;
- ค้นหานโยบายด้วยชื่อ การเข้ารหัส Oracle Remediation เปิดใช้งานนโยบายและตั้งค่าระดับการป้องกันเป็น ช่องโหว่;
- อัปเดตการตั้งค่านโยบายบนคอมพิวเตอร์ (เรียกใช้
gpupdate /force
คำสั่ง) และลองเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลผ่าน RDP ด้วยนโยบาย Oracle Remediation Encryption ที่ตั้งค่าเป็น Vulnerable แอปพลิเคชันไคลเอ็นต์ที่รองรับ CredSSP จะสามารถเชื่อมต่อได้แม้กระทั่งกับปลายทาง RDS/RDP ที่ยังไม่ได้แพตช์
- บังคับลูกค้าที่อัปเดต — ระดับการป้องกันสูงสุดเมื่อเซิร์ฟเวอร์ RDP บล็อกการเชื่อมต่อจากไคลเอนต์ที่ไม่ได้รับการแพตช์ โดยปกติ นโยบายนี้ควรเปิดใช้งานหลังจากที่คุณได้อัปเดตโครงสร้างพื้นฐานทั้งหมดและเพิ่มการอัปเดตความปลอดภัยล่าสุดให้กับอิมเมจการติดตั้ง Windows สำหรับเซิร์ฟเวอร์และเวิร์กสเตชัน
- บรรเทาลง — ในโหมดนี้ การเชื่อมต่อ RDP ระยะไกลขาออกกับเซิร์ฟเวอร์ RDP ที่มี CredSSP เวอร์ชันที่มีช่องโหว่จะถูกบล็อก อย่างไรก็ตาม บริการอื่นๆ ที่ใช้ CredSSP ก็ใช้งานได้ดี
- อ่อนแอ — อนุญาตระดับการป้องกันต่ำสุดเมื่อเชื่อมต่อกับเซิร์ฟเวอร์ RDP ที่มี CredSSP เวอร์ชันที่มีช่องโหว่
หากคุณไม่มีตัวแก้ไข GPO ในเครื่อง (เช่น ใน Windows Home editions) คุณสามารถทำการเปลี่ยนแปลงรีจิสทรีโดยตรงที่อนุญาตให้เชื่อมต่อ RDP กับเซิร์ฟเวอร์ที่มี CredSSP เวอร์ชันที่ไม่ได้รับการแพตช์:
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2
คุณสามารถเปลี่ยนพารามิเตอร์รีจิสทรี AllowEncryptionOracle บนคอมพิวเตอร์หลายเครื่องใน AD โดยใช้โดเมน GPO หรือด้วยสคริปต์ PowerShell ดังกล่าว (คุณสามารถรับรายการคอมพิวเตอร์ในโดเมนได้โดยใช้ Get-ADComputer cmdlet จากโมดูล RSAT-AD-PowerShell):พี>
$computers = (Get-ADComputer -Filter *).DNSHostName
Foreach ($computer in $computers) {
Invoke-Command -ComputerName $computer -ScriptBlock {
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2
}
}
หลังจากเชื่อมต่อกับเซิร์ฟเวอร์ RDP ระยะไกล (คอมพิวเตอร์) สำเร็จแล้ว คุณต้องติดตั้งการอัปเดตความปลอดภัยล่าสุดผ่าน Windows Update (ตรวจสอบว่า wuauserv เปิดใช้งานบริการ) หรือด้วยตนเอง ดาวน์โหลดและติดตั้งการอัปเดต Windows สะสมล่าสุดจากเว็บไซต์ Microsoft Update Catalog ดังที่แสดงด้านบน หากข้อผิดพลาด “The update is not suitable to your computer” ปรากฏขึ้นขณะติดตั้งการอัปเดต MSU โปรดอ่านบทความโดยใช้ลิงก์ด้านบน
สำหรับ Windows XP/Windows Server 2003 ที่ไม่ได้รับการสนับสนุนอีกต่อไป คุณต้องติดตั้งโปรแกรมปรับปรุงสำหรับ Windows Embedded POSReady 2009 ตัวอย่างเช่น:https://support.microsoft.com/en-us/help/4056564หลังจากติดตั้งการอัปเดตและรีบูตเซิร์ฟเวอร์แล้ว อย่าลืมปิดการใช้งานนโยบายบนไคลเอนต์ (สลับไปใช้ บังคับไคลเอนต์ที่อัปเดต ) หรือคืนค่าพารามิเตอร์รีจิสทรี AllowEncryptionOracle เป็น 0 ในกรณีนี้ คอมพิวเตอร์ของคุณจะไม่เสี่ยงต่อการเชื่อมต่อกับโฮสต์ที่ไม่ได้รับการป้องกัน CredSSP และการใช้ประโยชน์จากช่องโหว่
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 0
มีสถานการณ์อื่นที่ไม่ได้ติดตั้งโปรแกรมปรับปรุงบนคอมพิวเตอร์ของคุณ ตัวอย่างเช่น เซิร์ฟเวอร์ RDP ได้รับการอัปเดต แต่มีนโยบายที่บล็อกการเชื่อมต่อ RDP จากคอมพิวเตอร์ที่มี CredSSP เวอร์ชันที่มีช่องโหว่ (บังคับใช้ไคลเอ็นต์ที่อัปเดต การกำหนดนโยบาย) ในกรณีนี้ คุณจะเห็นข้อผิดพลาดในการเชื่อมต่อ RDP “ซึ่งอาจเกิดจากการแก้ไข oracle การเข้ารหัส CredSSP”
ตรวจสอบวันที่ติดตั้งการอัปเดตล่าสุดของ Windows บนคอมพิวเตอร์ของคุณโดยใช้โมดูล PSWindowsUpdate หรือผ่านคำสั่ง WMI ในคอนโซล PowerShell:
gwmi win32_quickfixengineering |sort installedon -desc
ตัวอย่างนี้แสดงว่ามีการติดตั้งการอัปเดตความปลอดภัยของ Windows ล่าสุดเมื่อวันที่ 17 มิถุนายน 2018 ดาวน์โหลดและ ติดตั้งไฟล์อัพเดต MSU ที่ใหม่กว่าสำหรับรุ่น Windows ของคุณ (ดูด้านบน)