AdminSDholder, SDProp si “Protected Groups”


Active-Directory-logo

AdminSDholder, SDProp si “Protected Groups”

De cele mai multe ori ne lovim sau aflam de AdminSDHolder atunci cand permisiunile delegate unui obiect dispar.

Cateva exemple care ne atrag atentia in acest sens ar fi pierderea delegarilor facute in Active Direcctory, device-uri BlackBerry/ActiveSync care nu se sincronizeaza cu serverele de Exchange, sau permisiuni insuficiente in administrarea serverelor de Lync. Posibil sa fie si alte scenarii acestea sunt doar cateva.

Ce este AdminSDHolder?

Un mecanism de protectie al permisiunilor membrilor unor grupuri ‘administrative’.

Pe scurt, fiecare domeniu din forest are un obiect AdminSDHolder care se gaseste in containerul System.

adminSDHolder

Acesta tine permisiunile default pentru anumite grupuri protejate. Grupurile protejate difera in functie de vesiunea de Windows Server dar se poate ‘edita’ lista de grupuri ‘Protected Groups’.

Acestea sunt grupurile protejate implicite per versiune de server:

Windows 2000 Server RTM Windows 2000 Server with SP1 Windows 2000 Server with SP2 Windows 2000 Server with SP3 Windows 2000 Server with SP4 Windows Server 2003 RTM Windows Server 2003 with SP1 Windows Server 2003 with SP2 Windows Server 2008 RTM Windows Server 2008 R2
Administrators Account Operators Account Operators Account Operators
Domain Admins Administrator Administrator Administrator
Enterprise Admins Administrators Administrators Administrators
Schema Admins Backup Operators Backup Operators Backup Operators
Cert Publishers Domain Admins Domain Admins
Domain Admins Domain Controllers Domain Controllers
Domain Controllers Enterprise Admins Enterprise Admins
Enterprise Admins Krbtgt Krbtgt
Krbtgt Print Operators Print Operators
Print Operators Replicator Read-only Domain Controllers
Replicator Schema Admins Replicator
Schema Admins Server Operators Schema Admins
Server Operators Server Operators

Cum functioneaza AdminSDHolder?

Pe domain controller-ul ce tine rolul de PDC emulator ruleaza by default la un interval de 60 de minute un proces numit SDPprop (Security Descriptor Propagator) ce compara permisiunile ACL pentru membrii grupurilor protejate cu acelea de pe AdminSDHolder. (Acest process se poate initializa si manual, vezi aici.)

Se mai poate modifica intervalul folosind urmatoarea cheie pana la max 2 ore dar nu este recomandat datorita overheadului generat de procesul LSASS.

REG ADD HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters /V AdminSDProtectFrequency /T REG_DWORD /F /D 600

Microsoft recomanda ca ‘best practice’ sa avem un set de 2 conturi in Active Directory. Un cont obisnuit pentru rutinele de zi cu zi si un alt cont cu drepturi administrative pe care s ail folosim atunci cand trebuie sa efectuam operatiuni cu drepturi elevate. Nu intotdeauna se respecta aceasta situatie.

De exemplu, daca un user cu drepturi normale (cu casuta de email, device mobil cu activesync) face parte din unul din grupurile de mai sus, poate a fost adaugat in Print Operators sa administreze cine stie ce print server, la un moment dat acel user se poate trezi ca nu se mai sincronizeaza device-ul mobil cu activesync sau daca avea ceva delegari mai speciale acestea nu mai sunt in efect.

Deasemenea, daca face parte dintr-un grup de securitate sau distributie. Asa ca group nesting este valabil in acest caz.

Daca se prezinta astfel de simptome, primele lucruri care trebuiesc verificate sunt urmatoarele:

AdminSDHolder2

  1. Lipseste bifa pentru ACL inheritance.

AdminSDHolder4

  1. Valoarea atributului adminCount este 1.

Daca valoarea este 1 sau >1, atunci acest obiect face parte din unul din acele grupuri protejate sau a fost membru. Daca acel user a facut parte din unul din grupuri dar a fost scos ulterior, atunci valoarea atributului ramane neschimbata. By default valoarea este <not set>. Atata timp cat valoarea este 1 inheritancce-ul de ACL-uri va ramane neselectat. Pentru fiecare user trebuie modificat acest atribut, fie la <not set>, fie 0. Daca punem 0 putem sa avem un istoric cu obiectele afectate.

Cum o rezolvam?

  1. Pentru test, putem pune bifa manual de “Inherit permissions” doar ca sa vedem daca problemele se rezolva in acest mod. Tineti cont ca dupa acel interval de timp inheritance-ul va fi din nou scos de SDProp.
  2. RECOMANDAT – Folositi 2 conturi asa cum se recomanda si de catre Microsoft, si scoate-ti conturile din grupurile respective.
  3. Modificati lista de Protected Groups.

Acest lucru se face modificand flagul dsHeuristics; Ca sa ajungeti acolo deschideti ADSIEDIT, deschideti naming contextual de Configuration, apoi mergeti la Services, WindowsNT, Directory Service.

AdminSDHolder3

Acest flag accepta valori hexazecimal. De exemplu:

Bit

Grupuri Excluse

Valoare in binar

Valoare in   hexazecimal

0

Account Operators

0001

1

1

Server Operators

0010

2

2

Print Operators

0100

4

3

Backup Operators

1000

8

Lucrurile se complica in cazul in care vrem sa excludem mai multe grupuri. In acest caz se aduna valoare lor in binar si se transforma apoi in hexazecimal.

Grupuri   Excluse

Valoare   in binar

Valoare   in hexazecimal

None   (Default)

0000

0

Account   Operators

0001

1

Server   Operators

0010

2

Account   Operators Server Operators

0001   + 0010 = 0011

3

Print   Operators

0100

4

Account   Operators Print Operators

0001   + 0100 = 0101

5

Server   Operators Print Operators

0010   + 0100 = 0110

6

Account   Operators Server Operators Print Operators

0001   + 0010 + 0100 = 0111

7

Backup   Operators

1000

8

Account   Operators Backup Operators

0001   + 1000 = 1001

9

Server   Operators Backup Operators

0010   + 1000 = 1010

a

Account   Operators Server Operators Backup Operators

0001   + 0010 + 1000 = 1011

b

Print   Operators Backup Operators

0100   + 1000 = 1100

c

Account   Operators Print Operators Backup Operators

0001   + 0100 + 1000 = 1101

d

Server   Operators Print Operators Backup Operators

0010   + 0100 + 1000 = 1110

e

Account   Operators Server Operators Print Operators Backup Operators

0001   + 0010 + 0100 + 1000 = 1111

f

Alte linkuri utile:

  1. Description and Update of the Active Directory AdminSDHolder Object
  2. Manually initializing the SD propagator thread to evaluate inherited permissions for objects in Active Directory
  3. AdminSDHolder Thread Affects Transitive Members of Distribution Groups
  4. Exchange 2010 and Resolution of the AdminSDHolder Elevation Issue

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s