Zpět na domů

ACL v Active Directory: typy ACE a control rights

Článek rozebírá 22 typů ACE v Active Directory, jejich seskupení, fungování ACCESS_MASK a control access rights. Vysvětluje absenci GENERIC-práv, dědičnost a omezení AllExtendedRights pro RBCD.

Hloubková analýza ACL a ACE v Active Directory
Advertisement 728x90

# Hloubková analýza ACL v Active Directory: typy ACE, ACCESS_MASK a control access rights

Active Directory používá 22 typů ACE, seskupených do 4 kategorií pro správu přístupu. První typ zahrnuje ACCESS_ALLOWED_ACE_TYPE, ACCESS_DENIED_ACE_TYPE, SYSTEM_AUDIT_ACE_TYPE, SYSTEM_MANDATORY_LABEL_ACE_TYPE a SYSTEM_SCOPED_POLICY_ID_ACE_TYPE. Tyto ACE operují s ACCESS_MASK a SID subjektu, aplikují se na základní povolení a zákazy.

Druhý typ — ACCESS_ALLOWED_OBJECT_ACE_TYPE a ACCESS_DENIED_OBJECT_ACE_TYPE — rozšiřuje možnosti. Podporuje ACCESS_MASK, GUID rozšířených práv a dědičnost pro podřízené objekty. Tento typ dominuje v AD díky své flexibilitě.

Třetí typ (ACCESS_ALLOWED_CALLBACK_ACE_TYPE, ACCESS_DENIED_CALLBACK_ACE_TYPE, SYSTEM_AUDIT_CALLBACK_ACE_TYPE, SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE) přidává podmínkové výrazy k ACCESS_MASK a SID. Logická pravidla hodnotí access token, například omezují přístup podle device claims.

Google AdInline article slot

Čtvrtý typ kombinuje objektové ACE s podmínkovými výrazy: ACCESS_ALLOWED_CALLBACK_OBJECT_ACE, ACCESS_DENIED_CALLBACK_OBJECT_ACE, SYSTEM_AUDIT_CALLBACK_OBJECT_ACE, SYSTEM_AUDIT_OBJECT_ACE_TYPE. Nicméně podmínkové výrazy jsou zde ignorovány mechanismy kontroly.

Absence GENERIC-práv v security descriptor

ACCESS_MASK je 32bitové pole, kde bity určují práva. Standardní popisy zahrnují GENERIC_READ, GENERIC_WRITE, GENERIC_ALL, ale v security descriptor jsou tyto bity zakázané. Jejich nastavení vede k nepředvídatelným výsledkům a jsou ignorovány v algoritmu autorizace.

GENERIC-bity jsou relevantní při kontrole přístupu prostřednictvím AccessCheckByTypeResultListAndAuditAlarmByHandle s GenericMapping. Tento parametr mapuje GENERIC na object-specific rights. Pro AD jsou mapování definována zvlášť a liší se od souborového systému nebo služeb.

Google AdInline article slot

Při vytváření ACE jsou GENERIC-bity blokovány. Ve skutečnosti je 'GENERIC_ALL' kombinací object-specific bits podle standardního mapování AD.

Vlajky ACCESS_MASK a control access rights

Klíčové vlajky:

  • RIGHT_DS_CREATE_CHILD / RIGHT_DS_DELETE_CHILD: objectGUID — schemaID podřízeného typu (např. computer v OU=Computers). Bez GUID — všechny typy.
  • RIGHT_DS_LIST_CONTENTS: čtení podřízených, objectGUID je ignorováno.
  • RIGHT_DS_WRITE_PROPERTY_EXTENDED: objectGUID pro validated writes, ale kontrola podle názvu atributu.
  • RIGHT_DS_READ_PROPERTY / RIGHT_DS_WRITE_PROPERTY: objectGUID — property set nebo schemaID. Bez GUID — všechny vlastnosti.
  • RIGHT_DS_DELETE_TREE: odstranění stromu objektů.
  • RIGHT_DS_LIST_OBJECT: viditelnost objektu v režimu List Object (dSHeuristics).
  • RIGHT_DS_CONTROL_ACCESS: objectGUID — extended rights. Bez GUID — všechny.

Control access rights: extended rights, validated writes, property sets

Control access rights se dělí na:

Google AdInline article slot
  • Extended Rights — práva na akce (synchronizace domény).
  • Validated Writes — modifikace konkrétních atributů s kontrolou.
  • Property Sets — přístup k skupinám atributů pro kompaktnost ACL.

AllExtendedRights na computer nedává právo zápisu do msDS-AllowedToActOnBehalfOfOtherIdentity (RBCD). Jedná se o validated write z property set User-Account-Restrictions (GUID=4c164200-20c0-11d0-a768-00aa006e0529). Vyžadují se samostatná WRITE_PROPERTY nebo práva na property set.

Dědičnost ACE v hierarchii AD

ACE s vlajkami OBJECT_INHERIT_ACE, CONTAINER_INHERIT_ACE, NO_PROPAGATE_INHERIT_ACE, INHERIT_ONLY_ACE, INHERITED_ACE se kopírují na podřízené. Jednoduché typy se dědí na libovolné kontejnery. Objektové ACE (s GUID) jsou omezeny InheritedObjectType.

Co je důležité

  • 22 typů ACE se seskupuje do 4 druhů: základní, objektové, callback, objektové callback.
  • GENERIC-* bity se neukládají v SD, slouží pouze k mapování při kontrole.
  • Control access rights — extended rights (akce), validated writes (atributy), property sets (skupiny).
  • RBCD vyžaduje práva na validated write, není pokryto AllExtendedRights.
  • Dědičnost ACE řídí vlajky a InheritedObjectType pro přesnou kontrolu.

— Editorial Team

Advertisement 728x90

Číst dál