Il Microsoft Security Compliance Toolkit (SCT) è un set di strumenti e modelli scaricabile gratuitamente dal sito Microsoft che consente agli amministratori della sicurezza di scaricare, analizzare, testare, modificare e archiviare le baseline di configurazione della sicurezza consigliate dalla stessa “casa madre” per Windows e altri prodotti Microsoft, confrontandole con altre configurazioni di sicurezza.
Uno strumento molto utile, dunque, soprattutto in considerazione del fatto che le esigenze di sicurezza informatica sono oggi il top degli argomenti che “affliggono” gli addetti ai lavori e le verifiche che gli ambienti siano configurati in modo sicuro, rispetto alle policy di riferimento, rappresentano un nodo essenziale da affrontare per proteggere i propri dati e sistemi.
Per eseguire queste verifiche di conformità delle impostazioni di sicurezza sono necessari sia degli strumenti che fanno parte della categoria definita “hardening tool” sia delle baseline di riferimento.
L’utilizzo di baseline come quelle del Microsoft Security Compliance Toolkit (SCT) garantisce agli amministratori di sistema che un certo livello di sicurezza sia mantenuto nelle infrastrutture che gestiscono e le verifiche periodiche assicurano che la crescita/evoluzione degli ambienti avvenga con impostazioni di sicurezza omogenee e allineate.
Proprio in questi giorni (4 settembre 2020), inoltre, il team di sicurezza di Microsoft ha rilasciato due nuovi aggiornamenti e due nuovi strumenti per coloro che gestiscono le baseline della sicurezza per i propri sistemi tramite il Security Compliance Toolkit.
Indice degli argomenti
Cos’è il Microsoft Security Compliance Toolkit (SCT)
Con questo toolkit, Microsoft ha inteso fornire in primis configurazioni e indicazioni prescrittive di sicurezza che le organizzazioni possono applicare alle proprie infrastrutture.
In Windows il metodo per la distribuzione di queste baseline è tramite Active Directory utilizzando oggetti Criteri di gruppo (GPO – Group Policy Objects) o individualmente tramite Criteri Locali.
Anche gli ambienti più semplici talvolta fanno riferimento a decine di GPO applicate a diversi livelli e molto tempo viene speso nell’individuazione delle ridondanze tra i criteri o per sanare i conflitti tra le impostazioni.
Con il Microsoft Security Compliance Toolkit (SCT) gli amministratori della sicurezza aziendale possono gestire in modo efficace le GPO della propria infrastruttura confrontando le configurazioni in uso con le baseline GPO consigliate da Microsoft o altre baseline di terze parti con la possibilità di modificarle, archiviarle nel formato di file di backup GPO per poi applicarle attraverso un Domain Controller Windows Server o semplicemente testarle localmente su un host per verificarne gli effetti.
Il Microsoft Security Compliance Toolkit (SCT) viene regolarmente aggiornato da Microsoft e include una documentazione completa delle impostazioni GPO consigliate compreso dei fogli di calcolo che confrontano le differenze tra le impostazioni nelle versioni attuali e precedenti in modo da poter capire rapidamente le differenze.
Il toolkit, quindi, include report che favoriscono l’esplorazione delle impostazioni in modo più intuitivo ed immediato. Le GPO sono rese disponibili come oggetti di backup importabili utilizzando la Console di gestione dei criteri di gruppo (GPMC). È possibile scegliere quali GPO applicare in base al ruolo di un dispositivo (ad es. per un Controller di dominio, per un server membro, un client ecc.).
I modelli di sicurezza, da usare come riferimento, sono previsti per tutte le versioni supportate dei sistemi operativi Microsoft oltre ad altri due prodotti (Office ed Edge).
Cosa include il Microsoft Security Compliance Toolkit (SCT)
Nel Microsoft Security Compliance Toolkit (SCT) troviamo tre strumenti e diverse baseline in diverse cartelle compresse (.zip):
- Policy Analyzer vers. 4.0
- Local Group Policy Object (LGPO) vers. 3.0
- SetObjectSecurity v1.0
- Baseline di sicurezza.
Analizziamole in dettaglio.
Policy Analyzer vers. 4.0
Policy Analyzer è un programma che consente di analizzare e confrontare set di oggetti Criteri di gruppo evidenziando impostazioni ridondanti o incongruenze interne e eventuali differenze tra versioni o insiemi di Criteri di gruppo. Può anche confrontare uno o più oggetti Criteri di gruppo con i criteri locali correnti e le impostazioni del registro (funzione “Compare to Effective State”) ed esportare i risultati in un foglio di calcolo.
Policy Analyzer è un’applicazione standalone che non richiede installazione e non richiede diritti amministrativi se non quando si usa la funzione “Compare to Effective State” (più avanti descritta).
Nel file zip che contiene PolicyAnalyzer.exe troviamo, oltre al pdf di documentazione (poco dettagliato), anche altri due programmi (PolicyRulesFileBuilder.exe e PolicyAnalyzer_GetLocalPolicy.exe) che sono estensioni dell’eseguibile principale (devono stare tutti nella stessa directory per funzionare).
Un quarto programma (GPO2PolicyRules.exe), di nuova introduzione, è invece indipendente ed è un utility a riga di comando per la conversione dei backup degli oggetti Criteri di gruppo in file XML con estensione “.PolicyRules” (un contenitore con i dati raccolti dai file GPO che si vogliono gestire). Va detto che la conversione dei backup degli oggetti Criteri di gruppo in file “.PolicyRules”, nelle versioni precedenti del programma, era possibile effettuarla in modo più macchinoso solo dalla GUI PolicyAnalyzer.exe.
I file “.PolicyRules” possono essere usati con l’altra utility LGPO.exe (descritta di seguito) per applicare gli oggetti Criteri di gruppo ai criteri locali di un computer, invece di dover copiare e distribuire i backup degli oggetti Criteri di gruppo.
Policy Analyzer, è bene chiarirlo, non può applicare le impostazioni dei criteri vista la sua natura di strumento di sola lettura che consente la visualizzazione, il confronto e le altre funzioni predette.
Local Group Policy Object (LGPO) vers. 3.0
È uno strumento da riga di comando per automatizzare la gestione dei criteri locali sui sistemi che non fanno parte di un dominio Active Directory.
Può importare e applicare impostazioni da file di criteri di registro (Registry.pol), modelli di protezione, file di backup di controllo avanzato, nonché da file con un particolare formato LGPO e, come detto in precedenza, da file XML “.PolicyRules”.
Può esportare i criteri locali in un backup GPO.
Le opzioni d’uso della riga di comando prevedono quattro possibilità:
importare e applicare le impostazioni ai criteri locali;
- creare un backup GPO;
- analizzare un Registry Policy file e produrre un output in formato testo LGPO;
- produrre un Registry Policy file da un file di testo LGPO.
Anche per questo programma è disponibile un documento PDF che illustra le funzionalità e i diversi parametri disponibili.
SetObjectSecurity v1.0
Questa utility, aggiunta nell’ultimo rilascio di SCT, consente di impostare il descrittore di sicurezza per quasi tutti i tipi di oggetti di cui Windows gestisce la protezione (file, directory, chiavi di registro, registri eventi, servizi, condivisioni SMB, ecc.). Per gli oggetti del file system e del registro, è possibile scegliere se applicare le regole di ereditarietà.
Baseline di sicurezza
Le baseline sono disponibili per i seguenti sistemi Windows attualmente supportati:
- Windows 10 Version 2004 and Windows Server Version 2004;
- Windows 10 Version 1507;
- Windows 10 Version 1607 and Windows Server 2016;
- Windows 10 Version 1709;
- Windows 10 Version 1803;
- Windows 10 Version 1809 and Windows Server 2019;
- Windows 10 Version 1903 and Windows Server Version 1903;
- Windows 10 Version 1909 and Windows Server Version 1909;
- Windows Server 2012 R2.
Inoltre, troviamo baseline per:
- Microsoft Edge v85;
- Office365-ProPlus.
La documentazione delle baseline è strutturata in cartelle dai contenuti omogenei, ad es. nella “Windows 10 Version 1809 and Windows Server 2019” troviamo le cartelle:
- “Documentation” contiene: il file Announcement.docx con i dettagli della baseline; diversi file Excel con i dettagli su ciascuna impostazione prevista per queste versioni di Windows e confronti con le impostazioni presenti nelle versioni precedenti; file XML con estensione “.PolicyRules” con le impostazioni predefinite per i client, server membri, domain controller ecc.;
- “GP Report” al cui interno vi sono i report HTML degli oggetti Criteri di gruppo così come vengono visualizzati nella scheda delle impostazioni nella console Group Policy Management Console (GPMC) – vanno aperti in IE;
- “GPOs” con i backup GPO delle impostazioni consigliate da Microsoft da importare nella GPMC o in Policy Analyzer;
- “Local_script” contiene script per applicare le baseline alla local policy;
- “Templates”contiene i file admx per impostazioni aggiuntive negli oggetti Criteri di gruppo.
Va notato che alcune baseline sono contrassegnate con il termine “FINAL” che evidenzia un’emissione definitiva di impostazioni per quel software o versione del sistema operativo.
Dettagli sul funzionamento e sulle novità del Policy Analyzer
Il funzionamento del programma è abbastanza intuitivo e compatto.
Una sintetica dimostrazione dell’efficacia, al fine di confrontare un modello Microsoft con la policy locale, si può ottenere procedendo come segue, una volta avviato il programma PolicyAnalyzer.exe:
- Aggiungere un modello di criteri o un oggetto Criteri di gruppo da confrontare, cliccando sul pulsante “Add”.
- Nella schermata che si apre fare clic sul pulsante “File” e selezionare una delle opzioni per aggiungere un file da confrontare (ad es. aggiungendo oggetti Criteri di gruppo per il confronto “Add files from GPO’s”).
- Selezionata la cartella principale dell’oggetto Criteri di gruppo per il confronto, vengono visualizzate le policy da importare, eventualmente eliminando quelle che non interessano, e bisognerà cliccare su “Import” (verrà chiesto il percorso di salvataggio che di default è “Documents/PolicyAnalyzer”). Questo passaggio crea un file delle regole dei criteri in cui vengono archiviate tutte le impostazioni dell’oggetto Criteri di gruppo pertinenti.
- Il confronto (nel caso in esame) con le impostazioni di Local policy avviene cliccando sul pulsante “Compare to Effective State”.
Il risultato che verrà mostrato sarà simile a quello mostrato nella figura sottostante.
Il riquadro sottostante la griglia, mostra l’impostazione di Criteri di gruppo, la posizione e altre informazioni associate alla riga selezionata.
L’esempio nella successiva figura, invece, mostra tre baseline confrontate tra loro.
È possibile filtrare anche solo le righe contenenti conflitti (Menu ViewShow only conflicts) o le differenze (Menu ViewShow only Differences) e per visualizzare o meno il riquadro inferiore con i dettagli (Menu ViewShow Details Pane).
Come detto in precedenza, “Compare to Effective State” richiede diritti amministrativi se le baseline selezionate includono impostazioni del modello di protezione o impostazioni di controllo avanzato.
Nella figura che segue vediamo l’opzione di menu “ViewClient-Side Extensions (CSEs)” che consente di visualizzare, in una finestra separata, i CSE macchina e utente per ciascuna baseline nel visualizzatore.
Microsoft Security Compliance Toolkit: risultati attesi e raccomandazioni
È evidente che gli amministratori di sistema, utilizzando con la giusta frequenza il Microsoft Security Compliance Toolkit (SCT) e sfruttando le baseline aggiornate di conformità della sicurezza Microsoft, possono ottenere risultati tangibili nel miglioramento dello stato di sicurezza degli ambienti che gestiscono.
Questi indubbi vantaggi nel concreto si manifestano a prescindere dalla complessità degli ambienti che si amministrano, considerando che è sempre difficile assicurare che tutti gli host (poche decine o migliaia che siano) abbiano le medesime configurazioni e quindi si comportino allo stesso modo.
È anche vero che un ambiente omogeneo (stesse tecnologie) richiederà un minor numero di configurazioni da gestire, per cui sarà meno impattante il testing e la risoluzione dei problemi.
La consapevolezza del proprio ambiente, se basato su configurazioni standard di riferimento, è ovviamente molto utile anche quando si eseguono attività di vulnerability assessment e penetration test.
Fare riferimento a delle baseline studiate dal fornitore della tecnologia è un innegabile sostegno anche solo considerando di volerle usare come template per produrre delle proprie baseline maggiormente personalizzate sulle proprie necessità aziendali.
La raccomandazione, che forse farà sorridere (ma meglio che piangere dopo), è quella di non applicare mai policy di sicurezza agli ambienti di produzione senza aver eseguito preliminarmente delle analisi complete e aver testato in ambienti non operativi il risultato delle configurazioni esaminate.