Audit Collection Services: korelace událostí Logon / Logoff

Jednoduchá úloha: k události zaznamenávající přihlášení uživatele najít odpovídající událost odhlášení a zjistit, jakým způsobem identifikovat události uživatele po dobu, kdy byl přihlášen. Průzkum možností existujících záznamů událostí v prostředí serverů Windows 2008 a podobné příklady pro Windows 2003 (viz Audit Collection Services Deep-Drive – Part 2) vedly k následujícímu. Na uvedené adrese jsem nalezl jednoduchý příklad pro relaci přihlášení ze sítě terminálem RDP, typ přihlášení 10:

SELECT
'RDP' AS LogonType,
Logon.CreationTime AS LogOnTime,
LogOff.CreationTime AS LogOffTime,
Logon.String04 AS Computer,
Logon.String02 AS IP,
Logon.PrimaryDomain AS LogonDomain,
Logon.PrimaryUser AS LogonUser
FROM
(SELECT * FROM AdtServer.dvAll WHERE EventId=528) AS Logon LEFT OUTER JOIN
(SELECT * FROM AdtServer.dvAll WHERE EventId=538) AS LogOff ON
Logon.PrimaryLogonId = LogOff.ClientLogonId
WHERE
Logon.String01 = '10'
ORDER BY LogOnTime

Odpovídající události na serveru Windows 2008 jsou 4624 a 4634, a místo dvojice PrimaryLogonID = ClientLogonID použijeme String01. Také cílový počítač, informace o adrese IP a typ přihlášení jsou uvedené v jiných sloupcích tabulky v databázi. Uživatel je uveden v poli TargetUser:

SELECT
'RDP' AS LogonType,
Logon.CreationTime AS LogOnTime,
LogOff.CreationTime AS LogOffTime,
Logon.String05 AS Computer,
Logon.String03 AS IP,
Logon.PrimaryDomain AS LogonDomain,
Logon.TargetUser AS LogonUser
FROM
(SELECT * FROM AdtServer.dvAll5 WHERE EventId=4624) AS Logon LEFT OUTER JOIN
(SELECT * FROM AdtServer.dvAll5 WHERE EventId=4634) AS LogOff ON
Logon.String01 = LogOff.String01
WHERE
Logon.String02 = '10'
ORDER BY LogOnTime

korelace

Sloupec Computer označuje cílový počítač, IP je adresa, odkud došlo k přihlášení uživatele – Logon User. Pokud budeme chtít vyhledat další události vázané na stejné LogonID, budeme hledat shodu mezi zjištěným LogonID v poli String01 události 4624 a LogonID u dalších událostí. Bude to vyžadovat pátrání, protože LogonID se vyskytuje ve Windows 2008 u 163 událostí v různých parametrech. Pokud je při transformaci v databázi ACS (OperationManagersAC) LogonID zaznamenáno v poli PrimaryLogonID, je zde uvedeno v desítkovém tvaru. V poli String01 je však v šestnáctkovém, takže je musíme pro porovnání převést na shodný základ. Pro třetí řádku z předchozího výpisu jde o LoginID = 0x332321, v desítkovém zápisu ‚3351329‚. Toto číslo tedy hledáme v záznamech událostí v poli PrimaryLogonId:

SELECT EventId, Category, CreationTime, PrimaryUser as UserName, PrimaryDomain as Domain, PrimaryLogonId,String01, String02
FROM AdtServer.dvAll
WHERE PrimaryLogonId = '3351329'

nextEvents

Vybrané události skutečně následují časově po přihlášení uvedeném v předchozím výpisu na třetím řádku.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *