/
/

Consigli per MSP sullo scripting per l’hardening degli endpoint: Benchmark CIS tramite PowerShell

di Jarod Habana, IT Technical Writer
Consigli per MSP sullo scripting per l'hardening degli endpoint: Benchmark CIS tramite PowerShell immagine banner del blog

Le minacce alla sicurezza informatica sono in continua evoluzione, pertanto i provider di servizi gestiti (MSP) e gli amministratori IT devono mantenere sicuri i loro endpoint per proteggere i clienti e le operazioni. In risposta, il Center for Internet Security (CIS) ha sviluppato i CIS Benchmarks, che definiscono gli standard per una maggiore sicurezza informatica. Tuttavia, l’applicazione delle loro raccomandazioni di configurazione può richiedere molto tempo ed essere soggetta a errori.

Per rendere molto più semplice le attività relative all’hardening degli endpoint , prendi in considerazione la possibilità di utilizzare un approccio automatizzato. Continuate a leggere per scoprire come utilizzare gli script PowerShell con modifiche supplementari del registro, script CMD ed implementazioni dei Criteri di gruppo per proteggere i dispositivi nei tuoi sistemi.

Come automatizzare i CIS Benchmarks per proteggere gli endpoint degli MSP

Per gli ambienti Windows, gli MSP e i professionisti IT dovranno applicare centinaia di impostazioni di configurazione per soddisfare gli standard di settore stabiliti dai CIS Benchmarks, quindi non è consigliabile applicare manualmente ciascuna di esse. Ecco alcuni esempi di come puoi utilizzare PowerShell per automatizzare queste configurazioni allineate al CIS, compresi altri workaround per esigenze e ambienti diversi.

📌 Prerequisiti:

  • Windows 10 o 11 con edizione Pro o Enterprise
  • Privilegi di amministratore
  • Conoscenza dei benchmark CIS (livello 1 o 2)
  • Opzionale: Accesso ad Active Directory, Intune o NinjaOne

💡Suggerimento: Fai riferimento alla sezione Cose da tenere d’occhio prima di procedere.

📌 Strategie di implementazione consigliate:

Clicca per scegliere un metodo

💻

Più adatto per utenti individuali

💻💻💻

Più adatto per ambienti enterprise

Metodo 1: Uso di PowerShell per applicare le impostazioni dei CIS Benchmarks
Metodo 2: Utilizzo dell’Editor del Registro di sistema per l’applicazione della configurazione
Metodo 3: Utilizzo di CMD per le modifiche di sistema e la convalida
Metodo 4: Uso dei Criteri di gruppo (GPO) per centralizzare l’applicazione

Metodo 1: Uso di PowerShell per applicare le impostazioni dei CIS Benchmarks

PowerShell può automatizzare direttamente i criteri di sicurezza locali, i servizi, le impostazioni di audit e le configurazioni di sistema tramite script. Pertanto, può facilmente applicare centinaia di controlli CIS e creare moduli ripetibili per la distribuzione in massa. Di seguito sono riportati alcuni script PowerShell legati ai CIS Benchmarks che puoi combinare in moduli o utilizzare in ambito DSC (Desired State Configuration) per una distribuzione ripetibile.

📌 Casi d’uso:

  • Automatizzazione dell’hardening per l’onboarding di nuovi dispositivi
  • Distribuzione rapida dei controlli di sicurezza agli endpoint in ambienti non di dominio

📌 Prerequisiti:

Esempi di script:

  1. Per disabilitare il protocollo legacy SMBv1 (e quindi impedire lo sfruttamento delle vulnerabilità legacy SMB)

Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -NoRestart

  1. Per disabilitare gli account guest (e quindi ridurre il rischio di accesso non autorizzato)

Set-LocalUser -Name “Guest” -Enabled $false

  1. Per applicare criteri di complessità delle password (modificando e riapplicando i criteri di sicurezza locali)

secedit /export /cfg c:\secpol.cfg (gc c:\secpol.cfg).replace
(“PasswordComplexity = 0″,”PasswordComplexity = 1”) | Set-Content c:\secpol.cfg
secedit /configure /db c:\windows\security\local.sdb /cfg c:\secpol.cfg /areas SECURITYPOLICY

  1. Per abilitare il logging di audit (e garantire che vengano tracciati i tentativi di accesso riusciti e quelli falliti)

auditpol /set /subcategory:”Logon” /success:enable /failure:enable

Metodo 2: Utilizzo dell’Editor del Registro di sistema per l’applicazione della configurazione

Per un hardening più preciso, puoi modificare direttamente il registro di Windows. Molti controlli CIS corrispondono direttamente a chiavi di registro specifiche, per cui è possibile anche automatizzare le modifiche al registro. Di seguito sono riportate le modifiche del registro che possono essere applicate tramite file .reg o PowerShell (Set-ItemProperty), oppure distribuite tramite NinjaOne o GPO.

📌 Casi d’uso:

  • Applicazione di impostazioni non disponibili nei Criteri di gruppo
  • Backstopping dell’hardening basato su GPO con applicazioni locali

📌 Prerequisiti: Accesso da amministratore agli endpoint di destinazione

Esempio di modifiche al registro:

  1. Per disabilitare l’esecuzione automatica di Windows (per ridurre i rischi di esecuzione di malware via USB)

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\
CurrentVersion\Policies\Explorer]
“NoDriveTypeAutoRun”=dword:000000ff

  1. Per limitare l’enumerazione anonima del SID (e impedire le attività di indagine sugli account utente per scoprirne le vulnerabilità)

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Control\Lsa]
“RestrictAnonymousSAM”=dword:00000001

Metodo 3: Utilizzo di CMD per le modifiche di sistema e la convalida

Lo scripting CMD è ideale per i sistemi legacy e per le modifiche rapide al sistema. È anche utile per convalidare le configurazioni in ambienti vecchi che potrebbero non avere PowerShell o strumenti moderni. Ecco alcuni script CMD che possono essere concatenati con i comandi taskkill, net stop o sc config per rendere un migliore hardening.

📌 Casi d’uso:

  • Protezione dei sistemi offline
  • Esecuzione di attività di ripristino rapido durante le chiamate di assistenza o le sessioni remote

📌 Prerequisiti:

  • Accesso CMD
  • Privilegi di amministratore

Esempi di comandi:

  1. Per disabilitare l’assistenza remota (e ridurre la superficie di attacco)

reg add “HKLM\SYSTEM\CurrentControlSet\Control\Remote Assistance” /v fAllowToGetHelp /t REG_DWORD /d 0 /f

  1. Per disabilitare NetBIOS su TCP/IP (e ridurre i rischi di movimento laterale)

wmic nicconfig where “IPEnabled=true” call SetTcpipNetbios 2

  1. Per esportare la configurazione di sicurezza corrente per verifiche o backup

secedit /export /cfg C:\cfg.txt

Metodo 4: Uso dei Criteri di gruppo (GPO) per centralizzare l’applicazione

Gli MSP possono anche utilizzare GPO per centralizzare la configurazione di centinaia di impostazioni CIS su sistemi collegati al dominio. È l’approccio più scalabile negli ambienti Active Directory .

📌 Casi d’uso:

  • Mantenere una linea di base sicura sulle reti dei clienti
  • Applicazione dei controlli CIS di livello 2 ad alta sicurezza
  • Gestione di ambienti ibridi insieme a Intune/NinjaOne

📌 Prerequisiti:

Passi:

  1. Apri la Group Policy Management Console (GPMC) su un domain controller o su un sistema di gestione. Premi la combinazione di tasti Windows + R, digita gpmc.msc e premi Invio.
  2. Crea o modificare un GPO che abbia come destinazione la tua linea di base di sicurezza.
  3. Configura i criteri in base seguendo questo percorso: Configurazione del computer > Impostazioni di Windows > Impostazioni di sicurezza
  4. Alcuni criteri rilevanti per il CIS da configurare:
    • Criterio della password (in Criteri account): Applica la complessità, la scadenza e la cronologia
    • Assegnazione dei diritti utente (in Criteri locali): Impedisci il “Log on locale” e nega l’accesso
    • Opzioni di sicurezza: Disabilita le risposte LM e l’accesso anonimo
    • Criteri di audit: Abilita il logging avanzato
    • Impostazioni di Windows Defender e firewall: Standardizza la protezione
  5. Esegui gpupdate /force in un prompt dei comandi elevato sui computer client per applicare il criterio.
  6. Opzionale: Utilizza i file di importazione di Microsoft Security Compliance Toolkit o CIS GPO per avviare la configurazione.

⚠️ Cose da tenere d’occhio

RischiPotenziali conseguenzePossibilità di tornare alla configurazione precedente
Effetti involontari dello script dovuti a errori di battitura o di logica
  • Corruzione del registro
  • Servizi eliminati
  • Autorizzazioni errate applicate su larga scala
Hardening eccessivo tramite GPO o PowerShell (per esempio, con la disabilitazione di servizi necessari)Interruzione di applicazioni critiche per l’azienda o di strumenti remoti
  • Effettua sempre test in una OU di staging prima della distribuzione ampia.
  • Riabilita i servizi tramite lo script di ripristino o l’accesso da amministratore locale.
Utenti legittimi bloccati tramite criteri di accesso troppo restrittiviGli account utente e gli amministratori possono essere bloccati a causa di tentativi di accesso falliti o di regole di password troppo rigide
  • Avvia la modalità provvisoria per ripristinare i criteri.
  • Utilizza account di recupero con esclusioni di criteri separate.

Che cos’è un benchmark CIS?

I CIS Benchmarks sono una serie di best practice prescrittive per la sicurezza dei sistemi e dei dati IT. Offrono indicazioni sulla riduzione delle vulnerabilità e sull’hardening delle configurazioni di sistema. Inoltre, questi standard sono:

  • Sviluppati da esperti, da professionisti della cybersecurity a fornitori ed esperti in materia
  • Applicabili a un’ampia gamma di sistemi, tra cui Windows, Linux, macOS, dispositivi di rete, browser e piattaforme cloud
  • Sono accompagnati da impostazioni di configurazione dettagliate con i valori consigliati, le motivazioni e le fasi di correzione
  • In generale servono per gestire:
    1. Autorizzazioni degli utenti e criteri di audit
    2. Criteri di blocco degli account e delle password
    3. Controlli SMB, RDP e accesso remoto
    4. Disabilitazione di servizi e funzioni
    5. Hardening di Windows Defender e firewall
  • E sono divisi in due livelli:
    1. Livello 1: Sicurezza di base adatta a sistemi di uso generale e incentrata sul minimo impatto per l’utente.
    2. Livello 2: Hardening avanzato per ambienti ad alta sicurezza, che può avere un impatto sull’usabilità o sulla funzionalità
  • Sono inoltre allineati a standard come HIPAA, NIST, PCI-DSS e ISO 27001
  • Verificati regolarmente per riflettere le minacce, le vulnerabilità e gli aggiornamenti della piattaforma
  • Sono accessibili al pubblico all’indirizzo www.cisecurity.org/cis-benchmarks

L’adozione di queste raccomandazioni può aiutare a definire le linee guida di sicurezza, a minimizzare i rischi e a dimostrare che tutte le parti coinvolte conducano la due diligence necessaria.

Ulteriori considerazioni per gli MSP che decidono di implementare i benchmark CIS

L’automazione dei CIS Benchmark va oltre la semplice esecuzione di script o l’applicazione di GPO. Se gli MSP e i team IT vogliono rafforzare la sicurezza degli endpoint, devono considerare alcuni fattori ambientali, di conformità e operativi per evitare problemi.

  • Test prima della distribuzione: I benchmark CIS possono alterare in modo significativo il comportamento del sistema. Gli script non testati possono disabilitare servizi necessari o limitare l’attività di utenti legittimi, quindi testali sempre in ambienti non di produzione.
  • Selezione del livello di benchmark: Il livello 1 si concentra sull’hardening essenziale senza compromettere l’usabilità, quindi è adatto alla maggior parte degli ambienti aziendali. Il livello 2, invece, è destinato ai sistemi ad alta sicurezza. Pertanto, un’applicazione più rigorosa potrebbe compromettere l’esperienza dell’utente o la funzionalità dell’app.
  • Modelli di riferimento: Microsoft fornisce GPO di riferimento per la sicurezza che possono sovrapporsi ai benchmark CIS. Anche se possono essere utili, questi modelli non sono sostitutivi a tutti gli effetti. Opta sempre per il CIS come standard principale quando è richiesta una conformità rigorosa.
  • Tracce di audit: La registrazione di tutte le modifiche garantisce la tracciabilità e la conformità quando i responsabili degli audit o i team di sicurezza richiedono prove degli script applicati e delle voci di registro modificate.

Risoluzione dei problemi

Errori negli script PowerShell

Il criterio di esecuzione potrebbe essere troppo restrittivo, oppure gli script potrebbero essere bloccati dalle impostazioni del sistema o dell’antivirus. Controllare il criterio di esecuzione corrente con questo comando:

Get-ExecutionPolicy -List

Se necessario, impostalo su RemoteSigned utilizzando questo comando:

Set-ExecutionPolicy RemoteSigned -Scope LocalMachine

In questo modo consentirai l’esecuzione di script locali, mentre per quelli remoti saranno richieste firme. Dovresti anche verificare la presenza di soluzioni AV o di protezione degli endpoint in grado di bloccare l’esecuzione di script, come Defender o CrowdStrike.

Le impostazioni GPO non vengono applicate

Questo può accadere se l’endpoint non fa parte dell’Unità Organizzativa (OU) corretta, oppure se i filtri WMI o di sicurezza impediscono l’applicazione dei criteri. Verifica che l’impostazione sia applicata al posizionamento corretto dell’OU del dispositivo in Active Directory Users and Computers. Dovresti anche convalidare i filtri WMI sulla GPO per assicurarti che il sistema sia idoneo.

Impostazioni in conflitto tra loro

I Criteri di gruppo possono sovrascrivere le impostazioni locali applicate tramite PowerShell o il registro di sistema al ciclo di aggiornamento successivo. Assicurati di definire la gerarchia di configurazione. Utilizza PowerShell o il registro per la prima distribuzione, quindi passa ai GPO per l’applicazione persistente.

Errori nei log di sicurezza

Le impostazioni dei log di audit possono appesantire i registri se i log sono troppi o troppo pesanti. Puoi regolare con precisione i log concentrandoti su categorie critiche, come gli eventi di accesso, l’uso dei privilegi, l’integrità del sistema e la gestione degli account. Può anche essere utile stabilire limiti di conservazione e di dimensioni.

Servizi NinjaOne che possono contribuire a rafforzare l’applicazione dei CIS Benchmarks

NinjaOne può migliorare la scalabilità e l’efficacia dell’implementazione dei CIS Benchmarks fornendo agli MSP potenti funzionalità di automazione, monitoraggio e reporting.

Servizio NinjaOneCome può aiutareCaso d’uso ideale
Distribuzione degli scriptEsecuzione remota di script PowerShell o CMD su più dispositivi per l’hardening automaticoImplementazione iniziale dei controlli CIS, come la disattivazione di SMBv1 o l’impostazione dei criteri di audit
Modelli di criterioDistribuzione di modelli di configurazione riutilizzabili che includono modifiche al registro e impostazioni dei serviziStandardizzazione delle linee di base della sicurezza su più client o tipi di dispositivi
Report di auditGenerazione di report di conformità e configurazione che mostrano quali dispositivi sono allineatiDimostrare l’aderenza al CIS durante gli audit o le verifiche dei clienti
Motore di automazionePianificare script e criteri da eseguire automaticamente durante l’onboarding o periodicamenteApplicazione dei controlli CIS agli endpoint nuovi o reimpostati senza alcun intervento manuale
Sistema di avvisiRicevere una notifica quando le impostazioni relative al CIS sono mancanti, erroneamente configurate o modificateMonitoraggio delle deviazioni di configurazione o delle modifiche non autorizzate

Semplificare l’hardening attraverso l’automazione intelligente

L’implementazione dei benchmark CIS può essere un processo lungo per gli MSP e i professionisti IT se eseguito manualmente. Pertanto, l’automazione tramite scripting PowerShell, modifiche al registro di sistema, strumenti a riga di comando e Criteri di gruppo dovrebbe contribuire a garantire la coerenza dell’applicazione. Queste modalità dovrebbero migliorare la sicurezza degli endpoint e ridurre i rischi di configurazione errata.

Argomenti correlati:

Potresti trovare interessante anche

Pronto a semplificare le parti più complesse dell'IT?