PowerScale: Errore di autenticazione attributo non definito dopo l'aggiornamento a OneFS 9.5 o versione successiva per gli utenti Active Directory
Summary: Quando si esegue l'aggiornamento a OneFS 9.5.x o versioni successive da qualsiasi versione precedente, i controlli del codice di pre-aggiornamento potrebbero identificare un valore NULL/0 per "msds-SupportedEncryptionTypes". Se non risolto, questo può causare errori di autenticazione (DU). ...
Symptoms
Se un cluster viene aggiornato a OneFS 9.5 e il valore dell'attributo dell'account del computer msDS-SupportedEncryptionTypes non è impostato, l'autenticazione potrebbe non riuscire. Il provider Active Directory potrebbe apparire in uno stato senza stile o potrebbe non essere presente in isi auth Output di stato.
Per impostazione predefinita, questo valore è impostato su 31 (o 0xF1 in formato esadecimale) quando il cluster viene aggiunto per la prima volta ad Active Directory. In base alla Guida alla configurazione della sicurezza di OneFS 9.5, disponibile nella pagina del prodotto PowerScale OneFS del supporto Dell, sono supportati molti tipi di crittografia per SMB e Kerberos.
Se qualcuno vuole modificare l'attributo per
msDS-SupportedEncryptionTypes, questo è accettabile se non esclude i tipi di crittografia necessari per funzionare. Ad esempio, alcuni potrebbero voler modificare il valore per omettere il supporto per RC4.
Esempio di attributo delle Proprietà con funzionalità avanzate abilitate:

Figura 1. Il valore per msDS-SupportedEncryptionTypes L'attributo viene visualizzato come <not-set>.
Esempio da 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 :
L'output precedente non include un campo per l'attributo msDS-SupportedEncryptionTypes, che di solito riporta un valore intero.
Di seguito è riportato un esempio di un altro cluster in cui il valore impostato viene popolato per l'attributo:
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 :
Un altro sintomo è che ci sono messaggi specifici che popolano /var/log/lsass.d.log come mostrato di seguito:
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.
Per verificare che si tratti di questo problema, l'amministratore deve controllare l'oggetto dell'account computer per il cluster all'interno di Active Directory. Questa operazione può essere eseguita in uno dei due modi seguenti:
- In un controller di dominio, aprire Active Directories Users and Computers (ADUC).
- Nella barra multifunzione superiore della finestra, selezionare View e cliccare su Advanced Features.
- Fare clic con il pulsante destro del mouse sull'oggetto e passare alla scheda Editor attributi e scorrere fino a trovare il
msDS-SupportedEncryptionTypesattributo. - Fare doppio clic sul campo Attributo ed esaminare il numero decimale riportato nella nuova finestra.
- Utilizzare il seguente comando PowerShell su un controller di dominio con il nome dell'account del computer corretto.
Get-ADComputer -Identity <machine account name> -Properties msDS-SupportedEncryptionTypes
Per quanto sopra, gli amministratori devono utilizzare un account in Active Directory con privilegi a livello di dominio per risolvere il problema.
Cause
Eliminazione manuale di msDS-SupportedEncryptionTypes sull'oggetto account computer del cluster comporta la segnalazione di un valore NULL da parte di Active Directory. In questo modo i controlli nel codice più recente non vengono eseguiti come parte di una serie di miglioramenti per un migliore supporto della sicurezza.
Anche i cluster meno recenti che sono stati aggiunti ad Active Directory senza impostare questo valore possono essere sensibili a questo problema. Ciò è dovuto al fatto che non viene impostato alcun valore a meno che non sia stato eseguito un ricongiungimento ad Active Directory.
Resolution
Soluzione alternativa:
Modificare l'attributo impostandolo su un valore diverso da un valore vuoto. Un'opzione sicura consiste nello scegliere il valore predefinito 31 o 24, a seconda dei requisiti di sicurezza. Questa operazione viene eseguita tramite l'interfaccia utente o da PowerShell.
Un elenco di valori e dei tipi di crittografia supportati è disponibile nel blog del sito Web di Microsoft.
Il seguente comando (con il nome dell'account del computer e il numero intero corretti inseriti) può essere utilizzato da un amministratore di Active Directory su un controller di dominio anziché dall'interfaccia utente per assegnare un valore all'attributo.
Set-ADComputer -Identity COMPUTERNAME$ -Add @{'msDS-SupportedEncryptionTypes'="<INTEGER>"}
L'esempio riportato di seguito imposta la proprietà msDS-SupportedEncryptionTypes al valore predefinito 31 per l'account del computer cluster NINEFIVEOH$:
Set-ADComputer -Identity NINEFIVEOH$ -Add @{'msDS-SupportedEncryptionTypes'="31"}
Una volta applicate, le modifiche devono essere replicate in tutti i controller di dominio all'interno dell'ambiente Active Directory. Potrebbe essere necessario un aggiornamento dell'autenticazione o un riavvio LSASS mirato sul cluster per cancellare la condizione in seguito.
Dell Engineering ha pubblicato miglioramenti del codice in OneFS 9.5.0.3 che risolvono questo problema. Gli amministratori potrebbero comunque riscontrare errori nei controlli preliminari dell'aggiornamento IOCA se non hanno un valore impostato prima dell'aggiornamento. Se un amministratore ha limitato i privilegi del cluster in AD per modificare gli attributi, DEVE aggiornare manualmente l'attributo prima che venga eseguita qualsiasi attività di upgrade. Il mancato aggiornamento dell'attributo prima dell'aggiornamento quando il cluster non dispone di privilegi sufficienti per eseguire tale aggiornamento, determina la non disponibilità dei dati.
Nota: OneFS 9.5 e versioni successive richiedono l'attributo
msDS-SupportedEncryptionTypes. Gli amministratori che eseguono versioni di Windows Server che non dispongono di questo attributo o non supportano questo attributo devono aggiornare i controller di dominio. Non esiste una soluzione alternativa per questo requisito. La mancata disponibilità di controller di dominio sulle versioni supportate di Windows Server prima dell'aggiornamento di OneFS può causare la non disponibilità dei dati.
Additional Information
Di seguito sono riportate alcune risorse consigliate correlate a questo argomento che potrebbero essere di interesse:
- PowerScale: Come eseguire lo strumento di analisi del cluster IOCA
- Patch attuali di OneFS PowerScale