Шкала потужності: Помилка автентифікації невизначеного атрибута після оновлення до OneFS 9.5 або новішої версії для користувачів Active Directory
Summary: Під час оновлення до OneFS 9.5.x або пізніших версій із будь-яких попередніх версій перевірка коду перед оновленням може виявити значення NULL/0 для «msds-SupportedEncryptionTypes». Якщо не вирішити цю проблему, це може призвести до збоїв автентифікації (DU). ...
Symptoms
Якщо кластер оновлено до OneFS 9.5 і значення атрибута облікового запису машини msDS-SupportedEncryptionTypes не встановлено, аутентифікація може не вдатися. Може здатися, що постачальник Active Directory перебуває в нестилізованому стані або може бути відсутнім у 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. Зробити це можна одним з двох способів:
- У постійному струмі відкрийте програму Active Directories Users and Computers (ADUC).
- У верхній стрічці вікна виберіть «Перегляд » і натисніть «Додаткові функції».
- Клацніть об'єкт правою кнопкою миші та перейдіть на вкладку Редактор атрибутів і прокрутіть, щоб знайти
msDS-SupportedEncryptionTypesатрибут. - Двічі клацніть поле «Атрибут» і перевірте десяткове число, зазначене в новому вікні.
- Використовуйте наведену нижче команду Powershell на постійному струмі з правильним іменем облікового запису машини.
Get-ADComputer -Identity <machine account name> -Properties msDS-SupportedEncryptionTypes
Для вирішення вищезазначеної проблеми адміністратори мають використовувати обліковий запис Active Directory з привілеями на рівні домену.
Cause
Видалення файлу вручну msDS-SupportedEncryptionTypes на об'єкті комп'ютерного облікового запису кластера призводить до того, що Active Directory повідомляє значення NULL. Це не дозволяє виконати перевірки в новішому коді як частину набору вдосконалень для кращої підтримки безпеки.
Старіші кластери, які приєдналися до Active Directory без встановлення цього значення, також можуть бути вразливими до цієї проблеми. Це пов'язано з тим, що значення не встановлюється, якщо не було виконано повторне приєднання до Active Directory.
Resolution
Спосіб вирішення:
Змініть атрибут на значення, відмінне від порожнього. Безпечним варіантом є вибір значення за замовчуванням 31 або 24, залежно від вимог безпеки. Це робиться через інтерфейс користувача або за допомогою Powershell.
Список значень і типи шифрування, які вони підтримують, можна знайти в блозі Microsoft Website.
Наведена нижче команда (зі вставленим правильним іменем комп'ютерного облікового запису та цілим числом) може використовуватися адміністратором Active Directory в DC замість інтерфейсу користувача для призначення значення атрибуту.
Set-ADComputer -Identity COMPUTERNAME$ -Add @{'msDS-SupportedEncryptionTypes'="<INTEGER>"}
Наведений нижче приклад встановлює msDS-SupportedEncryptionTypes значення за замовчуванням 31 для облікового запису Cluster Machine. NINEFIVEOH$:
Set-ADComputer -Identity NINEFIVEOH$ -Add @{'msDS-SupportedEncryptionTypes'="31"}
Після застосування змін вони мають бути репліковані на всіх контролерах домену в середовищі Active Directory. Для очищення стану після цього може знадобитися оновлення автентифікації або цілеспрямований перезапуск LSASS на кластері.
Dell Engineering опублікувала покращення коду в OneFS 9.5.0.3, які вирішують цю проблему. Адміністратори все одно можуть зіткнутися з невдачею попередніх перевірок оновлення IOCA, якщо перед оновленням не встановлено значення. Якщо адміністратор обмежив привілеї кластера в AD для зміни атрибутів, він ПОВИНЕН оновити атрибут вручну перед будь-якою діяльністю з оновлення. Якщо не оновити атрибут перед оновленням, коли кластер не має для цього достатніх привілеїв, це призводить до недоступності даних.
Примітка: Для OneFS 9.5 і пізніших версій потрібен атрибут
msDS-SupportedEncryptionTypes. Адміністратори версій Windows Server, які не мають або не підтримують цей атрибут, повинні оновити контролери домену. Для цієї вимоги немає обхідного шляху. Відсутність контролерів домену в підтримуваних версіях Windows Server перед оновленням OneFS може призвести до недоступності даних.
Additional Information
Ось кілька рекомендованих ресурсів, пов'язаних з цією темою, які можуть зацікавити: