Audit služeb Windows
Audit není seznam toho, co na stroji je. Je to rozdíl mezi tím, co na stroji je, a tím, co tam mělo být - a druhou polovinu na čisté instalaci Windows nezaznamenává nic.
Tři otázky a co na ně odpovídá
Co se změnilo od sestavení tohoto stroje?
Snímek pořízený při nasazení a porovnání se strojem dnes večer. Konfigurace se hlásí odděleně od toho, co se jen spustilo nebo zastavilo, takže jeden změněný typ spouštění nezapadne mezi čtyřiceti službami, které náhodou běží.
bws snapshot diff baseline.json --live
Proč se testovací prostředí liší od produkčního?
Pořiďte na každém snímek a porovnejte oba soubory - kdekoli, bez přítomnosti kteréhokoli stroje. Soubory nesou název stroje a účet, který je pořídil.
bws snapshot diff staging.json production.json
Co tu je, co by tu být nemělo?
Dotazy, které najdou tvary, na které stojí za to se podívat: služba, jejíž spustitelný soubor je pryč, nepodepsaná, běžící přesto, že je zakázána, nebo žádající o práva ladění.
file:missing, signed:no, mismatch:running
Noční tvar
# den, kdy stroj jde do provozu
bws snapshot create C:\baselines\web01.json --note "after the build"
# každou noc z naplánované úlohy
bws snapshot diff C:\baselines\web01.json --live --exit-code --json > C:\logs\drift.json
# 0 - žádný drift konfigurace
# 5 - konfigurace se odchýlila a drift.json říká co
# 3 - proběhlo to a nešlo přečíst všechno, takže odpověď je částečná
Návratový kód 5 je to, co z toho dělá audit, a ne zprávu, kterou nikdo nečte: úloha mlčí, dokud se stroj neodchýlí, a v noci, kdy se to stane, je někdo upozorněn.
Výchozí stav pořizujte ze sezení se zvýšenými oprávněními. Bez práv správce správce vypisuje méně položek a víc z vypsaných odmítá. Snímek zaznamenává, zda účet, který ho pořídil, byl správce, takže porovnání to může říct, místo aby hlásilo jako odstraněné položky, které nikdo neodstranil - ale výchozí stav, kterému chybí půlka stroje, je pořád výchozí stav, kterému chybí půlka stroje.
Co snímek stojí jako důkaz
- Je to JSON s jedním polem na řádek, takže patří do repozitáře a
git diffho čte. Auditor, který tento nástroj nemá, může soubor přesto přečíst, a systém správy verzí už odpovídá na otázku kdy. - Obsahuje to, co snap-in nikdy neukázal: cestu ke spuštění a argumenty, hash a podepisovatele souboru, závislosti oběma směry, triggery, požadovaná privilegia, typ SID a popisovač zabezpečení.
- Říká, co nešlo přečíst. Pole, na které tato relace neměla práva, se zaznamená jako nepřečtené - nikdy jako prázdné - takže pozdější porovnání může říct not compared, místo aby ho tiše označilo za nezměněné.
- Je to popis celého stroje. Ukládejte ho podle toho: zapisuje se s oprávněními, která jeho adresář už má, a nástroj nic nezužuje.