Quantcast
Channel: W2K.PL » Usługi katalogowe
Viewing all articles
Browse latest Browse all 10

O grupach w tokenach

$
0
0

Intensywny sezon prezentacji zakończony i czas na wakacje, czyli można wrócić do pisania bloga. Do prezentacji nawiązując jeszcze tylko krótko … mam nadzieję, że się podobały i były przydatne. Komentarze, uwagi, sugestie, co do zmian mile widziane na e-mail.

Nexor na W-Files ostatnio próbował zgryźć problem uzyskania informacji o przynależności konta komputera do grup Active Directory. Nie wprost, ale wywołał mnie do tablicy i w komentarzach chwilę w temacie powymienialiśmy się uwagami. Myślałem, że podsunięte mu rozwiązanie już opisałem tutaj, ale szybkie wyszukanie w sieci pokazało mi, że pamięć już nie ta. Na pewno mówiłem o tym na spotkaniu Warszawskiej Grupy .NET, ale czas opowiedzieć o tym i na blogu.

Constructed attributes

Na początek o atrybutach dynamicznie konstruowanych – czyli constructed attributes. Usługa katalogowa Active Directory nie jedno potrafi, między innymi potrafi budować wartość szczególnych atrybutów w przypadku, gdy użytkownik o nie poprosi. Atrybuty tego typu nie są widoczne na obiekcie, gdy na przykład przeglądamy jego zawartość przy pomocy narzędzi takich jak LDP.EXE, ADSIEdit czy właściwości obiektu w konsoli ADU&C. Wystarczy jednak zapytać o nie katalog i voile, wyskakują jak diabeł z pudełka.


(cc) Swansea Photographer

Pierwszym z brzegu przykładem tego typu atrybutu są wszystkie atrybuty typu back link, czyli stanowiące odwzorowanie połączeń pomiędzy atrybutami w ramach par atrybutów połączonych. Spójrzmy chociażby na atrybut memberOf użytkownika. Jeżeli zajrzymy do właściwości użytkownika używając edytora atrybutów z Windows 2008 R2 nie zobaczymy go:

Wystarczy jednak, że zapytamy się wprost o taki atrybut używając adfind.exe:

C:\ >adfind -b CN=tom.tom,ou=Accounting,DC=w2k,DC=pl -s base memberOF

AdFind V01.42.00cpp Joe Richards (joe@joeware.net) April 2010

Using server: FIMDC01.w2k.pl:389
Directory: Windows Server 2008 R2

dn:CN=tom.tom,ou=Accounting,DC=w2k,DC=pl
>memberOf: CN=Ksiegowosc,OU=FIMGroups,DC=w2k,DC=pl

1 Objects returned

I otrzymujemy odpowiedź. Cała magia realizowana jest przez usługę katalogową, która na nasze żądanie wyliczyło wartość tego atrybutu.
Atrybutów takich jest więcej i mogą one występować w jednym z trzech przypadków:

  1. Jeżeli atrybut jest oznaczony w schemacie poprzez ustawienie flagi ATTR_IS_CONSTRUCTED w ramach systemFlags
  2. Jeżeli atrybut jest atrybutem typu back link (jak pokazano powyżej)
  3. Jeżeli atrybut jest atrybutem obiektu rootDSE.

Lista atrybutów konstruowanych dostępna jest na MSDN jak i całość opis usługi katalogowej dla zainteresowanych.

tokenGroups

I tak dochodzimy do sedna wymiany komentarzy z Nexorem. Jednym z atrybutów konstruowanych na żądanie przez system jest tokenGroups. Oficjalny opis poniżej:

These two computed attributes return the set of SIDs from a transitive group membership expansion operation on a given object

Czyli pytając katalog o atrybut tokenGroups dowolnego obiektu, będącego podmiotem zabezpieczeń otrzymamy listę SIDów grup, do których ten obiekt należy i które będą znajdowały się w jego tokenie zabezpieczeń po zalogowaniu.
Ponieważ obiekt komputera jest takim samym obiektem zabezpieczeń jak obiekt użytkownika i również loguje się w usłudze katalogowej, to możemy w ten sposób uzyskać informację o członkostwie w grupach danego obiektu komputera.

Spróbujmy używając ADFIND.EXE:

C:\ >adfind -b CN=STS,CN=Computers,DC=w2k,DC=pl -s base tokenGroups
AdFind V01.42.00cpp Joe Richards (joe@joeware.net) April 2010

Using server: FIMDC01.w2k.pl:389
Directory: Windows Server 2008 R2

dn:CN=STS,CN=Computers,DC=w2k,DC=pl
>tokenGroups: S-1-5-21-2045789631-2668715847-4178987103-1162
>tokenGroups: S-1-5-21-2045789631-2668715847-4178987103-515

Jak widać uzyskaliśmy listę SID dla grup, do których należy obiekt komputera. Jak zamienić SID na coś bardziej czytelnego? Może po prostu użyć ADFIND .EXE ponownie używając SID jako argumentu:

C:\ >adfind -b dc=w2k,dc=pl -s subtree -f “(&(objectSid=S-1-5-21-2045789631-2668715847-4178987103-1162))” name

AdFind V01.42.00cpp Joe Richards (joe@joeware.net) April 2010

Using server: FIMDC01.w2k.pl:389
Directory: Windows Server 2008 R2

dn:CN=ADFS Servers,OU=FIMGroups,DC=w2k,DC=pl
>name: ADFS Servers

1 Objects returned

To miłego analizowania członkostwa w grupach …


Viewing all articles
Browse latest Browse all 10

Trending Articles


TRX Antek AVT - 2310 ver 2,0


Автовишка HAULOTTE HA 16 SPX


POTANIACZ


Zrób Sam - rocznik 1985 [PDF] [PL]


Maxgear opinie


BMW E61 2.5d błąd 43E2 - klapa gasząca a DPF


Eveline ➤ Matowe pomadki Velvet Matt Lipstick 500, 506, 5007


Auta / Cars (2006) PLDUB.BRRip.480p.XviD.AC3-LTN / DUBBING PL


Peugeot 508 problem z elektroniką


AŚ Jelenia Góra