Auditování AD DS objektů ve Windows Server 2008

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.

Auditování kategorie DS Access

Abychom zapnuli auditování, tak musíme provést několik kroků:

  1. zapneme auditování - máme dvě možnosti

    • globálně pomocí auditovací politiky

    • pro jednotlivé podkategorie – podpora od Windows Server 2008, opět dvě možnosti

      • pomocí příkazu auditpol.exe

      • pomocí nové rozšířené auditovací politiky – podpora od Windows Server 2008 R2

  2. vybereme detailně, jaké operace pro jaké objekty chceme sledovat – pomocí SACL

  3. (volitelně) nastavíme výjimky pro atributy – úpravou AD schema – provede se nastavením atributu searchFlags na hodnotu 256 u objektu, který nechceme logovat, této oblasti se zde nebudeme věnovat

Globální zapnutí auditování

Na DC aplikujeme politiku, která globálně zapíná auditování. Toto nastavení můžeme provést například v Default Domain Controllers Policy.

audit01

Zapnutí auditování pro podkategorie

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:

Nastavení pomocí auditpol.exe

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:enable
Auditpol /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.

audit02

Nastavení pomocí Group Policy

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.

audit03

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:

Určení, jaké objekty chceme sledovat - SACL

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!

audit04

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.

Události z kategorie DS Access a jejich ID

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.

Audit Directory Service Changes
Audit Directory Service Access
Audit Directory Service Replication
Audit Detailed Directory Service Replication

Auditování kategorie Account Management

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:

Globální zapnutí auditování

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.

Zapnutí auditování pro podkategorie

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:

Události z kategorie Account Management a jejich ID

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.

Audit User Account Management
Audit Computer Account Management
Audit Application Group Management
Audit Distribution Group Management
Audit Other Account Management Events
Audit Security Group Management

Zprávy v Event Logu

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).

Příklad zpráv

Malá ukázka, co se zaloguje, pokud je zapnuto DS Access i Account Management pro události Success i FailedSACL 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.