Dell Unity: In een omgeving met meerdere protocollen met LDAP mislukt gedeelde toegang van Windows-clients omdat de toewijzingsgebruiker niet kan worden gecorrigeerd
Summary: In dit artikel worden de stappen uitgelegd voor het scheiden en oplossen van het probleem van onjuiste toewijzing bij het gebruik van LDAP waarbij de gebruikte versleutelingsmethode invloed heeft op LDAP-toewijzing. ...
Symptoms
Unity LDAP is correct geconfigureerd, maar gebruikers zijn niet toegewezen.
Als u de LDAP Search-opdracht gebruikt om naar gebruikers te zoeken op de LDAP-server, worden ze correct weergegeven.
Opdracht:
ldapsearch -h <ldapserver ip> -D "<BindDN>" -w <Password> -b "<BaseDN>" -s <scope(base,one,sub)> "cn=<username>"
Voorbeeld van een geslaagde opdracht:
--------------------- root@solaris11:~# ldapsearch -h 5.6.7.xxx -D "cn=admin,dc=peeps,dc=lab" -w Password123# -b "ou=people,dc=peeps,dc=lab" -s sub "cn=user1" version: 1 dn: uid=user1,ou=People,dc=peeps,dc=lab uid: user1 uidNumber: 1 gidNumber: 1 cn: user1 sn: user1 objectClass: top objectClass: person objectClass: posixAccount objectClass: shadowAccount loginShell: /bin/bash homeDirectory: /home/user1 You have new mail in /var/mail/root ---------------------
Als u echter met de SVC NAS-opdracht naar gebruikers zoekt, mislukt dit met het volgende bericht:
Opdracht:
svc_nas <server name> -ldap -lookup -user <user name>
Voorbeeld van een mislukte opdracht:
--------------------- service@********* spb:~/user# svc_nas nas_multi -ldap -lookup -user user2 nas_multi : commands processed: 1 command(s) succeeded output is complete 1659693343: LDAP: 6: LdapService::connect: Connection to Ldap server ***.***.***.*** SUCCEEDED IP[0/1]=***.***.***.*** port=389 1659693343: LDAP: 3: User user2t: User name + password + uid + gid are too large to fit into buffer. 1659693343: LDAP: 6: Unable to get information for user user2 --------------------- ---------------------
Bovendien bevat de mislukte gebruikersnaam mogelijk onnodige tekens na de gebruikersnaam.
Voorbeeld van een geslaagde opdracht:
--------------------- service@********* spb:~/user# svc_nas nas_multi -ldap -lookup -user user1 nas_multi : commands processed: 1 command(s) succeeded output is complete 1659694219: LDAP: 6: user: user1, uid: 12333, gid: 12333, homeDir: /home/user1 Command succeeded --------------------- ---------------------
Cause
Unity ondersteunt "PBKDF2_SHA256", maar er is een beperking, de som van [gebruikersnaam + wachtwoord + uid + gid] moet binnen 452 bytes zijn.
Als bij PBKDF2_SHA256 versleuteling veel bytes worden gebruikt voor het wachtwoord, kan de limiet van 452 bytes worden overschreden wanneer uidNumber, gidNumber en uid worden toegevoegd aan het totaal.
Het overschrijden van de limiet van 452 bytes zorgt ervoor dat gedeelde toegang van Windows-clients mislukt vanwege geen toewijzing in een LDAP-omgeving met meerdere protocollen.
Als het klantwachtwoord bijvoorbeeld 447 bytes gebruikt, is het resterende aantal bytes dat moet worden gebruikt voor uidNumber, gidNumber en uid slechts 5 bytes.
Voorbeeld dat past in de limiet van 452 Bytes:
userPassword= 404 Byte
uidNumber = 16 Byte
gidNumber = 16 Byte
uid = 16 Byte
Total = 452 Byte
Resolution
Overweeg een ander versleutelingsschema dan PBKDF2_SHA256 te gebruiken, bijvoorbeeld SSHA-512.
LDAP-versleutelingsschema's die worden ondersteund door Unity:
Vanaf augustus 2022 zijn de volgende ciphers beschikbaar in OE 5.2:
SHA, SHA-256, SHA-384, SHA-512, SSHA, SSHA-256, SSHA-384, SSHA-512, MD5, SMD5, PKCS5S2, CRYPT, CRYPT-MD5, CRYPT-SHA-256, CRYPT-SHA-512, PBKDF2_SHA256**
**Bij gebruik van PBKDF2_SHA256 is de som van [gebruikersnaam + wachtwoord + uid + gid] beperkt tot 452 bytes.