Audit dei servizi Windows
Un audit non è un elenco di ciò che c'è sulla macchina. È la differenza tra ciò che c'è sulla macchina e ciò che doveva esserci - e nessun Windows di serie registra la seconda metà.
Tre domande, e cosa vi risponde
Cosa è cambiato da quando questa macchina è stata costruita?
Uno snapshot preso alla distribuzione e un confronto con la macchina stanotte. La configurazione è segnalata a parte rispetto a ciò che si è semplicemente avviato o fermato, così l'unico tipo di avvio che qualcuno ha cambiato non è sepolto sotto quaranta servizi che capita siano in esecuzione.
bws snapshot diff baseline.json --live
Perché lo staging differisce dalla produzione?
Prenda uno snapshot su ciascuna e confronti i due file - ovunque, senza che nessuna delle due macchine sia presente. I file portano il nome della macchina e l'account che li ha presi.
bws snapshot diff staging.json production.json
Cosa c'è qui che non dovrebbe esserci?
Query che trovano le forme che vale la pena guardare: un servizio il cui eseguibile è sparito, uno non firmato, uno in esecuzione benché disabilitato, uno che chiede diritti di debug.
file:missing, signed:no, mismatch:running
La forma notturna
# il giorno in cui la macchina entra in servizio
bws snapshot create C:\baselines\web01.json --note "after the build"
# ogni notte, da un'attività pianificata
bws snapshot diff C:\baselines\web01.json --live --exit-code --json > C:\logs\drift.json
# 0 - nessuna deriva di configurazione
# 5 - la configurazione è andata alla deriva, e drift.json dice come
# 3 - è girato e non ha potuto leggere tutto, quindi la risposta è parziale
Il codice di uscita 5 è ciò che fa di questo un audit invece di un rapporto che nessuno legge: l'attività tace finché la macchina non va alla deriva, e la notte in cui lo fa, qualcuno viene avvisato.
Prenda la base di riferimento da una sessione con privilegi elevati. Senza diritti di amministratore il gestore elenca meno voci e rifiuta di più tra quelle che elenca. Lo snapshot registra se l'account che lo ha preso era un amministratore, così il confronto può dirlo invece di segnalare come rimosse voci che nessuno ha rimosso - ma una base di riferimento a cui manca metà della macchina resta una base di riferimento a cui manca metà della macchina.
Quanto vale uno snapshot come prova
- È JSON con un campo per riga, quindi entra in un repository e
git difflo legge. Un revisore che non ha questo strumento può comunque leggere il file, e un sistema di controllo di versione risponde già al quando. - Contiene ciò che lo snap-in non ha mai mostrato: il percorso di avvio e gli argomenti, l'hash e il firmatario del file, le dipendenze in entrambe le direzioni, i trigger, i privilegi richiesti, il tipo di SID e il descrittore di sicurezza.
- Dice ciò che non ha potuto leggere. Un campo su cui questa sessione non aveva diritti viene registrato come non letto - mai come vuoto - così un confronto successivo può dire not compared invece di chiamarlo in silenzio invariato.
- È una descrizione dell'intera macchina. Lo archivi di conseguenza: viene scritto con i permessi che la sua cartella ha già, e lo strumento non restringe nulla.