เปลี่ยนวันที่ |
คำอธิบาย |
---|---|
10/24/2024 |
อัปเดตข้อความเพื่อความชัดเจนในขั้นตอนที่ 2 ของส่วน "ดําเนินการ" ในคําอธิบาย "โหมดการบังคับใช้ทั้งหมด" ของส่วน "การอัปเดตไทม์ไลน์สําหรับ Windows" และแก้ไขข้อมูลวันที่ของคีย์รีจิสทรีคีย์ "คีย์การแจกจ่ายคีย์ (KDC)" และหัวข้อ "รีจิสทรีคีย์การสนับสนุนใบรับรอง" ในส่วน "ข้อมูลรีจิสทรีคีย์" |
9/10/2024 |
เปลี่ยนคําอธิบายของโหมดการบังคับใช้แบบเต็มในส่วน "การกําหนดเวลาสําหรับการอัปเดต Windows" เพื่อแสดงวันที่ใหม่ 11 กุมภาพันธ์ 2025 จะย้ายอุปกรณ์ไปยังโหมดการบังคับใช้ แต่ให้การสนับสนุนเพื่อย้อนกลับไปยังโหมดความเข้ากันได้ การสนับสนุนรีจิสทรีคีย์แบบเต็มจะสิ้นสุดวันที่ 10 กันยายน 2025 |
7/5/2024 |
เพิ่มข้อมูลเกี่ยวกับส่วนขยาย SID ไปยังรีจิสทรีคีย์ศูนย์การแจกจ่ายคีย์ (KDC) ในส่วน "ข้อมูลรีจิสทรีคีย์" |
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 จะให้ เหตุการณ์การตรวจสอบ ที่ระบุใบรับรองที่เข้ากันไม่ได้กับโหมดการบังคับใช้แบบเต็ม
-
ถ้าไม่มีการสร้างบันทึกเหตุการณ์การตรวจสอบบนตัวควบคุมโดเมนเป็นเวลาหนึ่งเดือนหลังจากติดตั้งการอัปเดต ให้ดําเนินการเปิดใช้งานโหมดการบังคับใช้แบบเต็มบนตัวควบคุมโดเมนทั้งหมด ภายใน เดือนกุมภาพันธ์ 2025 ถ้ารีจิสทรีคีย์ StrongCertificateBindingEnforcement ไม่ได้รับการกําหนดค่า ตัวควบคุมโดเมนจะย้ายไปยังโหมดการบังคับใช้แบบเต็ม มิฉะนั้น การตั้งค่าโหมดความเข้ากันได้ของรีจิสทรีคีย์จะยังคงมีผลใช้ได้ต่อไป ในโหมดการบังคับใช้แบบเต็ม ถ้าใบรับรองล้มเหลวตามเกณฑ์การแมป (ปลอดภัย) (ดูการแมปใบรับรอง) การรับรองความถูกต้องจะถูกปฏิเสธ อย่างไรก็ตาม ตัวเลือกในการย้อนกลับไปยังโหมดความเข้ากันได้จะยังคงอยู่จนถึงเดือนกันยายน 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 เพื่อเปิดใช้งานโหมดการบังคับใช้แบบเต็ม
เว้นแต่จะอัปเดตเป็นโหมดตรวจสอบหรือโหมดการบังคับใช้โดยใช้รีจิสทรีคีย์ StrongCertificateBindingEnforcement ก่อนหน้านี้ ตัวควบคุมโดเมนจะย้ายไปยังโหมดการบังคับใช้แบบเต็มเมื่อติดตั้งการอัปเดตความปลอดภัยของ Windows ประจําเดือนกุมภาพันธ์ 2025 การรับรองความถูกต้องจะถูกปฏิเสธถ้าไม่สามารถแมปใบรับรองได้อย่างมาก ตัวเลือกในการย้อนกลับไปยังโหมดความเข้ากันได้จะยังคงอยู่จนถึงเดือนกันยายน 2025 หลังจากวันที่นี้ คีย์รีจิสทรี StrongCertificateBindingEnforcement จะไม่ได้รับการสนับสนุนอีกต่อไป
ถ้าการรับรองความถูกต้องโดยใช้ใบรับรองอาศัยการแมปที่ไม่เข้มแข็งซึ่งคุณไม่สามารถย้ายจากสภาพแวดล้อมได้ คุณสามารถวางตัวควบคุมโดเมนในโหมดปิดใช้งานโดยใช้การตั้งค่ารีจิสทรีคีย์ 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 ถึง 10 กันยายน 2025 หรือใหม่กว่า จะมีรีจิสทรีคีย์ต่อไปนี้
รีจิสทรีคีย์นี้จะไม่ได้รับการสนับสนุนหลังจากติดตั้งการอัปเดตสําหรับ Windows ที่เผยแพร่ในวันที่หรือหลังเดือนกันยายน 2025
สำคัญ
การใช้รีจิสทรีคีย์นี้เป็นการแก้ไขปัญหาชั่วคราวสําหรับสภาพแวดล้อมที่จําเป็นต้องใช้และต้องดําเนินการด้วยความระมัดระวัง การใช้รีจิสทรีคีย์นี้หมายถึงสิ่งต่อไปนี้สําหรับสภาพแวดล้อมของคุณ:
-
รีจิสทรีคีย์นี้ทํางานในโหมดความเข้ากันได้ที่เริ่มต้นด้วยการอัปเดตที่เผยแพร่เมื่อวันที่ 10 พฤษภาคม 2022 เท่านั้น
-
รีจิสทรีคีย์นี้จะไม่สนับสนุนหลังจากติดตั้งการอัปเดตสําหรับ Windows ที่เผยแพร่ในวันที่ 10 กันยายน 2025
-
การตรวจหาส่วนขยาย SID และการตรวจสอบที่ใช้โดยการบังคับใช้การผูกใบรับรองที่เข้มงวดมีการขึ้นต่อกันกับค่ารีจิสทรีคีย์ UseSubjectAltName ของ KDC ส่วนขยาย SID จะถูกใช้หากไม่มีค่ารีจิสทรีอยู่ หรือหากมีการตั้งค่าเป็นค่า 0x1 ส่วนขยาย SID จะไม่ถูกใช้ถ้ามี UseSubjectAltName อยู่ และมีการตั้งค่าเป็น 0x0
คีย์ย่อยของรีจิสทรี |
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 ที่เผยแพร่ในวันที่หรือหลังเดือนกันยายน 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 คุณจะต้องมีใบรับรองใหม่
ในการอัปเดต Windows ของวันที่ 11 กุมภาพันธ์ 2025 อุปกรณ์ที่ไม่ได้อยู่ในการบังคับใช้ (ค่ารีจิสทรี StrongCertificateBindingEnforcement ตั้งค่าเป็น 2) จะถูกย้ายไปยังการบังคับใช้ หากการรับรองความถูกต้องถูกปฏิเสธ คุณจะเห็น รหัสเหตุการณ์ 39 (หรือ รหัสเหตุการณ์ 41 สําหรับ Windows Server 2008 R2 SP1 และ Windows Server 2008 SP2) คุณจะมีตัวเลือกในการตั้งค่ารีจิสทรีคีย์กลับไปเป็น 1 (โหมดความเข้ากันได้) ในขั้นตอนนี้
ในการอัปเดต Windows ของวันที่ 10 กันยายน 2025 ค่ารีจิสทรี StrongCertificateBindingEnforcement จะไม่ได้รับการสนับสนุนอีกต่อไป
แหล่งข้อมูลเพิ่มเติม
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการแมปใบรับรองไคลเอ็นต์ TLS ให้ดูบทความต่อไปนี้: