Microsoft Security Compliance Toolkit – Cos’è e come utilizzarlo

La sicurezza è un tema che ognuno di noi deve affrontare ogni giorno. Indipendentemente dal tipo di servizio o di business, la cosa che tutte le organizzazioni hanno in comune è la necessità di proteggersi. Tendenzialmente si utilizzano standard interni, più o meno definiti.

Le baseline sulla sicurezza sono un vantaggio essenziale per i clienti perché riuniscono le conoscenze degli esperti di Microsoft, dei partner e dei clienti.

Un po’ di numeri: esistono oltre 3.000 impostazioni di criteri di gruppo per Windows 10, senza considerare 1.800 impostazioni di Microsoft Edge.

Di queste 4.800 impostazioni, solo alcune sono legate alla sicurezza ed è facile immaginare che lo studio di ciascuna di esse può richiedere molto tempo.

Una baseline è sostanzialmente composta da un gruppo di impostazioni di configurazione consigliate da Microsoft, rilasciate in modo da tenere in considerazione gli impatti sulla sicurezza e, come accade per tanti prodotti Microsoft, basate sul feedback dei team di progettazione della sicurezza Microsoft, gruppi di prodotti, partner e clienti.

Il Security Compliance Toolkit (SCT) è un set di strumenti (script, eseguibili, template, esempi e tanto altro) GRATUITI messo a disposizione da Microsoft per supportare gli amministratori nelle attività di analisi, testing, aggiornamento delle baseline e delle configurazioni con un occhio di riguardo alla sicurezza. Può essere scaricato dal link Download Microsoft Security Compliance Toolkit 1.0 from Official Microsoft Download Center

Figura 1: Strumenti contenuti nel Security and Compliance Toolkit

La filosofia alla base dell’utilizzo è quella del confronto: in base all’evoluzione dei prodotti Microsoft ed alle proprie linee guida interne è possibile verificare se la conduzione dei propri sistemi è in linea con quanto Microsoft suggerisce in termini di sicurezza.

Security Compliance Toolkit è costituito sostanzialmente da due gruppi di oggetti:

  • Baseline di sicurezza di Windows o di software Microsoft
  • Strumenti e script

Nel primo gruppo troviamo:

  • Baseline di sicurezza di Windows10:
    • Windows 10, versione 21H1 (aggiornamento di maggio 2021)
    • Windows 10, versione 20H2 (aggiornamento di ottobre 2020)
    • Windows 10, versione 2004 (aggiornamento di maggio 2020)
    • Windows 10, versione 1909 (aggiornamento di novembre 2019)
    • Windows 10, versione 1809 (aggiornamento di ottobre 2018)
    • Windows 10, versione 1607 (anniversary update)
    • Windows 10, versione 1507
  • Baseline di sicurezza di Windows Server
    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
  • Baseline di sicurezza di Microsoft Office
    • Microsoft 365 Apps for enterprise, versione 2104
  • Baseline di sicurezza di Microsoft Edge
    • Versione 93
  • Baseline di sicurezza per Windows Update
    • Windows 10 20H2 e seguenti (aggiornamento di ottobre 2020)

Nel secondo gruppo troviamo:

  • Strumenti
    • Strumento Policy Analyzer
    • Strumento LGPO
    • Strumento Set Object Security
    • Strumento GPO2PolicyRules
  • Script
    • Baseline-ADImport.ps1
    • Baseline-LocalInstall.ps1
    • Remove-EPBaselineSettings.ps1
    • MapGuidsToGpoNames.ps1

Tutti ciò viene condiviso corredato dalla specifica documentazione per il corretto utilizzo.

Diamo un’occhiata agli strumenti più interessanti.

Policy Analyzer

Il Policy Analyzer è un tool per l’analisi dei Criteri di gruppo e/o di set di Criteri.

Ricordiamo che i criteri di gruppo sono quelle funzioni di Windows che consentono la gestione centralizzata delle impostazioni su client e server joinati al dominio. Sono raggruppati in oggetti chiamati Group Policy Object, più brevemente, GPO. Ne abbiamo anche parlato nell’articolo Funzionamento delle Group Policy in Windows Server: facciamo un po’ di chiarezza – ICT Power

Considerata la miriade di possibili configurazioni, sono numerosi i casi in cui è facile creare GPO ridondanti o incoerenti, soprattutto in foreste o domini molto grandi, con numerose Organizational Unit (OU) e gruppi.

Tra le funzionalità più interessanti del Policy Analyzer ci sono sicuramente:

  • La possibilità di segnalare eventuali GPO che presentano problemi di coerenza
  • La possibilità di segnalare delle discrepanze tra le versioni o GPO
  • La possibilità di mettere a confronto gli oggetti su cui impattano le GPO con i criteri locali e/o con le configurazioni del registro di sistema
  • La possibilità di generare un report

Lanciate il tool Policy Analyzer (non è necessario installarlo) e cliccando sul pulsante Add aggiungete le GPO (baseline) che volete confrontare con il sistema locale. Le GPO da confrontare possono essere scaricate dallo stesso link del Security Compliance Toolkit. Lavorando con Windows Server abbiamo scaricato il file Windows Server 2022 Security Baseline.zip e dopo averlo estratto abbiamo utilizzando le GPO contenute per effettuare il confronto. Nelle figure sotto sono mostrati tutti i passaggi per l’importazione.

Figura 2: Aggiunta al Policy Analyzer delle GPO da confrontare

Figura 3: Aggiunta delle GPO prendendole dalle GPO scaricate dal sito Microsoft del Microsoft Compliance Toolkit

Figura 4: GPO importate nel Policy Analyzer

Dopo aver importato le GPO (baseline) da confrontare potete scegliere quali utilizzare per il confronto, semplicemente selezionandole e cliccando su Import. Nella figura sono evindenziate tutte le baseline riferite a Windows Server 2022. Selezionate la baseline che vi interessa in base ai servizi che sono installati sul vostro Windows Server (domain controller, member server, ecc.). Procedete quindi a definire un nome per il set di regole (ruleset).

Figura 5: Selezione delle GPO da importare

Dopo l’importazione è sufficiente cliccare su View/Compare per visualizzare la baseline importata.

Figura 6: Visualizzazione delle policy importate, suggerite da Microsoft

Per procedere al confronto rispetto alle configurazioni presenti sul vostro server cliccate sul pulsante Compare to Effective State, che effettua il confronto della baseline selezionata con lo stato corrente del sistema. Nel Policy Viewer sarà possibile visualizzare i risultati e confrontare le due colonne con le impostazioni presenti a sinistra e le impostazioni suggerite da Microsoft (che avete importato) a destra.

i valori identici vengono visualizzati in bianco, le impostazioni in conflitto vengono evidenziate in giallo e le impostazioni assenti in grigio. Nel riquadro sottostante viene mostrata l’impostazione della policy, la posizione e altre informazioni associate alla riga selezionata.

Figura 7: Confronto tra le policy applicate e quelle suggerite da Microsoft per migliorare la security

I risultati del confronto possono anche essere esportati in formato Excel per poterne tenere traccia o per un successivo confronto.

Figura 8: Esportazione del confronto in formato Excel

Hardening

Dopo aver confrontato i risultati è possibile distribuire le baseline proposte da Microsoft. Estraete la versione della baseline che coincide con la versione del vostro sistema operativo e importate gli administrative templates che trovate nella cartella Templates nel Central Store (cartella PolicyDefinitions della SYSVOL)

Figura 9: Impostazione degli administrative templates contenuti nella baseline

Dalla Group Policy Management Console create una nuova GPO e importate i settings presenti nella cartella delle GPO della baseline, come mostrato in figura:

Figura 10: Importazione delle configurazioni della baseline in una nuova GPO

Selezionate come cartella di importazione la cartella GPO della baseline che avete scelto.

Figura 11: Cartella dove si trovano le configurazioni della baseline

Vi verrà mostrato un elenco di policy templates disponibili. Scegliete quello che vi serve per poter configurare ed aumentare il livello di sicurezza del vostro server o dei vostri client.

Figura 12: Scelta del template da importare

Poiché a GPO che abbiamo creato è vuota, possiamo scegliere la voce Copying them identically from the source.

Figura 13: Scelta della migrazione delle referenze contentute nella baseline

Figura 14: Importazione completata con successo

Nella figura sotto sono mostrate le configurazioni importate dalla baseline. Potete decidere se accettarle tutte oppure modificarle in base alle vostre necessità.

Figura 15: Configurazioni importate dalal baseline nella GPO

Per poter applicare le configurazioni solo ai computer che eseguono Windows Server 2022 abbiamo deciso di utilizzare un filtro WMI. Trovate maggiori informazioni nella guida Gestione avanzata delle Group Policy in Windows Server: Filtri WMI, backup e restore – ICT Power

Nel nostro caso la query WMI è

Select Version,ProductType from Win32_OperatingSystem WHERE Version LIKE “10.0.20348%” and ProductType = “2”

Per limitare la query solo ai client o solo ai server, aggiungere una clausola che include il parametro ProductType. Per filtrare solo i sistemi operativi client, ad esempio Windows 8 o Windows 7, utilizzare solo ProductType=”1″. Per i sistemi operativi server che non sono controller di dominio e per Windows 10 e Windows 11 sessioni, utilizzare ProductType=”3″. Solo per i controller di dominio, utilizzare ProductType=”2″.

Figura 16: Creazione della query WMI

Figura 17: Applicazione del filtro WMI alla GPO creata

GPO2PolicyRules

All’interno del Policy Analyzer è presente uno strumento da eseguire tramite command line. Questo tool automatizza la gestione e conversione di GPO in file con estensione .PolicyRules per il Policy Analyzer, evitando di utilizzare l’interfaccia grafica.

Un esempio è il seguente:

GPO2PolicyRules.exe C:\BaselinePkg\GPOs C:\Users\Analyst\Documents\PolicyAnalyzer\baseline.PolicyRules

All’interno della directory contenente il Policy Analyzer è presente la directory Policy Rules contenente alcuni esempi

Figura 18: Policy Rules

Local Group Policy Object

Lo strumento LGPO.exe è stato pensato e progettato per automatizzare la gestione dei Criteri di gruppo locali, fornendo ad un amministratore la possibilità di verificare, tramite command line, gli effetti delle GPO o di gestire sistemi in WORKGROUP, e quindi non a dominio.

Figura 19: Strumento LGPO.exe

Con questo strumento è possibile importare ed esportare GPO, importare ed applicare impostazioni utilizzando registry.pol (il registro di sistema), importare ed applicare le impostazioni da file di modelli di sicurezza e da backup.

SetObjectSecurity

Anche questo strumento viene utilizzato tramite command line. SetObjectSecurity.exe consente di impostare il security descriptor di un qualsiasi oggetti Windows.

I Security Descriptor sono delle strutture e dati associati. Contengono le informazioni di sicurezza per un oggetto a protezione diretta. Un descrittore di sicurezza identifica il proprietario e il gruppo principale dell’oggetto. Può contenere anche un DACL (Access control list) che controlla l’accesso all’oggetto e un SACL (System Access Control List) che controlla la registrazione dei tentativi di accesso all’oggetto. Per maggiori informazioni è possibile consultare la documentazione Microsoft.

Figura 20: Strumento SetObjectSecurity.exe

Con questo tool è possibile configurare le impostazioni di sicurezza di file, directory, chiave di registro, eventi, condivisioni SMB, servizi, e tanto altro. Per alcuni oggetti, file system e registro di sistema, è possibile configurare l’ereditarietà delle configurazioni in modo da automatizzare ulteriormente la gestione della sicurezza.

Un esempio di utilizzo è il restore dei permessi della directory C:\ configurando anche l’ereditarietà dei permessi sugli oggetti che saranno inseriti all’interno della root directory:

SetObjectSecurity.exe FILE C:\ “O:S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464D:PAI(A;OICI;FA;;;BA)(A;OICI;FA;;;SY)(A;OICI;0x1200a9;;;BU)(A;OICIIO;SDGXGWGR;;;AU)(A;;LC;;;AU)S:P(ML;OINPIO;NW;;;HI)”

Conclusioni

La sicurezza non va mai sottovalutata. Nonostante siano stati fatti passi da gigante nel tentativo di aumentare conoscenze e competenze, la cultura della sicurezza resta ancora il tallone d’Achille di molte organizzazioni. Il sempre più crescente numero di cyber attacchi è dovuto, nella maggior parte dei casi, a problemi legati a configurazioni superficiali, carenza di cultura ed a mancato controllo. La possibilità di utilizzare strumenti del genere, soprattutto perché gratuiti, deve essere sfruttata il più possibile.

Stay safe & tuned!