ข้อผิดพลาดการรับรองความถูกต้อง RDP แก้ไขการเข้ารหัส CredSSP

💖 ชอบไหม?แชร์ลิงก์กับเพื่อนของคุณ

ข้อผิดพลาดนี้เกี่ยวข้องกับการติดตั้งการอัปเดต CredSSP สำหรับ CVE-2018–0886 ปัญหาได้รับการแก้ไขโดยการติดตั้งการอัปเดต

การแนะนำ

อัปเดตเผยแพร่เมื่อวันที่ 13 มีนาคม 2018 ความปลอดภัยของวินโดวส์โปรโตคอลการตรวจสอบสิทธิ์ CredSSP ครอบคลุมช่องโหว่ CVE-2018–0886 ช่องโหว่ใน Credential Security Support Provider Protocol (CredSSP) ทำให้เกิดการเรียกใช้โค้ดจากระยะไกลบนระบบที่มีช่องโหว่

เมื่อวันที่ 8 พฤษภาคม 2018 Microsoft เปลี่ยนระดับความปลอดภัยในการเชื่อมต่อจาก Vulnerable เป็น Mitigated และปัญหาเริ่มด้วยการเชื่อมต่อกับเดสก์ท็อประยะไกลผ่าน RDP

หลังจากป้อนข้อมูลประจำตัวของคุณแล้ว ข้อผิดพลาดจะปรากฏขึ้น:

เกิดข้อผิดพลาดในการรับรองความถูกต้อง
ไม่รองรับฟังก์ชันที่ระบุ
ข้อผิดพลาดอาจเกิดจากการแก้ไขการเข้ารหัส CredSSP

โซลูชันที่ 1: ติดตั้งการปรับปรุงความปลอดภัยของ Windows บนเซิร์ฟเวอร์

  • ไปที่หน้าช่องโหว่ CVE-2018–0886
  • ในส่วนผลิตภัณฑ์ที่ได้รับผลกระทบจากคอลัมน์ดาวน์โหลด ให้เลือกไฟล์ที่เหมาะสม ดาวน์โหลดและติดตั้ง

โซลูชันที่ 2: ถอนการติดตั้งการปรับปรุงความปลอดภัยของ Windows บนไคลเอนต์

โซลูชันที่ 3: แก้ไขนโยบายความปลอดภัยบนไคลเอ็นต์/เซิร์ฟเวอร์

ควรใช้หากคุณไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์และติดตั้งการอัปเดตได้ หลังจากติดตั้งการอัปเดต นโยบายจะต้องกลับสู่สถานะดั้งเดิม

เปิดตัวแก้ไขนโยบายกลุ่มภายในเครื่อง:

  • กด Win+R
  • พิมพ์คำสั่ง gpedit.msc แล้วกด Enter

เปลี่ยนการตั้งค่าความปลอดภัย:

  • การกำหนดค่าคอมพิวเตอร์ > เทมเพลตการดูแลระบบ > ระบบ > การมอบหมายข้อมูลประจำตัว
  • เปิดตัวเลือกการเข้ารหัส Oracle Remediation
  • เลือก "เปิดใช้งาน"
  • ตั้งค่าระดับการป้องกันเป็น “ปล่อยให้มีความเสี่ยง” (“ช่องโหว่”)

นโยบายมี 3 ทางเลือก:

  • มีช่องโหว่ – ไคลเอนต์สามารถเชื่อมต่อกับเครื่องที่มีช่องโหว่ได้
  • บรรเทาลง—ไคลเอนต์ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ที่มีช่องโหว่ แต่เซิร์ฟเวอร์สามารถยอมรับไคลเอนต์ที่มีช่องโหว่ได้
  • บังคับลูกค้าที่อัปเดต – ระดับที่ปลอดภัยการโต้ตอบกับลูกค้า

หากเครื่องไคลเอ็นต์ไม่มี Local Group Policy Editor การเปลี่ยนแปลงจะเกิดขึ้นกับรีจิสทรี

เนื้อหาบทความ:

หลังจากวันที่ 8 พฤษภาคม 2561 มีผู้ใช้ระบบปฏิบัติการจำนวนมาก ระบบวินโดวส์พบปัญหาซึ่งเมื่อพยายามเข้าสู่ระบบคอมพิวเตอร์ Windows เครื่องอื่นผ่านเดสก์ท็อประยะไกล (หรือใช้แอประยะไกล) พวกเขาได้รับข้อผิดพลาดต่อไปนี้:

เกิดข้อผิดพลาดในการรับรองความถูกต้อง
ไม่รองรับฟังก์ชันที่ระบุ
ข้อผิดพลาดอาจเกิดจากการแก้ไขการเข้ารหัส CredSSP

ข้อมูลทั่วไป

ภาพหน้าจอพร้อมข้อความแสดงข้อผิดพลาด

ในบทความนี้เราจะดู 3 วิธีในการแก้ไขข้อผิดพลาดนี้ วิธีแรกคือวิธีที่ถูกต้องที่สุดและเป็นวิธีที่คุณควรใช้หากคุณประสบปัญหานี้ วิธีที่สองและสามแม้ว่าจะอนุญาตให้คุณลบข้อผิดพลาดได้ แต่ควรใช้เฉพาะในกรณีที่ไม่สามารถติดตั้งโปรแกรมแก้ไขได้

วิธีที่ 1: ติดตั้งการอัปเดตเพื่อแก้ไขการเข้ารหัส CreedSSP

สาเหตุของข้อผิดพลาดนี้คือการอัปเดต CVE-2018-0886 หายไปในฝั่งเซิร์ฟเวอร์หรือบนคอมพิวเตอร์ที่คุณพยายามเชื่อมต่อโดยใช้ Remote Desktop (RDP) หากต้องการกำจัดมัน เพียงติดตั้งโปรแกรมปรับปรุงนี้บนคอมพิวเตอร์ที่ทำหน้าที่เป็นเซิร์ฟเวอร์ คุณสามารถดาวน์โหลดการอัปเดตสำหรับเวอร์ชันระบบปฏิบัติการที่ต้องการได้โดยใช้ลิงก์ด้านล่าง:

วิธีที่ 2: ปิดใช้งานการแจ้งเตือนข้อผิดพลาดการเข้ารหัสลับ CreedSSP ผ่านนโยบายกลุ่ม

หากไม่สามารถติดตั้งการอัปเดตได้ด้วยเหตุผลบางประการ คุณสามารถปิดใช้งานการแจ้งเตือนข้อผิดพลาดนี้ได้ เมื่อต้องการทำเช่นนี้ บนคอมพิวเตอร์ที่ทำหน้าที่เป็นไคลเอนต์ เราดำเนินการตามขั้นตอนต่อไปนี้:

วิธีที่ 3: ปิดใช้งานการแจ้งเตือนข้อผิดพลาดการเข้ารหัส CreedSSP โดยการแก้ไขรีจิสทรี

หาก Windows รุ่นของคุณไม่มีตัวแก้ไขนโยบายกลุ่ม (เช่น Windows 10 Home) คุณจะต้องทำการเปลี่ยนแปลงที่จำเป็นในรีจิสทรีด้วยตนเอง เมื่อต้องการทำเช่นนี้ บนคอมพิวเตอร์ที่ทำหน้าที่เป็นไคลเอนต์ เราดำเนินการตามขั้นตอนต่อไปนี้:

  1. เปิดตัวแก้ไขรีจิสทรีและไปที่เส้นทางต่อไปนี้: HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters
  2. กำลังมองหาพารามิเตอร์ DWORDเรียกว่า อนุญาตการเข้ารหัสออราเคิลและตั้งค่า 2 - หากไม่มีพารามิเตอร์ดังกล่าว ให้สร้างมันขึ้นมา
  3. รีบูทคอมพิวเตอร์

สำหรับผู้ที่ไม่ต้องการยุ่งกับรีจิสทรีเพียงเรียกใช้คำสั่งด้านล่าง บรรทัดคำสั่งด้วยสิทธิ์ของผู้ดูแลระบบ:

REG เพิ่ม HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2

เมื่อวันที่ 13 มีนาคม Microsoft ได้เผยแพร่คำอธิบายของช่องโหว่ CVE-2018-0886 ในโปรโตคอลการตรวจสอบความถูกต้อง CredSSP ซึ่งใช้โดยเฉพาะเมื่อเชื่อมต่อผ่าน RDP ไปยังเทอร์มินัลเซิร์ฟเวอร์ Microsoft เผยแพร่ในภายหลังว่าจะบล็อกการเชื่อมต่อไปยังเซิร์ฟเวอร์ที่ไม่ได้รับการติดตั้งซึ่งมีช่องโหว่นี้ ส่งผลให้ลูกค้าจำนวนมากประสบปัญหาในการเชื่อมต่อผ่าน RDP

โดยเฉพาะใน Windows 7 คุณอาจเห็นข้อผิดพลาด: "เกิดข้อผิดพลาดในการรับรองความถูกต้อง ไม่รองรับคุณสมบัติที่ระบุ"
ใน Windows 10 มีการอธิบายข้อผิดพลาดโดยละเอียด โดยเฉพาะอย่างยิ่งข้อความว่า “ข้อผิดพลาดอาจเกิดจากการแก้ไขการเข้ารหัส CredSSP”:


เพื่อหลีกเลี่ยงข้อผิดพลาดในฝั่งไคลเอ็นต์ หลายคนแนะนำให้ปิดใช้งานนโยบายกลุ่มโดยการตั้งค่า การเข้ารหัสการแก้ไขของ Oracleวี เปราะบาง:
ใช้ gpedit.msc ในการกำหนดค่าคอมพิวเตอร์ / เทมเพลตการดูแลระบบ / ระบบ / การถ่ายโอนข้อมูลรับรองทางด้านซ้ายเลือก "แก้ไขช่องโหว่ของการเข้ารหัสลับ" (แน่นอนว่าการแปลตลก) ตั้งค่า "เปิดใช้งาน" ในการตั้งค่าและเลือก "ออกจากช่องโหว่"


หรือผ่านทางรีจิสทรี (เช่นใน วินโดว์โฮมไม่มีคำสั่ง gpedit.msc):

REG เพิ่ม HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters\ /v AllowEncryptionOracle /t REG_DWORD /d 2


แต่! ไม่จำเป็นต้องทำเช่นนี้! เพราะ ดังนั้น คุณจะทิ้งช่องโหว่และความเสี่ยงจากการสกัดกั้นการรับส่งข้อมูลและข้อมูลลับอื่น ๆ รวมถึงรหัสผ่าน ครั้งเดียวที่อาจจำเป็นคือเมื่อคุณไม่มีวิธีอื่นในการเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลเลย นอกเหนือจากผ่าน RDP เพื่อติดตั้งการอัปเดต (แม้ว่าผู้ให้บริการคลาวด์รายใดควรมีความสามารถในการเชื่อมต่อกับคอนโซลเซิร์ฟเวอร์) ทันทีหลังจากติดตั้งการอัปเดต นโยบายจะต้องกลับสู่สถานะดั้งเดิม

หากคุณมีสิทธิ์เข้าถึงเซิร์ฟเวอร์ระยะไกล คุณสามารถปิดใช้งานข้อกำหนด NLA (การตรวจสอบสิทธิ์ระดับเครือข่าย) เพื่อเป็นมาตรการชั่วคราวได้ และเซิร์ฟเวอร์จะหยุดใช้ CredSSP ในการดำเนินการนี้ เพียงไปที่คุณสมบัติของระบบบนแท็บ การเชื่อมต่อระยะไกลยกเลิกการทำเครื่องหมายในช่องที่เกี่ยวข้อง "อนุญาตการเชื่อมต่อจากคอมพิวเตอร์ที่ใช้ Remote Desktop พร้อมการรับรองความถูกต้องระดับเครือข่ายเท่านั้น":

แต่นี่ก็เป็นวิธีที่ผิดเช่นกัน

วิธีที่ถูกต้องคือเพียงแค่ติดตั้ง การอัปเดตที่จำเป็นบนระบบปฏิบัติการ โดยปิดช่องโหว่ CVE-2018-0886 ใน CredSSP ทั้งเซิร์ฟเวอร์ที่คุณกำลังเชื่อมต่อและไคลเอนต์ที่คุณกำลังเชื่อมต่อ

รายการอัพเดตสำหรับระบบปฏิบัติการทั้งหมด เริ่มต้นด้วย Windows 7 และ วินโดวส์เซิร์ฟเวอร์ 2008 ดูได้ที่: https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2018-0886
เลือกเวอร์ชันของระบบปฏิบัติการที่ต้องการ ดาวน์โหลดการอัพเดตที่เหมาะสมจากแค็ตตาล็อก ติดตั้งและรีบูต หลังจากนี้ข้อผิดพลาดควรหายไป
ตัวอย่างเช่น บน Windows Server 2016 ลิงก์ดาวน์โหลดจะเป็นดังนี้:

เจ้าของระบบปฏิบัติการ Windows ทราบดีว่านักพัฒนาซอฟต์แวร์ให้การสนับสนุนระบบปฏิบัติการตามที่กำหนดในช่วงเวลาหนึ่ง สาเหตุส่วนใหญ่มักเกิดขึ้นเนื่องจาก Microsoft จะเผยแพร่การอัปเดตเป็นระยะโดยอัตโนมัติหรือ โหมดแมนนวลถ่ายโอนไปยังคอมพิวเตอร์และติดตั้งที่นั่น

น่าเสียดายที่บางครั้งสิ่งนี้ไม่ได้นำไปสู่ผลลัพธ์ที่ดีที่สุด ใช่ การอัปเดตดังกล่าวช่วยแก้ปัญหาบางอย่างได้ แต่บางครั้งก็สร้างปัญหาใหม่ขึ้นมา

ตัวอย่างเช่นการติดตั้งแพ็คเกจ KB4103718 จากการสังเกตของผู้ใช้หลายคนนำไปสู่ความจริงที่ว่าความพยายามเชื่อมต่อกับเซิร์ฟเวอร์โดยใช้เดสก์ท็อประยะไกล RPR ไม่ทำงาน แต่ทำให้เกิดข้อความบนหน้าจอเท่านั้น: เกิดข้อผิดพลาดระหว่าง การรับรองความถูกต้อง - ไม่รองรับฟังก์ชันที่ระบุ

โดยธรรมชาติแล้วสิ่งนี้ไม่เหมาะกับบุคคลที่ขาดฟังก์ชันบางอย่างที่เขาต้องการและมีความสำคัญมาก ฉันควรทำอย่างไร? แน่นอน - แก้ไขมัน

ดังนั้นหากการรับรองความถูกต้องของ Windows 7 RDP ล้มเหลวส่วนใหญ่ วิธีแก้ปัญหาง่ายๆจะมีการกลับสู่ศูนย์อัปเดตระบบปฏิบัติการและการลบแพ็คเกจที่ติดตั้งล่าสุด ตามที่แสดงในทางปฏิบัติ การกระทำนี้เพียงพอที่จะกำจัดความล้มเหลวได้

จริงอยู่มี "แต่" หลายประการ:

  • คราวหน้า อัปเดตอัตโนมัติทุกอย่างจะกลับมา
  • หากคุณป้องกันไม่ให้ Windows ใช้งานฟังก์ชันดังกล่าว ระบบปฏิบัติการอาจกลายเป็นจุดอ่อนอย่างยิ่ง เนื่องจากจะไม่สามารถรับการพัฒนาการป้องกันที่สำคัญที่สุดจากนักพัฒนาได้

ดังนั้นจึงจำเป็นต้องมองหาแนวทางแก้ไขอื่น ผู้ใช้ที่มีประสบการณ์เมื่อถูกถามว่า “เกิดข้อผิดพลาดในการตรวจสอบสิทธิ์” - วิธีแก้ไข แนะนำให้ดำเนินการต่อไปนี้:

  1. ติดตั้งแพ็คเกจอัปเดตล่าสุดที่สำคัญที่สุดทั้งหมดไม่เพียงแต่ในอุปกรณ์ของคุณ แต่ยังรวมถึงคอมพิวเตอร์และเซิร์ฟเวอร์ที่ผู้ใช้วางแผนจะเชื่อมต่อระยะไกลผ่านโปรโตคอลนี้ นี่เป็นวิธีแก้ปัญหาเดียวและสมบูรณ์สำหรับปัญหานี้ อื่นๆ ทั้งหมดเป็นเพียงชั่วคราวเท่านั้น
  2. คุณสามารถปิดใช้งาน NLA หรือให้สิทธิ์การเข้าถึงเซิร์ฟเวอร์ระยะไกลด้วย CredSSP เวอร์ชันที่ไม่ปลอดภัยได้

จะหยุดใช้สนช.ได้อย่างไร? ต้องปฏิบัติตามขั้นตอนต่อไปนี้:

  1. ผ่านแผงควบคุมไปยังองค์ประกอบทั้งหมด จากนั้นไปที่ระบบ
  2. เปิดหน้าต่าง "คุณสมบัติ" และไปที่แท็บ "การเข้าถึงระยะไกล"
  3. ที่ด้านล่างสุด คุณจะเห็นบรรทัดที่ขึ้นต้นด้วยคำว่า "อนุญาตการเชื่อมต่อจากคอมพิวเตอร์เท่านั้น..." ยกเลิกการทำเครื่องหมายที่ช่องถัดจากนั้น

หลังจากติดตั้งการอัปเดตความปลอดภัยเดือนพฤษภาคม (ลงวันที่ 8 พฤษภาคม 2018 บนแพลตฟอร์ม Windows 7/8/10 และแพลตฟอร์มเซิร์ฟเวอร์บน Windows Server 2008 R2 / 2012 R2 / 2016) ผู้ใช้จะไม่สามารถเข้าถึงเครื่องระยะไกลผ่าน RDP และ RemoteApp และ เกิดข้อผิดพลาดต่อไปนี้:

ภาพหน้าจอ: หน้าต่างข้อผิดพลาด CredSSP หลังจากทำการเชื่อมต่อ RDP ไปยังเซิร์ฟเวอร์จากเครื่องไคลเอนต์

ในช่วงต้นฤดูใบไม้ผลิปี 2018 Microsoft ได้เปิดตัวการอัปเดตที่ป้องกันการเรียกใช้โค้ดจากระยะไกลโดยใช้ช่องโหว่ในโปรโตคอล CredSSP และในเดือนพฤษภาคมก็มีการเปิดตัวการอัปเดตหลังจากการติดตั้ง ซึ่งโดยค่าเริ่มต้น เครื่องไคลเอนต์จะถูกห้ามไม่ให้เชื่อมต่อกับเซิร์ฟเวอร์ RDP ระยะไกลด้วยเวอร์ชันที่มีช่องโหว่ โปรโตคอล CredSSP ดังนั้น หากมีการติดตั้งการอัปเดตสปริงบนไคลเอนต์ แต่ไม่ได้ติดตั้งบนเซิร์ฟเวอร์ที่ใช้ Windows Server OS เราจะได้รับข้อผิดพลาดเมื่อเชื่อมต่อ:

"เกิดข้อผิดพลาดในการรับรองความถูกต้อง ไม่รองรับฟังก์ชันที่ระบุ ข้อผิดพลาดอาจเกิดจากการแก้ไข CredSSP"

หรือเวอร์ชันภาษาอังกฤษ:

“นี่อาจเป็นเพราะการแก้ไขออราเคิลการเข้ารหัส CredSSP”

ข้อผิดพลาดไคลเอ็นต์ RDP ปรากฏขึ้นหลังจากติดตั้งการอัปเดตความปลอดภัย:

  • Windows 7 / Windows Server 2008 R2 - อัปเดต KB4103718
  • Windows 8.1 / Windows Server 2012 R2 - อัปเดต KB4103725
  • Windows 10 1803 - อัปเดต KB4103721
  • Windows 10 1709 - อัปเดต KB4103727
  • Windows 10 1703 - อัปเดต KB4103731
  • Windows 10 1609 - อัปเดต KB4103723
  • Windows Server 2016 - อัปเดต KB4103723

หากต้องการคืนค่าการเชื่อมต่อ คุณสามารถถอนการติดตั้งการอัปเดตข้างต้นได้ แต่การดำเนินการนี้จะเปิดช่องโหว่ที่พบ ดังนั้นแผนปฏิบัติการในการแก้ไขปัญหาจะเป็นดังนี้:

  1. เราจะลบการแจ้งเตือนความปลอดภัยที่บล็อกการเชื่อมต่อบนคอมพิวเตอร์ที่เราเชื่อมต่อผ่าน RDP เป็นการชั่วคราว
  2. มาเชื่อมต่อผ่านการเชื่อมต่อ RDP ที่ได้รับการกู้คืนแล้วและติดตั้งแพตช์รักษาความปลอดภัยที่จำเป็น
  3. ย้อนกลับการแจ้งเตือนความปลอดภัยที่ถูกปิดใช้งานชั่วคราวในจุดแรกของแผนปฏิบัติการ
  • เปิดตัวแก้ไขนโยบายกลุ่มท้องถิ่น: เริ่ม - เรียกใช้ - gpedit.msc;
  • ไปที่ส่วน การกำหนดค่าคอมพิวเตอร์ - เทมเพลตการดูแลระบบ - ระบบ - การมอบหมายข้อมูลประจำตัว - อังกฤษ;
  • เราพบนโยบายชื่อ Encryption Oracle Remediation เปิดใช้งานนโยบายที่เปิดใช้งานแล้วเลือกปล่อยให้มีช่องโหว่เป็นตัวเลือกในรายการแบบเลื่อนลง

ภาพหน้าจอ: การเปิดใช้งานตัวเลือก GPO - แก้ไขช่องโหว่การเข้ารหัสของ Oracle
  • สิ่งที่เหลืออยู่คือการอัปเดตนโยบายบนคอมพิวเตอร์ (ในการดำเนินการนี้ ให้เปิด Cmd และใช้คำสั่ง gpupdate/force) แล้วลองเชื่อมต่อผ่าน RDP เมื่อเปิดใช้งานนโยบาย แอปพลิเคชันไคลเอ็นต์ที่รองรับ CredSSP จะสามารถเชื่อมต่อได้แม้กระทั่งกับเซิร์ฟเวอร์เดสก์ท็อประยะไกลที่ไม่ได้รับการติดตั้ง

ถ้าแบบนี้ คอมพิวเตอร์ที่บ้านหากคุณมี Windows เวอร์ชันแยกส่วนและคุณไม่สามารถเข้าถึงคอนโซล Local Group Policy ได้ ก็ไม่เป็นไร เราจะใช้ตัวแก้ไขรีจิสทรี (Regedit) มาเปิดตัวและทำตามเส้นทาง:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters

และตั้งค่าพารามิเตอร์ AllowEncryptionOracle เป็น 2 (0x00000002)

จากนั้น คุณจะต้องดาวน์โหลดและติดตั้งการอัปเดตความปลอดภัยที่เหมาะกับระบบของคุณ (ฉันกำลังเผยแพร่ลิงก์โดยตรงไปยังการอัปเดตสำหรับ Windows Server เพื่อความสะดวกของคุณ ซึ่งฉันขอแนะนำให้ติดตั้ง):

  • เซิร์ฟเวอร์ Windows 2016 / Windows 10 1607 - KB4103723
  • วินโดวส์เซิร์ฟเวอร์ 2012 R2 / วินโดวส์ 8 -
บอกเพื่อน