พาวเวอร์สเกล: Undefined attribute auth failure post OneFS 9.5 upgrade สําหรับผู้ใช้ Active Directory
Summary: ใหม่การตรวจสอบรหัส OneFS 9.5-9.5.0.2 ผลลัพธ์ในความล้มเหลวการรับรองความถูกต้องเมื่อแบบสอบถามสําหรับแอตทริบิวต์ msds-SupportedEncryptionTypes ในบัญชีเครื่องสําหรับคลัสเตอร์ให้ NULL
Symptoms
ถ้าคลัสเตอร์ถูกปรับรุ่นเป็น OneFS 9.5 และไม่ได้ตั้งค่าสําหรับแอตทริบิวต์บัญชีเครื่อง msDS-SupportedEncryptionTypes การรับรองความถูกต้องอาจล้มเหลว ผู้ให้บริการ Active Directory อาจปรากฏอยู่ในสถานะ unstyled หรืออาจหายไปจาก isi auth เอาต์พุตสถานะ
ค่านี้ถูกตั้งค่าเป็น 31 (หรือ 0xF1 เป็นเลขฐานสิบหก) เมื่อคลัสเตอร์เข้าร่วม Active Directory เป็นครั้งแรก ตาม คู่มือการกําหนดค่าความปลอดภัย OneFS 9.5 ซึ่งอยู่ภายใต้เอกสารประกอบในหน้าผลิตภัณฑ์ Dell Support PowerScale OneFS เรามีประเภทการเข้ารหัสที่รองรับมากมายสําหรับ SMB และ Kerberos
หากมีคนต้องการแก้ไขแอตทริบิวต์สําหรับ msDS-SupportedEncryptionTypes สิ่งนี้เป็นที่ยอมรับหากไม่ได้ยกเว้นประเภทการเข้ารหัสที่จําเป็นต่อการทํางาน ตัวอย่างเช่น บางคนอาจต้องการปรับค่าเพื่อละเว้นการสนับสนุน RC4
ตัวอย่างของแอตทริบิวต์จากคุณสมบัติที่เปิดใช้งานคุณลักษณะขั้นสูง:
รูปที่ 1: ค่าสําหรับแอตทริบิวต์ msDS-SupportedEncryptionTypes แสดงเป็น<ไม่ได้ตั้งค่า>
ตัวอย่างจาก Powershell:
DistinguishedName : CN=NINEFIVEOH,CN=Computers,DC=testdomain,DC=local DNSHostName : ninefiveoh.testdomain.local Enabled : True Name : NINEFIVEOH ObjectClass : computer ObjectGUID : 8dbed342-6a12-41ff-889f-8249cc39b673 SamAccountName : NINEFIVEOH$ SID : S-1-5-21-3532647020-1821455699-3245163308-1110 UserPrincipalName :
เอาต์พุตข้างต้นไม่รวมฟิลด์สําหรับแอตทริบิวต์ msDS-SupportedEncryptionTypes ซึ่งโดยปกติจะรายงานค่าจํานวนเต็ม
ด้านล่างนี้เป็นตัวอย่างจากคลัสเตอร์อื่นที่เราเห็นว่าค่าที่ตั้งไว้เติมข้อมูลสําหรับแอตทริบิวต์:
DistinguishedName : CN=COREBUDDY,CN=Computers,DC=testdomain,DC=local DNSHostName : corebuddy.testdomain.local Enabled : True msDS-SupportedEncryptionTypes : 31 <<<<<<<<<<<<<<<< Name : COREBUDDY ObjectClass : computer ObjectGUID : e29236a7-cc36-4686-bca9-010ba4143ca3 SamAccountName : COREBUDDY$ SID : S-1-5-21-3532647020-1821455699-3245163308-1104 UserPrincipalName :
อีกอาการหนึ่งคือมีข้อความเฉพาะที่เติม /var/log/lsass.d.log ไฟล์ดังที่แสดงด้านล่าง:
2023-04-14T02:40:07.877593+00:00 <30.3> ninefiveoh-1(id1) lsass[13628]: [lsass] Failed to read msDS-SupportedEncryptionTypes for account CN=NINEFIVEOH,CN=Computers,DC=testdomain,DC=local 2023-04-14T02:40:07.877656+00:00 <30.3> ninefiveoh-1(id1) lsass[13628]: [lsass] Error 40044 (symbol: LW_ERROR_NO_SUCH_DOMAIN) occurred while putting an LDAP connection back in the domain free list. 2023-04-14T02:40:23.903189+00:00 <30.3> ninefiveoh-1(id1) lsass[13628]: [lsass] Failed to read msDS-SupportedEncryptionTypes for account CN=NINEFIVEOH,CN=Computers,DC=testdomain,DC=local 2023-04-14T02:40:23.903268+00:00 <30.3> ninefiveoh-1(id1) lsass[13628]: [lsass] Error 40044 (symbol: LW_ERROR_NO_SUCH_DOMAIN) occurred while putting an LDAP connection back in the domain free list.
ผู้ดูแลระบบต้องตรวจสอบออบเจ็กต์บัญชีเครื่องสําหรับคลัสเตอร์ภายใน Active Directory สามารถทําได้ด้วยวิธีใดวิธีหนึ่งจากสองวิธี:
- บน DC ให้เปิด Active Directories Users and Computers (ADUC)
- ใน Ribbon ด้านบนของหน้าต่าง ให้เลือก มุมมอง แล้วคลิก คุณลักษณะขั้นสูง
- คลิกขวาที่วัตถุและไปที่แท็บ Attribute Editor แล้วเลื่อนเพื่อค้นหาแอตทริบิวต์ msDS-SupportedEncryptionTypes
- ดับเบิลคลิกที่เขตข้อมูล แอตทริบิวต์ และตรวจสอบตัวเลขทศนิยมที่รายงานในหน้าต่างใหม่
- ใช้คําสั่ง Powershell ต่อไปนี้บน DC ด้วยชื่อบัญชีเครื่องที่ถูกต้อง
Get-ADComputer -Identity <machine account name> -Properties msDS-SupportedEncryptionTypes
สําหรับข้างต้นคุณต้องใช้บัญชีใน Active Directory ที่มีสิทธิ์ระดับโดเมนเพื่อแก้ไขปัญหา
Cause
การลบแอตทริบิวต์ msDS-SupportedEncryptionType บนวัตถุบัญชีเครื่องของคลัสเตอร์ด้วยตนเองส่งผลให้ Active Directory รายงานค่า NULL การดําเนินการนี้จะไม่ผ่านการตรวจสอบในโค้ดที่ใหม่กว่าซึ่งเป็นส่วนหนึ่งของชุดการปรับปรุงเพื่อการสนับสนุนด้านความปลอดภัยที่ดีขึ้น
คลัสเตอร์เก่าที่เข้าร่วม Active Directory โดยไม่มีการตั้งค่านี้อาจไวต่อปัญหานี้ นี่เป็นเพราะไม่มีการตั้งค่าเว้นแต่จะมีการเข้าร่วม Active Directory อีกครั้ง
Resolution
วิธีแก้ปัญหา:
เปลี่ยนแอตทริบิวต์เป็นค่าอื่นที่ไม่ใช่ค่าว่าง ตัวเลือกที่ปลอดภัยคือการเลือกค่าเริ่มต้นเป็น 31 หรือ 24 ขึ้นอยู่กับข้อกําหนดด้านความปลอดภัย ทําได้ผ่าน UI หรือโดย Powershell
รายการค่าและชนิดการเข้ารหัสลับที่สนับสนุนมีอยู่ในบล็อกเว็บไซต์ของ Microsoft
คําสั่งต่อไปนี้ (โดยใส่ชื่อบัญชีเครื่องและจํานวนเต็มที่ถูกต้อง) อาจถูกใช้โดยผู้ดูแลระบบ Active Directory บน DC แทน UI เพื่อกําหนดค่าให้กับแอตทริบิวต์
Set-ADComputer -Identity COMPUTERNAME$ -Add @{'msDS-SupportedEncryptionTypes'="<INTEGER>"}
ตัวอย่างด้านล่างตั้งค่าแอตทริบิวต์ msDS-SupportedEncryptionType เป็นค่าเริ่มต้น 31 สําหรับบัญชีเครื่องคลัสเตอร์ NINEFIVEOH$:
Set-ADComputer -Identity NINEFIVEOH$ -Add @{'msDS-SupportedEncryptionTypes'="31"}
เมื่อการเปลี่ยนแปลงถูกนําไปใช้ การเปลี่ยนแปลงเหล่านั้นจะต้องทําซ้ําไปยังตัวควบคุมโดเมนทั้งหมดภายในสภาพแวดล้อม Active Directory การรีเฟรชการรับรองความถูกต้องหรือการรีสตาร์ท LSASS เป้าหมายบนคลัสเตอร์อาจจําเป็นเพื่อล้างเงื่อนไขหลังจากนั้น
Dell Engineering ได้เผยแพร่การปรับปรุงโค้ดใน OneFS 9.5.0.3 เพื่อแก้ไขปัญหานี้ คุณอาจยังคงเห็นการตรวจสอบการอัปเกรดล่วงหน้าของ IOCA ล้มเหลวหากคุณไม่ได้ตั้งค่าก่อนการอัปเกรด
Additional Information
ต่อไปนี้เป็นแหล่งข้อมูลที่แนะนําที่เกี่ยวข้องกับหัวข้อนี้ที่อาจเป็นที่สนใจ:
- พาวเวอร์สเกล: วิธีเรียกใช้เครื่องมือวิเคราะห์คลัสเตอร์ IOCA
- แพตช์ปัจจุบัน PowerScale OneFS
- แพทช์ README: หนึ่ง FS 9.5.0 GA RUP