เปลี่ยนวันที่ |
คำอธิบาย |
---|---|
10/10/2023 |
เพิ่มข้อมูลเกี่ยวกับการเปลี่ยนแปลงเริ่มต้นของการแมปอย่างเข้มแข็งภายใต้ "ไทม์ไลน์สําหรับ Windows Updates" |
6/30/2023 |
เปลี่ยนวันที่ของโหมดการบังคับใช้แบบเต็มจากวันที่ 14 พฤศจิกายน 2023 เป็น 11 กุมภาพันธ์ 2025 (ก่อนหน้านี้วันที่เหล่านี้แสดงเป็น 19 พฤษภาคม 2023 เป็น 14 พฤศจิกายน 2023) |
1/26/2023 |
เปลี่ยนการนําโหมดปิดใช้งานออกจากวันที่ 14 กุมภาพันธ์ 2023 เป็น 11 เมษายน 2023 |
บทสรุป
CVE-2022-34691,CVE-2022-26931 และ CVE-2022-26923 จัดการช่องโหว่การยกระดับสิทธิ์ที่อาจเกิดขึ้นเมื่อ Kerberos Key Distribution Center (KDC) กําลังให้บริการร้องขอการรับรองความถูกต้องโดยใช้ใบรับรอง ก่อนการอัปเดตความปลอดภัยวันที่ 10 พฤษภาคม 2022 การรับรองความถูกต้องโดยใช้ใบรับรองจะไม่ลงบัญชีสําหรับเครื่องหมายดอลลาร์ ($) ที่ส่วนท้ายของชื่อเครื่อง ซึ่งช่วยให้สามารถจําลอง (ปลอมแปลง) ใบรับรองที่เกี่ยวข้องได้หลายวิธี นอกจากนี้ ข้อขัดแย้งระหว่างชื่อผู้ใช้หลัก (UPN) และ sAMAccountName ยังทําให้เกิดช่องโหว่การจําลอง (การปลอมแปลง) อื่นๆ ที่เราแก้ไขด้วยการอัปเดตความปลอดภัยนี้ด้วย
ดำเนิน
เมื่อต้องการป้องกันสภาพแวดล้อมของคุณ ให้ทําตามขั้นตอนต่อไปนี้สําหรับการรับรองความถูกต้องโดยใช้ใบรับรอง:
-
อัปเดตเซิร์ฟเวอร์ทั้งหมดที่เรียกใช้บริการใบรับรองของ Active Directory และตัวควบคุมโดเมน Windows ที่ให้บริการการรับรองความถูกต้องโดยใช้ใบรับรองด้วยการอัปเดตวันที่ 10 พฤษภาคม 2022 (ดู โหมดความเข้ากันได้) การอัปเดตวันที่ 10 พฤษภาคม 2022 จะให้ เหตุการณ์การตรวจสอบ ที่ระบุใบรับรองที่เข้ากันไม่ได้กับโหมดการบังคับใช้แบบเต็ม
-
ถ้าไม่มีการสร้างบันทึกเหตุการณ์การตรวจสอบบนตัวควบคุมโดเมนเป็นเวลาหนึ่งเดือนหลังจากติดตั้งการอัปเดต ให้ดําเนินการเปิดใช้งาน โหมดการบังคับใช้แบบเต็ม บนตัวควบคุมโดเมนทั้งหมด ภายในวันที่ 11 กุมภาพันธ์ 2025 อุปกรณ์ทั้งหมดจะได้รับการอัปเดตเป็นโหมดการบังคับใช้แบบเต็ม ในโหมดนี้ ถ้าใบรับรองล้มเหลวตามเกณฑ์การแมป (ปลอดภัย) ที่แข็งแกร่ง (ดู การแมปใบรับรอง) การรับรองความถูกต้องจะถูกปฏิเสธ
ตรวจสอบเหตุการณ์
Windows Update ของวันที่ 10 พฤษภาคม 2022 จะเพิ่มบันทึกเหตุการณ์ต่อไปนี้
ไม่พบการแมปใบรับรองที่รัดกุม และใบรับรองไม่มีส่วนขยายตัวระบุความปลอดภัย (SID) ใหม่ที่ KDC สามารถตรวจสอบความถูกต้องได้
บันทึกเหตุการณ์ |
ระบบ |
ชนิดเหตุการณ์ |
คําเตือนหาก KDC อยู่ในโหมดความเข้ากันได้ ข้อผิดพลาดถ้า KDC อยู่ในโหมดการบังคับใช้ |
แหล่งของเหตุการณ์ |
Kdcsvc |
ID เหตุการณ์ |
39 41 (สําหรับ Windows Server 2008 R2 SP1 และ Windows Server 2008 SP2) |
ข้อความเหตุการณ์ |
Key Distribution Center (KDC) พบใบรับรองของผู้ใช้ที่ถูกต้อง แต่ไม่สามารถแมปกับผู้ใช้ด้วยวิธีที่รัดกุม (เช่น ผ่านการแมปอย่างชัดเจน การแมปความเชื่อถือคีย์ หรือ SID) ใบรับรองดังกล่าวควรถูกเปลี่ยนหรือแมปโดยตรงกับผู้ใช้ผ่านการแมปที่ชัดเจน ดู https://go.microsoft.com/fwlink/?linkid=2189925 เพื่อเรียนรู้เพิ่มเติม ผู้ใช้: ชื่อหลัก <> ชื่อเรื่องใบรับรอง: ชื่อเรื่อง <ใน> ใบรับรอง ผู้ออกใบรับรอง: <ชื่อโดเมนแบบเต็ม (FQDN)> ของผู้ออกใบรับรอง หมายเลขลําดับประจําสินค้าของใบรับรอง: <หมายเลขลําดับประจําสินค้าของ> ใบรับรอง ธัมป์พิมพ์ใบรับรอง: <ธัมป์พริ้นท์ของ> ใบรับรอง |
มีการออกใบรับรองให้แก่ผู้ใช้ก่อนที่จะมีผู้ใช้อยู่ใน Active Directory และไม่พบการแมปที่คาดเดายาก เหตุการณ์นี้จะถูกบันทึกเมื่อ KDC อยู่ในโหมดความเข้ากันได้เท่านั้น
บันทึกเหตุการณ์ |
ระบบ |
ชนิดเหตุการณ์ |
ข้อผิดพลาด |
แหล่งของเหตุการณ์ |
Kdcsvc |
ID เหตุการณ์ |
40 48 (สําหรับ Windows Server 2008 R2 SP1 และ Windows Server 2008 SP2 |
ข้อความเหตุการณ์ |
Key Distribution Center (KDC) พบใบรับรองของผู้ใช้ที่ถูกต้อง แต่ไม่สามารถแมปกับผู้ใช้ด้วยวิธีที่รัดกุม (เช่น ผ่านการแมปอย่างชัดเจน การแมปความเชื่อถือคีย์ หรือ SID) ใบรับรองยังกําหนดให้ผู้ใช้ที่แมปไปล่วงหน้าดังนั้นจึงถูกปฏิเสธ ดู https://go.microsoft.com/fwlink/?linkid=2189925 เพื่อเรียนรู้เพิ่มเติม ผู้ใช้: ชื่อหลัก <> ชื่อเรื่องใบรับรอง: ชื่อเรื่อง <ใน> ใบรับรอง ผู้ออกใบรับรอง:> FQDN ของผู้ออกใบรับรอง < หมายเลขลําดับประจําสินค้าของใบรับรอง: <หมายเลขลําดับประจําสินค้าของ> ใบรับรอง ธัมป์พิมพ์ใบรับรอง: <ธัมป์พริ้นท์ของ> ใบรับรอง เวลาออกใบรับรอง: <FILETIME ของ> ใบรับรอง เวลาในการสร้างบัญชี: <FILETIME ของวัตถุหลักใน AD> |
SID ที่มีอยู่ในส่วนขยายใหม่ของใบรับรองผู้ใช้ไม่ตรงกับ SID ของผู้ใช้ ซึ่งหมายความว่ามีการออกใบรับรองให้กับผู้ใช้อื่น
บันทึกเหตุการณ์ |
ระบบ |
ชนิดเหตุการณ์ |
ข้อผิดพลาด |
แหล่งของเหตุการณ์ |
Kdcsvc |
ID เหตุการณ์ |
41 49 (สําหรับ Windows Server 2008 R2 SP1 และ Windows Server 2008 SP2) |
ข้อความเหตุการณ์ |
Key Distribution Center (KDC) พบใบรับรองผู้ใช้ที่ถูกต้อง แต่มี SID ที่แตกต่างจากผู้ใช้ที่แมปด้วย ด้วยเหตุนี้ คําขอที่เกี่ยวข้องกับใบรับรองจึงล้มเหลว ดู https://go.microsoft.cm/fwlink/?linkid=2189925 เพื่อเรียนรู้เพิ่มเติม ผู้ใช้: ชื่อหลัก <> SID ผู้ใช้: <SID ของ> หลักที่รับรองความถูกต้อง ชื่อเรื่องใบรับรอง: ชื่อเรื่อง <ใน> ใบรับรอง ผู้ออกใบรับรอง:> FQDN ของผู้ออกใบรับรอง < หมายเลขลําดับประจําสินค้าของใบรับรอง: <หมายเลขลําดับประจําสินค้าของ> ใบรับรอง ธัมป์พิมพ์ใบรับรอง: <ธัมป์พริ้นท์ของ> ใบรับรอง ใบรับรอง SID: <SID ที่พบใน> ส่วนขยายใบรับรองใหม่ |
การแมปใบรับรอง
ผู้ดูแลโดเมนสามารถแมปใบรับรองกับผู้ใช้ใน Active Directory ได้ด้วยตนเองโดยใช้แอตทริบิวต์ altSecurityIdentities ของวัตถุผู้ใช้ มีค่าที่สนับสนุนหกค่าสําหรับแอตทริบิวต์นี้ โดยมีแผนที่สามรายการถือว่าอ่อนแอ (ไม่ปลอดภัย) และอีกสามค่าถือว่าเข้มแข็ง โดยทั่วไป ชนิดการแมปจะถือว่าเข้มแข็งถ้ายึดตามตัวระบุที่คุณไม่สามารถนํามาใช้ใหม่ได้ ดังนั้น ชนิดการแมปทั้งหมดที่ใช้ชื่อผู้ใช้และที่อยู่อีเมลถือว่าไม่น่าเชื่อถือ
แมป |
ตัวอย่าง |
ชนิด |
หมายเหตุ |
X509IssuerSubject |
"X509:<I>IssuerName<S>SubjectName" |
อ่อนแอ |
|
X509SubjectOnly |
"X509:<S>SubjectName" |
อ่อนแอ |
|
X509RFC822 |
"X509:<RFC822>user@contoso.com" |
อ่อนแอ |
อีเมลแอดเดรส |
X509IssuerSerialNumber |
"X509:<I>IssuerName<SR>1234567890" |
แข็ง แกร่ง |
แนะนำ |
X509SKI |
"X509:<SKI>123456789abcdef" |
แข็ง แกร่ง |
|
X509SHA1PublicKey |
"X509:<SHA1-PUKEY>123456789abcdef" |
แข็ง แกร่ง |
หากลูกค้าไม่สามารถออกใบรับรองด้วยส่วนขยาย SID ใหม่ เราขอแนะนําให้คุณสร้างการแมปด้วยตนเองโดยใช้หนึ่งในการแมปที่รัดกุมตามที่อธิบายไว้ข้างต้น คุณสามารถทําได้โดยการเพิ่มสตริงการแมปที่เหมาะสมให้กับผู้ใช้แอตทริบิวต์ altSecurityIdentities ใน Active Directory
หมาย เหตุ บางเขตข้อมูล เช่น ผู้ออกหัวข้อ และหมายเลขลําดับประจําสินค้า จะถูกรายงานในรูปแบบ "ส่งต่อ" คุณต้องย้อนกลับรูปแบบนี้เมื่อคุณเพิ่มสตริงการแมปไปยังแอตทริบิวต์ altSecurityIdentities ตัวอย่างเช่น เมื่อต้องการเพิ่มการแมป X509IssuerSerialNumber กับผู้ใช้ ให้ค้นหาเขตข้อมูล "ผู้ออกใบรับรอง" และ "หมายเลขลําดับประจําสินค้า" ของใบรับรองที่คุณต้องการแมปกับผู้ใช้ ดูผลลัพธ์ตัวอย่างด้านล่าง
-
ผู้ออก: CN=CONTOSO-DC-CA, DC=contoso, DC=com
-
SerialNumber: 2B0000000011AC0000000012
จากนั้น อัปเดตแอตทริบิวต์ altSecurityIdentities ของผู้ใช้ใน Active Directory ด้วยสตริงต่อไปนี้:
-
"X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<SR>120000000AC11000000002B"
เมื่อต้องการอัปเดตแอตทริบิวต์นี้โดยใช้ Powershell คุณอาจใช้คําสั่งด้านล่าง โปรดทราบว่า ตามค่าเริ่มต้น เฉพาะผู้ดูแลระบบโดเมนเท่านั้นที่มีสิทธิ์ในการอัปเดตแอตทริบิวต์นี้
-
set-aduser 'DomainUser' -replace @{altSecurityIdentities= "X509:<I>DC=com,DC=contoso,CN=CONTOSO-DC-CA<SR>1200000000AC1100000002B"}
โปรดทราบว่าเมื่อคุณย้อนกลับ SerialNumber คุณต้องเก็บลําดับไบต์ ซึ่งหมายความว่าการย้อนกลับ SerialNumber "A1B2C3" ควรส่งผลให้สตริง "C3B2A1" ไม่ใช่ "3C2B1A" สําหรับข้อมูลเพิ่มเติม ให้ดู วิธีการ: แมปผู้ใช้กับใบรับรองผ่านวิธีการทั้งหมดที่พร้อมใช้งานในแอตทริบิวต์ altSecurityIdentities
ไทม์ไลน์สําหรับการอัปเดต Windows
สำคัญ ระยะการเปิดใช้งานเริ่มต้นด้วยการอัปเดต Windows ของวันที่ 11 เมษายน 2023 ซึ่งจะละเว้นการตั้งค่ารีจิสทรีคีย์โหมดปิดใช้งาน
เมื่อคุณติดตั้งการอัปเดต Windows ของวันที่ 10 พฤษภาคม 2022 แล้ว อุปกรณ์จะอยู่ในโหมดความเข้ากันได้ ถ้าใบรับรองสามารถแมปกับผู้ใช้ได้อย่างมาก การรับรองความถูกต้องจะเกิดขึ้นตามที่คาดไว้ ถ้าใบรับรองสามารถแมปกับผู้ใช้อย่างอ่อนได้เท่านั้น การรับรองความถูกต้องจะเกิดขึ้นตามที่คาดไว้ อย่างไรก็ตาม ข้อความเตือนจะถูกบันทึกเว้นแต่ว่าใบรับรองเก่ากว่าผู้ใช้ ถ้าใบรับรองเก่ากว่าผู้ใช้และรีจิสทรีคีย์ Certificate Backdating ไม่มีอยู่ หรือช่วงอยู่นอกการชดเชยย้อนหลัง การรับรองความถูกต้องจะล้มเหลว และข้อความแสดงข้อผิดพลาดจะถูกบันทึก หากมีการกําหนดค่ารีจิสทรีคีย์ Certificate Backdating จะบันทึกข้อความเตือนในบันทึกเหตุการณ์หากวันที่อยู่ภายในการชดเชยย้อนหลัง
หลังจากที่คุณติดตั้งการอัปเดต Windows ของวันที่ 10 พฤษภาคม 2022 ให้ดูข้อความเตือนใดๆ ที่อาจปรากฏขึ้นหลังจากหนึ่งเดือนขึ้นไป ถ้าไม่มีข้อความเตือน เราขอแนะนําให้คุณเปิดใช้งานโหมดการบังคับใช้แบบเต็มบนตัวควบคุมโดเมนทั้งหมดโดยใช้การรับรองความถูกต้องโดยใช้ใบรับรอง คุณสามารถใช้ รีจิสทรีคีย์ KDC เพื่อเปิดใช้งานโหมดการบังคับใช้แบบเต็ม
เว้นแต่จะอัปเดตเป็นโหมดนี้ก่อนหน้านี้ เราจะอัปเดตอุปกรณ์ทั้งหมดเป็นโหมดการบังคับใช้แบบเต็มภายในวันที่ 11 กุมภาพันธ์ 2025 หรือใหม่กว่า ถ้าไม่สามารถแมปใบรับรองได้อย่างมาก
ถ้าการรับรองความถูกต้องโดยใช้ใบรับรองอาศัยการแมปที่ไม่เข้มแข็งซึ่งคุณไม่สามารถย้ายจากสภาพแวดล้อมได้ คุณสามารถวางตัวควบคุมโดเมนในโหมดปิดใช้งานโดยใช้การตั้งค่ารีจิสทรีคีย์ Microsoft ไม่แนะนํา วิธีนี้ และเราจะลบโหมดปิดใช้งานในวันที่ 11 เมษายน 2023
เมื่อคุณติดตั้งการอัปเดต Windows ในวันที่ 13 กุมภาพันธ์ 2024 หรือใหม่กว่าบน Server 2019 และเวอร์ชันที่ใหม่กว่า และไคลเอ็นต์ที่สนับสนุนที่ติดตั้งฟีเจอร์เพิ่มเติม RSAT การแมปใบรับรองในผู้ใช้ Active Directory & คอมพิวเตอร์จะมีค่าเริ่มต้นในการเลือกการแมปที่รัดกุมโดยใช้ X509IssuerSerialNumber แทนการแมปที่อ่อนแอโดยใช้ X509IssuerSubject การตั้งค่ายังคงสามารถเปลี่ยนแปลงได้ตามต้องการ
การแก้ไขปัญหา
-
ใช้ Kerberos Operational log บนคอมพิวเตอร์ที่เกี่ยวข้องเพื่อตรวจสอบว่าตัวควบคุมโดเมนใดที่ไม่สามารถลงชื่อเข้าใช้ได้ ไปที่ตัวแสดงเหตุการณ์ แอปพลิเคชันและบริการบันทึก>\Microsoft \Windows\Security-Kerberos\Operational
-
ค้นหาเหตุการณ์ที่เกี่ยวข้องในบันทึกเหตุการณ์ของระบบบนตัวควบคุมโดเมนที่บัญชีกําลังพยายามรับรองความถูกต้อง
-
ถ้าใบรับรองเก่ากว่าบัญชี ให้ออกใบรับรองใหม่หรือเพิ่มการแมป altSecurityIdentities ที่ปลอดภัยไปยังบัญชี (ดู การแมปใบรับรอง)
-
หากใบรับรองมีส่วนขยาย SID ให้ตรวจสอบว่า SID ตรงกับบัญชี
-
ถ้าใบรับรองถูกใช้เพื่อรับรองความถูกต้องบัญชีที่แตกต่างกันหลายบัญชี แต่ละบัญชีจะต้องมีการแมป altSecurityIdentities แยกต่างหาก
-
ถ้าใบรับรองไม่มีการแมปที่ปลอดภัยกับบัญชี ให้เพิ่มหรือออกจากโดเมนในโหมดความเข้ากันได้จนกว่าจะสามารถเพิ่มได้
ตัวอย่างของการแมปใบรับรอง TLS กําลังใช้แอปพลิเคชันเว็บอินทราเน็ต IIS
-
หลังจากติดตั้งการป้องกัน CVE-2022-26391 และ CVE-2022-26923 สถานการณ์เหล่านี้ใช้โพรโทคอล Kerberos Certificate Service สําหรับผู้ใช้ (S4U) สําหรับการแมปใบรับรองและการรับรองความถูกต้องตามค่าเริ่มต้น
-
ในโพรโทคอล Kerberos Certificate S4U การร้องขอการรับรองความถูกต้องจะไหลจากเซิร์ฟเวอร์แอปพลิเคชันไปยังตัวควบคุมโดเมน ไม่ใช่จากไคลเอ็นต์ไปยังตัวควบคุมโดเมน ดังนั้น เหตุการณ์ที่เกี่ยวข้องจะอยู่บนเซิร์ฟเวอร์แอพลิเคชัน
ข้อมูลรีจิสทรีคีย์
หลังจากที่คุณติดตั้งการป้องกัน CVE-2022-26931 และ CVE-2022-26923 ในการอัปเดต Windows ที่เผยแพร่ระหว่างวันที่ 10 พฤษภาคม 2022 ถึง 11 กุมภาพันธ์ 2025 หรือใหม่กว่า จะมีรีจิสทรีคีย์ต่อไปนี้พร้อมใช้งาน
รีจิสทรีคีย์นี้จะเปลี่ยนโหมดการบังคับใช้ของ KDC เป็นโหมดปิดใช้งาน โหมดความเข้ากันได้ หรือโหมดการบังคับใช้แบบเต็ม
สำคัญ
การใช้รีจิสทรีคีย์นี้เป็นการแก้ไขปัญหาชั่วคราวสําหรับสภาพแวดล้อมที่จําเป็นต้องใช้และต้องดําเนินการด้วยความระมัดระวัง การใช้รีจิสทรีคีย์นี้หมายถึงสิ่งต่อไปนี้สําหรับสภาพแวดล้อมของคุณ:
-
รีจิสทรีคีย์นี้ทํางานในโหมดความเข้ากันได้ที่เริ่มต้นด้วยการอัปเดตที่เผยแพร่เมื่อวันที่ 10 พฤษภาคม 2022 เท่านั้น
-
รีจิสทรีคีย์นี้จะไม่ได้รับการสนับสนุนหลังจากติดตั้งการอัปเดตสําหรับ Windows ที่เผยแพร่ในวันที่ 11 กุมภาพันธ์ 2025 ซึ่งจะเปิดใช้งานโหมดการบังคับใช้แบบเต็ม
คีย์ย่อยของรีจิสทรี |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc |
ค่า |
StrongCertificateBindingEnforcement |
ชนิดข้อมูล |
Reg_dword |
ข้อมูล |
1 – ตรวจสอบว่ามีการแมปใบรับรองที่รัดกุมหรือไม่ ถ้าใช่ จะอนุญาตการรับรองความถูกต้อง มิฉะนั้น KDC จะตรวจสอบว่าใบรับรองมีส่วนขยาย SID ใหม่และตรวจสอบความถูกต้องหรือไม่ หากไม่มีส่วนขยายนี้ จะอนุญาตการรับรองความถูกต้องหากบัญชีผู้ใช้กําหนดใบรับรองไว้ล่วงหน้า 2 – ตรวจสอบว่ามีการแมปใบรับรองที่รัดกุมหรือไม่ ถ้าใช่ จะอนุญาตการรับรองความถูกต้อง มิฉะนั้น KDC จะตรวจสอบว่าใบรับรองมีส่วนขยาย SID ใหม่และตรวจสอบความถูกต้องหรือไม่ หากส่วนขยายนี้ไม่ปรากฏ การรับรองความถูกต้องจะถูกปฏิเสธ 0 – ปิดใช้งานการตรวจสอบการแมปใบรับรองที่รัดกุม ไม่แนะนํา เนื่องจากการทําเช่นนี้จะปิดใช้งานการปรับปรุงความปลอดภัยทั้งหมด หากคุณตั้งค่าเป็น 0 คุณยังต้องตั้งค่า CertificateMappingMethods ให้ 0x1F ตามที่อธิบายไว้ในส่วนรีจิสทรีคีย์ Schannel ด้านล่างเพื่อให้การรับรองความถูกต้องโดยใช้ใบรับรองคอมพิวเตอร์ประสบความสําเร็จ |
ต้องเริ่มระบบของคอมพิวเตอร์ใหม่หรือไม่ |
ไม่ใช่ |
เมื่อแอปพลิเคชันเซิร์ฟเวอร์ต้องการการรับรองความถูกต้องของไคลเอ็นต์ Schannel จะพยายามแมปใบรับรองที่ไคลเอ็นต์ TLS มอบให้กับบัญชีผู้ใช้โดยอัตโนมัติ คุณสามารถรับรองความถูกต้องของผู้ใช้ที่ลงชื่อเข้าใช้ด้วยใบรับรองไคลเอ็นต์ได้โดยการสร้างการแมปที่เกี่ยวข้องกับข้อมูลใบรับรองกับบัญชีผู้ใช้ Windows หลังจากที่คุณสร้างและเปิดใช้งานการแมปใบรับรอง ในแต่ละครั้งที่ไคลเอ็นต์แสดงใบรับรองไคลเอ็นต์
Schannel จะพยายามแมปวิธีการแมปใบรับรองแต่ละวิธีที่คุณเปิดใช้งานไว้จนกว่าจะประสบความสําเร็จ Schannel พยายามแมปการแมป Service-for-User-To-Self (S4U2Self) ก่อน การแมปใบรับรอง Subject/Issuer, ผู้ออกใบรับรอง และ UPN จะถือว่าอ่อนและถูกปิดใช้งานตามค่าเริ่มต้น ผลรวมบิตมาสก์ของตัวเลือกที่เลือกจะกําหนดรายการของวิธีการแมปใบรับรองที่พร้อมใช้งาน
ค่าเริ่มต้นของรีจิสทรีคีย์ SChannel ถูก 0x1F และตอนนี้ 0x18 แล้ว หากคุณประสบปัญหาการรับรองความถูกต้องล้มเหลวด้วยแอปพลิเคชันเซิร์ฟเวอร์ที่ใช้ Schannel เราขอแนะนําให้คุณทําการทดสอบ เพิ่มหรือปรับเปลี่ยนค่ารีจิสทรีคีย์ CertificateMappingMethods บนตัวควบคุมโดเมนและตั้งค่าเป็น 0x1F และดูว่าแก้ไขปัญหาหรือไม่ ดูข้อมูลเพิ่มเติมได้ในบันทึกเหตุการณ์ของระบบบนตัวควบคุมโดเมน โปรดทราบว่า การเปลี่ยนค่ารีจิสทรีคีย์ SChannel กลับไปเป็นค่าเริ่มต้นก่อนหน้า (0x1F) จะแปลงกลับไปใช้วิธีการแมปใบรับรองที่ไม่มีประสิทธิภาพ
คีย์ย่อยของรีจิสทรี |
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders\Schannel |
ค่า |
CertificateMappingMethods |
ชนิดข้อมูล |
DWORD |
ข้อมูล |
0x0001 - การแมปใบรับรองของประธาน/ผู้ออกใบรับรอง (อ่อนแอ – ปิดใช้งานตามค่าเริ่มต้น) 0x0002 - การแมปใบรับรองของผู้ออก (อ่อนแอ – ปิดใช้งานตามค่าเริ่มต้น) 0x0004 - การแมปใบรับรอง UPN (อ่อนแอ – ปิดใช้งานตามค่าเริ่มต้น) 0x0008 - การแมปใบรับรองด้วยตนเอง S4U2 (แข็งแรง) 0x0010 - S4U2 การแมปใบรับรองที่ชัดเจน (แข็งแรง) |
ต้องเริ่มระบบของคอมพิวเตอร์ใหม่หรือไม่ |
ไม่ใช่ |
สําหรับแหล่งข้อมูลและการสนับสนุนเพิ่มเติม โปรดดูส่วน "แหล่งข้อมูลเพิ่มเติม"
หลังจากที่คุณติดตั้งการอัปเดตที่อยู่ CVE-2022-26931 และ CVE-2022-26923 การรับรองความถูกต้องอาจล้มเหลวในกรณีที่ใบรับรองของผู้ใช้เก่ากว่าเวลาในการสร้างของผู้ใช้ รีจิสทรีคีย์นี้ช่วยให้การรับรองความถูกต้องสําเร็จเมื่อคุณกําลังใช้ การแมปใบรับรอง ที่อ่อนแอในสภาพแวดล้อมของคุณ และเวลาของใบรับรองอยู่ก่อนเวลาที่ผู้ใช้สร้างภายในช่วงที่กําหนด รีจิสทรีคีย์นี้ไม่ส่งผลกระทบต่อผู้ใช้หรือเครื่องที่มีการแมปใบรับรองที่รัดกุม เนื่องจากไม่ได้ตรวจสอบเวลาของใบรับรองและเวลาการสร้างผู้ใช้ด้วยการแมปใบรับรองที่รัดกุม รีจิสทรีคีย์นี้ไม่มีผลใดๆ เมื่อ StrongCertificateBindingEnforcement ตั้งค่าเป็น 2
การใช้รีจิสทรีคีย์นี้เป็นการแก้ไขปัญหาชั่วคราวสําหรับสภาพแวดล้อมที่จําเป็นต้องใช้และต้องดําเนินการด้วยความระมัดระวัง การใช้รีจิสทรีคีย์นี้หมายถึงสิ่งต่อไปนี้สําหรับสภาพแวดล้อมของคุณ:
-
รีจิสทรีคีย์นี้ทํางาน ในโหมดความเข้ากันได้ ที่เริ่มต้นด้วยการอัปเดตที่เผยแพร่เมื่อวันที่ 10 พฤษภาคม 2022 เท่านั้น การรับรองความถูกต้องจะได้รับอนุญาตภายในออฟเซตการชดเชยย้อนหลัง แต่คําเตือนบันทึกเหตุการณ์จะถูกบันทึกสําหรับการเข้าเล่มที่ไม่เหมาะสม
-
การเปิดใช้งานรีจิสทรีคีย์นี้จะอนุญาตการรับรองความถูกต้องของผู้ใช้เมื่อเวลาของใบรับรองอยู่ก่อนเวลาที่ผู้ใช้สร้างภายในช่วงชุดเป็นการแมปที่ไม่เหมาะสม การแมปที่ไม่เข้มงวดจะไม่ได้รับการสนับสนุนหลังจากติดตั้งการอัปเดตสําหรับ Windows ที่เผยแพร่เมื่อวันที่ 11 กุมภาพันธ์ 2025 ซึ่งจะเปิดใช้งานโหมดการบังคับใช้แบบเต็ม
คีย์ย่อยของรีจิสทรี |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc |
ค่า |
CertificateBackdatingCompensation |
ชนิดข้อมูล |
Reg_dword |
ข้อมูล |
ค่าสําหรับการแก้ไขปัญหาชั่วคราวในปีโดยประมาณ:
หมายเหตุ หากคุณทราบอายุการใช้งานของใบรับรองในสภาพแวดล้อมของคุณ ให้ตั้งค่ารีจิสทรีคีย์นี้ให้นานกว่าอายุการใช้งานของใบรับรองเล็กน้อย หากคุณไม่ทราบอายุการใช้งานของใบรับรองสําหรับสภาพแวดล้อมของคุณ ให้ตั้งค่ารีจิสทรีคีย์นี้เป็น 50 ปี ค่าเริ่มต้นคือ 10 นาทีเมื่อไม่มีคีย์นี้ ซึ่งตรงกับ Active Directory Certificate Services (ADCS) ค่าสูงสุดคือ 50 ปี (0x5E0C89C0) คีย์นี้จะตั้งค่าความแตกต่างของเวลาเป็นวินาทีที่ Key Distribution Center (KDC) จะละเว้นระหว่างเวลาในการออกใบรับรองการตรวจสอบสิทธิ์และเวลาการสร้างบัญชีสําหรับบัญชีผู้ใช้/เครื่อง สำคัญ ตั้งค่ารีจิสทรีคีย์นี้เฉพาะเมื่อสภาพแวดล้อมของคุณจําเป็นต้องใช้เท่านั้น การใช้รีจิสทรีคีย์นี้จะปิดใช้งานการตรวจสอบความปลอดภัย |
ต้องเริ่มระบบของคอมพิวเตอร์ใหม่หรือไม่ |
ไม่ใช่ |
ผู้ออกใบรับรองขององค์กร
Enterprise Certificate Authorities (CA) จะเริ่มเพิ่มส่วนขยายใหม่ที่ไม่สําคัญด้วย Object Identifier (OID) (1.3.6.1.4.1.311.25.2) ตามค่าเริ่มต้นในใบรับรองทั้งหมดที่ออกให้เทียบกับเทมเพลตออนไลน์หลังจากที่คุณติดตั้งการอัปเดต Windows ของวันที่ 10 พฤษภาคม 2022 คุณสามารถหยุดการเพิ่มส่วนขยายนี้ได้โดยการตั้งค่าบิต 0x00080000 ในค่า สถานะ การลงทะเบียน-msPKI ของเทมเพลตที่สอดคล้องกัน
คุณเรียกใช้คําสั่ง certutil ต่อไปนี้เพื่อแยกใบรับรองของแม่แบบ ผู้ใช้ จากการรับส่วนขยายใหม่
-
ลงชื่อเข้าใช้เซิร์ฟเวอร์ผู้ให้บริการออกใบรับรองหรือไคลเอ็นต์ Windows 10 ที่เข้าร่วมโดเมนกับผู้ดูแลระบบขององค์กรหรือข้อมูลประจําตัวที่เทียบเท่ากัน
-
เปิดพร้อมท์คําสั่ง และเลือก เรียกใช้ในฐานะผู้ดูแลระบบ
-
เรียกใช้ certutil -dstemplate ผู้ใช้ msPKI-Enrollment-Flag +0x00080000
การปิดใช้งานการเพิ่มส่วนขยายนี้จะลบการป้องกันที่ได้รับจากส่วนขยายใหม่ พิจารณาทําสิ่งนี้หลังจากหนึ่งในตัวเลือกต่อไปนี้เท่านั้น:
-
คุณยืนยันว่าใบรับรองที่เกี่ยวข้องไม่ยอมรับสําหรับการเข้ารหัสลับคีย์สาธารณะสําหรับการรับรองความถูกต้องเบื้องต้น (PKINIT) ในการรับรองความถูกต้องโพรโทคอล Kerberos ที่ KDC
-
ใบรับรองที่สอดคล้องกันมีการกําหนดค่าการแมปใบรับรองที่รัดกุมอื่นๆ ไว้
สภาพแวดล้อมที่มีการปรับใช้ที่ไม่ใช่ Microsoft CA จะไม่ได้รับการป้องกันโดยใช้ส่วนขยาย SID ใหม่หลังจากติดตั้งการอัปเดต Windows ของวันที่ 10 พฤษภาคม 2022 ลูกค้าที่ได้รับผลกระทบควรทํางานร่วมกับผู้จัดจําหน่าย CA ที่เกี่ยวข้องเพื่อแก้ไขปัญหานี้ หรือควรพิจารณาใช้การแมปใบรับรองที่รัดกุมอื่นๆ ตามที่อธิบายไว้ข้างต้น
สําหรับแหล่งข้อมูลและการสนับสนุนเพิ่มเติม โปรดดูส่วน "แหล่งข้อมูลเพิ่มเติม"
คำถามที่ถามบ่อย
ไม่ ไม่จําเป็นต้องต่ออายุ CA จะจัดส่งในโหมดความเข้ากันได้ ถ้าคุณต้องการแมปที่รัดกุมโดยใช้ส่วนขยาย ObjectSID คุณจะต้องมีใบรับรองใหม่
ทรัพยากรเพิ่มเติม
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการแมปใบรับรองไคลเอ็นต์ TLS ให้ดูบทความต่อไปนี้: