PowerScale: Błąd uwierzytelniania niezdefiniowanych atrybutów po uaktualnieniu do OneFS 9.5 lub nowszego dla użytkowników usługi Active Directory
Summary: Podczas uaktualniania systemu OneFS do wersji 9.5.x lub nowszej z wcześniejszych wersji, kontrole kodu przed aktualizacją mogą zidentyfikować wartość NULL/0 dla "msds-SupportedEncryptionTypes". Jeśli nie zostanie to rozwiązane, może to spowodować błędy uwierzytelniania (DU). ...
Symptoms
Jeśli klaster zostanie uaktualniony do OneFS 9.5, a wartość atrybutu konta maszyny msDS-SupportedEncryptionTypes nie jest ustawiona, uwierzytelnianie może zakończyć się niepowodzeniem. Dostawca usługi Active Directory może sprawiać wrażenie nieoznaczonego stylem lub może go brakować w isi auth wyjście stanu.
Domyślnie ta wartość jest ustawiana na 31 (lub 0xF1 szesnastkowo), gdy klaster po raz pierwszy dołącza do usługi Active Directory. Zgodnie z przewodnikiem konfiguracji zabezpieczeń OneFS 9.5, który można znaleźć na stronie produktu Dell Support PowerScale OneFS, mamy wiele obsługiwanych typów szyfrowania dla SMB i Kerberos.
Jesli ktos chce zmodyfikowac atrybut dla
msDS-SupportedEncryptionTypes, jest to dopuszczalne, jeśli nie wyklucza wymaganych typów szyfrowania niezbędnych do funkcjonowania. Na przykład niektórzy mogą chcieć dostosować wartość, aby pominąć obsługę RC4.
Przykład atrybutu z sekcji Właściwości z włączonymi funkcjami zaawansowanymi:

Rysunek 1. Wartość parametru msDS-SupportedEncryptionTypes jest wyświetlany jako <nieustawiony>.
Przykład z programu 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 :
Powyższe dane wyjściowe nie zawierają pola dla atrybutu msDS-SupportedEncryptionTypes, który zwykle zgłasza wartość całkowitą.
Poniżej znajduje się przykład z innego klastra, w którym widzimy, że ustawiona wartość wypełnia atrybut:
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 :
Innym objawem jest to, że pojawiają się określone komunikaty /var/log/lsass.d.log plik, jak pokazano poniżej:
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.
Aby potwierdzić, że jest to problem, administrator musi sprawdzić obiekt konta komputera dla klastra w usłudze Active Directory. Można to zrobić na jeden z dwóch sposobów:
- Na kontrolerze domeny otwórz usługę Active Directories Users and Computers (ADUC).
- Na górnej wstążce okna wybierz opcję Widok i kliknij opcję Funkcje zaawansowane.
- Kliknij prawym przyciskiem myszy obiekt i przejdź do karty Edytor atrybutów i przewiń, aby znaleźć
msDS-SupportedEncryptionTypesatrybut. - Kliknij dwukrotnie pole Atrybut i sprawdź liczbę dziesiętną zgłoszoną w nowym oknie.
- Użyj następującego polecenia programu PowerShell na kontrolerze domeny z poprawną nazwą konta komputera.
Get-ADComputer -Identity <machine account name> -Properties msDS-SupportedEncryptionTypes
W celu rozwiązania powyższego administratorzy muszą użyć konta w usłudze Active Directory z uprawnieniami na poziomie domeny.
Cause
Ręczne usunięcie msDS-SupportedEncryptionTypes w obiekcie konta komputera klastra powoduje, że usługa Active Directory zgłasza wartość NULL. Spowoduje to niepowodzenie sprawdzania w nowszym kodzie w ramach pakietu ulepszeń zapewniających lepszą obsługę zabezpieczeń.
Starsze klastry, które dołączyły do usługi Active Directory bez ustawienia tej wartości, mogą być również podatne na ten problem. Dzieje się tak, ponieważ żadna wartość nie jest ustawiana, chyba że zostało wykonane ponowne sprzężenie z usługą Active Directory.
Resolution
Obejście problemu:
Zmień atrybut na wartość inną niż pusta wartość. Bezpieczną opcją jest wybranie wartości domyślnej 31 lub 24, w zależności od wymagań bezpieczeństwa. Odbywa się to za pośrednictwem interfejsu użytkownika lub programu PowerShell.
Listę wartości i obsługiwanych przez nie typów szyfrowania można znaleźć na blogu firmy Microsoft w witrynie sieci Web.
Następujące polecenie (z poprawną nazwą konta komputera i wprowadzoną liczbą całkowitą) może być używane przez administratora usługi Active Directory na kontrolerze domeny zamiast interfejsu użytkownika w celu przypisania wartości do atrybutu.
Set-ADComputer -Identity COMPUTERNAME$ -Add @{'msDS-SupportedEncryptionTypes'="<INTEGER>"}
W poniższym przykładzie ustawiono msDS-SupportedEncryptionTypes do wartości domyślnej 31 dla konta maszyny klastra NINEFIVEOH$:
Set-ADComputer -Identity NINEFIVEOH$ -Add @{'msDS-SupportedEncryptionTypes'="31"}
Po zastosowaniu zmian należy je replikować do wszystkich kontrolerów domeny w środowisku usługi Active Directory. Odświeżenie uwierzytelniania lub docelowe ponowne uruchomienie LSASS w klastrze może być konieczne do usunięcia warunku po.
Inżynierowie firmy Dell opublikowali udoskonalenia kodu w OneFS 9.5.0.3, które rozwiązują ten problem. Administratorzy mogą nadal widzieć niepowodzenie wstępnych kontroli aktualizacji IOCA, jeśli nie mają ustawionej wartości przed aktualizacją. Jeśli administrator ograniczył uprawnienia klastra w usłudze AD do modyfikowania atrybutów, MUSI ręcznie zaktualizować atrybut przed wykonaniem jakichkolwiek działań związanych z uaktualnieniem. Niepowodzenie aktualizacji atrybutu przed aktualizacją, gdy klaster nie ma wystarczających uprawnień, powoduje niedostępność danych.
Uwaga: OneFS 9.5 i nowsze wersje wymagają tego atrybutu
msDS-SupportedEncryptionTypes. Administratorzy z wersjami systemu Windows Server, które nie mają lub nie obsługują tego atrybutu, muszą uaktualnić swoje kontrolery domeny. Nie ma obejścia tego wymogu. Brak kontrolerów domeny w obsługiwanych wersjach systemu Windows Server przed uaktualnieniem OneFS może spowodować niedostępność danych.
Additional Information
Poniżej przedstawiono niektóre zalecane zasoby związane z tym tematem, które mogą Cię zainteresować: