Oddelek za informacijsko varnost si je zastavil nalogo, da razvije najpreprostejši revizijski sistem, in sicer nalaganje statističnih podatkov o računih Active Directory, ustvarjenih v zadnjih 24 urah, ter informacije o tem, kdo je ustvaril te račune v domeni.
Vsebina:
- Powershell skript, da dobite seznam nedavno ustvarjenih uporabnikov v Active Directoryu
- Kako ugotoviti, kdo je ustvaril račun v Active Directoryu
Powershell skript, da dobite seznam nedavno ustvarjenih uporabnikov v Active Directoryu
Za seznam uporabnikov, ustvarjenih v aktivnem imeniku v zadnjih 24 urah, je najlažji način, da uporabite ukazni program PowerShell Get-aduser. Izhod cmdlet bo filtriran po uporabnikovem atributu ko jih ustvarimo, ki shranjuje datum in uro, ko je bil račun ustvarjen. Dobil sem tako preprost skript PowerShell:
$ lastday = ((Datum-datum) .Dnevni dnevi (-1))
$ filename = Datum-datum -Format yyyy.MM.dd
$ exportcsv = "c: \ ps \ new_ad_users_" + ime datoteke + ".csv"
Get-ADUser -filter (ko je ustvarjen -ge $ lastday) | Export-csv -path $ exportcsv
V tem primeru je seznam računov AD shranjen v datoteko s trenutnim datumom kot ime. S pomočjo razporejevalnika lahko konfigurirate dnevni zagon tega skripta, zaradi česar se bodo datoteke, ki vsebujejo podatke o datumu ustvarjanja določenega računa, zbrale v določenem imeniku. V poročilo lahko dodate katere koli druge uporabniške atribute iz aktivnega imenika (glejte članek o uporabi Get-ADUser).
Kako ugotoviti, kdo je ustvaril račun v Active Directoryu
Poleg dejstva o ustvarjanju računa lahko varnostnike zanimajo tudi podatki o imenu določenega uporabnika, ki je ustvaril določen račun v Active Directoryu. Te podatke je mogoče dobiti iz varnostnih dnevnikov krmilnika domene Active Directory..
Ko vnesete novega uporabnika v varnostni dnevnik krmilnika domene (samo to DC, na katerem je bil račun ustvarjen) se prikaže dogodek s kodo EvenId 4720 (DC mora imeti v pravilniku za privzeti nadzornik domene omogočeno politiko upravljanja računov za revizijo).
Opis tega dogodka vsebuje vrstico Izdelan je bil uporabniški račun, nato pa račun, iz katerega je bil ustvarjen nov uporabniški račun AD (poudarjeno na spodnjem posnetku).
Skript za prenos vseh dogodkov ustvarjanja računa iz dnevnika krmilnika domene v zadnjih 24 urah lahko izgleda takole:
$ time = (datum-datum) - (novi čas -ur 24)
$ filename = Datum-datum -Format yyyy.MM.dd
$ exportcsv = "c: \ ps \ ad_users_creators" + ime datoteke $ + ".csv"
Get-WinEvent -FilterHashtable @ LogName = "Varnost"; ID = 4720; StartTime = $ Time | Foreach
$ event = [xml] $ _. ToXml ()
če ($ dogodek)
$ Time = Datum pridobitve $ _. TimeCreate -UFormat "% Y-% m-% d% H:% M:% S"
$ CreatorUser = $ event.Event.EventData.Data [4]. "# Besedilo"
$ NewUser = $ event.Event.EventData.Data [0]. "# Besedilo"
$ dc = $ event.Event.System.com Computer
$ dc + “|” + $ Čas + "|" + $ NewUser + "|" + $ CreatorUser | datoteko $ exportcsv -priloži
Po analogiji s člankom "Enostavni revizijski sistem brisanja datotek in map za Windows Server" lahko konfigurirate informacije o dogodkih, za katere ni mogoče, da so besedilne datoteke v vsakem DC-ju, temveč prek MySQL .NET Connector za PowerShell eno samo bazo podatkov MySQL.