Pokud chceme logovat operace (zaznamenávat události do logu) nad Active Directory Domain Services (AD DS) - prakticky jde o vytváření, měnění či mazání uživatelských a počítačových účtů a skupin, tak využijeme funkci auditování AD DS. Tento audit byl možný již dříve a to obdobným způsobem, ale Windows Server 2008 přináší rozšíření a zpřesnění. Nově můžeme auditovat pouze určitou podkategorii (vylepšené nastavení nabízí Windows Server 2008 R2), u změn se loguje i původní a nová hodnota (ne jen kdo a jaký atribut změnil) a také se změnily ID událostí.
Situace okolo auditování událostí nad AD DS není jednoduchá. Musíme si dobře rozmyslet, co chceme sledovat. Jestli nám jde o podezřelé operace, failed události nebo dohled nad vytvářením a mazáním účtů. Pomocí Directory Service Access (DS Access) a detailního nastavení SACL, můžeme sledovat tisíce údajů (a špatným nastavením si pouze zaplníme log). Hlavní zde tedy je dobře pochopit a nastavit filtrování pomocí SACL.
Navíc použití DS Access není jediná možnost, i když je Microsoftem všude prezentovaná. Máme ještě kategorii Account Management. Tyto události můžeme použít na sledování změn lokálních účtů na stanici, ale stejně tak na doménovém řadiči pro doménové účty. Tato kategorie nám nenabízí tolik možností, ale její nastavení je jednodušší. A někdy doplňuje informace, které získáme z DS Access. Navíc myslím, že řadě lidí může tato kategorie stačit a vůbec nemusí použít pro logování DS Access.
Abychom zapnuli auditování, tak musíme provést několik kroků:
Na DC aplikujeme politiku, která globálně zapíná auditování. Toto nastavení můžeme provést například v Default Domain Controllers Policy.
Od Windows Server 2008 můžeme vybrat subkategorii, kterou chceme auditovat. Není to povinné, pokud nastavíme politiku z předchozího bodu, tak se nám zapnout všechny podkategorie k dané kategorii. Standardně (bez politiky) je na serveru zapnuto pouze auditování Directory Service Access na Success. Jednotlivé podkategorie jsou:
Pokud nemáme Windows Server 2008 R2, tak pro nastavení jednotlivých podkategorií nemůžeme použít Group Policy, ale musí nám stačit řádkový příkaz auditpol.exe. Konfiguraci musíme provádět na jednotlivých doménových řadičích a postupně na všech, kde chceme, aby se uplatnilo.
Můžeme si vypsat jednotlivé podkategorie (všechny nebo z nějaké kategorie)
Auditpol /list /subcategory:*Auditpol /list /subcategory:"DS Access"
Můžeme provést zálohu nastavení
Auditpol /backup /file:C:\auditpolicy.csv
Můžeme zjistit aktuální nastavení (všech hodnot nebo z naší kategorie)
Auditpol /get /category:*Auditpol /get /category:"DS Access"
A pak můžeme měnit nastavení (povolovat nebo zakazovat jednotlivé podkategorie)
Auditpol /set /subcategory:"directory service changes" /success:enableAuditpol /set /subcategory:"Detailed Directory Service Replication" /success:disable /failure:disable
Většinu příkazů musíme spouštět na serveru a konfiguraci provádět na DC. Pokud se o něco pokusíme na stanici nebo ne pod administrátorským oprávněním (Run as administrator), tak dostaneme chybovou hlášku:
Auditpol /get /category:*Error 0x00000522 occurred:A required privilege is not held by the client.
Windows Server 2008 R2 (a Windows 7) byl rozšířen o možnost konfigurovat audtitování na úrovni podkategorií pomocí Group Policy. Tyto politiky se nachází na trochu jiném místě ve skupině Advanced Audit Policy Configuration.
Když nastavíme nějakou hodnotu z Advanced Audit Policy Configuration, tak se automaticky vypnout všechny hodnoty z Local Policies/Audit Policy. Přesto se doporučuje ještě nastavit politiku, která toto zařizuje:
Nastavení oprávnění System Access Control List - SACL, umožňuje logovat přístupy k zabezpečeným objektům, určuje jaká operace a kým provedená se loguje. Dokud nenastavíme SACL odpovídajícím způsobem, tak se nám nebudou vytvářet žádné záznamy!
Zde vidíme již nastavené SACL. Přidání nového:
Jakou operaci a na co aplikovanou (Apply onto) musíme dobře zvážit. Například vytvoření nového objektu (uživatele) musíme sledovat na nadřazeném objektu (tedy asi OU). Změnu nějaké hodnoty musíme sledovat na daném objektu jako write property.
Audit generuje události do Security logu. Následuje seznam událostí v jednotlivých podkategoriích, oficiálně tento seznam naleznete na webu Microsoftu DS Access.
Nastavení auditování kategorie Account Management je mnohem jednodušší. Spočívá pouze v zapnutí auditování dané kategorie. A stejně jako u DS Access to můžeme provést dvěma způsoby:
Auditování povolíme stejně jako u kategorie DC Access, to znamená nejlépe přes Group Policy. Pouze tentokrát vybereme položku Audit account management.
Opět můžeme vybrat pouze některé podkategorie pomocí příkazu příkaz auditpol.exe nebo pomocí politiky Advanced Audit Policy Configuration. Kategorie Account Management obsahuje podkategorie:
Audit generuje události opět do Security logu. Následuje seznam událostí v jednotlivých podkategoriích, oficiálně tento seznam naleznete na webu Microsoftu Account Management.
Pro nalezení záznamů, které nás zajímají, z velkého množství logů v Security logu, můžeme použít filtrování.
Obecně se samozřejmě počítá s tím, že si události posíláme na nějaký server, který je dále zpracovává. Může se jednat o standardní Syslog server (do Windows ale musíme doplnit Syslog klienta, aby se logy odesílaly) nebo třeba Microsoft SCOM (System Center Operations Manager).
Malá ukázka, co se zaloguje, pokud je zapnuto DS Access i Account Management pro události Success i Failed. SACL je nastaveno na celou doménu pro uživatele Everyone přístup Create/Delete User objects. Zajímavé je, že není zalogována událost 5141.
Vytvoření uživatele
12:46:10 4662 An operation was performed on an object. / Object Access Create Child 12:46:10 4720 A user account was created. 12:46:10 4724 An attempt was made to reset an account's password. 12:46:10 4738 A user account was changed. 12:46:10 4722 A user account was enabled. 12:46:19 5137 A directory service object was created.
Smazání uživatele
13:01:52 4726 A user account was deleted.
- Petr Bouška