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:
- PowerShell 5.1 o versioni successive (verifica la tua versione di PowerShell)
- Privilegi di amministratore
Esempi di script:
- Per disabilitare il protocollo legacy SMBv1 (e quindi impedire lo sfruttamento delle vulnerabilità legacy SMB)
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -NoRestart
- Per disabilitare gli account guest (e quindi ridurre il rischio di accesso non autorizzato)
Set-LocalUser -Name “Guest” -Enabled $false
- 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
- 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:
- 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
- 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:
- 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
- Per disabilitare NetBIOS su TCP/IP (e ridurre i rischi di movimento laterale)
wmic nicconfig where “IPEnabled=true” call SetTcpipNetbios 2
- 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:
- Accesso alla Console di gestione dei criteri di gruppo (GPMC)
- Un ambiente Active Directory
- Privilegi amministrativi
Passi:
- 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.
- Crea o modificare un GPO che abbia come destinazione la tua linea di base di sicurezza.
- Configura i criteri in base seguendo questo percorso: Configurazione del computer > Impostazioni di Windows > Impostazioni di sicurezza
- 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
- Esegui gpupdate /force in un prompt dei comandi elevato sui computer client per applicare il criterio.
- Opzionale: Utilizza i file di importazione di Microsoft Security Compliance Toolkit o CIS GPO per avviare la configurazione.
⚠️ Cose da tenere d’occhio
| Rischi | Potenziali conseguenze | Possibilità di tornare alla configurazione precedente |
| Effetti involontari dello script dovuti a errori di battitura o di logica |
|
|
| 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 |
|
| Utenti legittimi bloccati tramite criteri di accesso troppo restrittivi | Gli account utente e gli amministratori possono essere bloccati a causa di tentativi di accesso falliti o di regole di password troppo rigide |
|
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:
- E sono divisi in due livelli:
- Livello 1: Sicurezza di base adatta a sistemi di uso generale e incentrata sul minimo impatto per l’utente.
- 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 NinjaOne | Come può aiutare | Caso d’uso ideale |
| Distribuzione degli script | Esecuzione remota di script PowerShell o CMD su più dispositivi per l’hardening automatico | Implementazione iniziale dei controlli CIS, come la disattivazione di SMBv1 o l’impostazione dei criteri di audit |
| Modelli di criterio | Distribuzione di modelli di configurazione riutilizzabili che includono modifiche al registro e impostazioni dei servizi | Standardizzazione delle linee di base della sicurezza su più client o tipi di dispositivi |
| Report di audit | Generazione di report di conformità e configurazione che mostrano quali dispositivi sono allineati | Dimostrare l’aderenza al CIS durante gli audit o le verifiche dei clienti |
| Motore di automazione | Pianificare script e criteri da eseguire automaticamente durante l’onboarding o periodicamente | Applicazione dei controlli CIS agli endpoint nuovi o reimpostati senza alcun intervento manuale |
| Sistema di avvisi | Ricevere una notifica quando le impostazioni relative al CIS sono mancanti, erroneamente configurate o modificate | Monitoraggio 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:
- Guida completa all’hardening dei sistemi [Elenco di controllo]
- 9 fasi essenziali del processo di hardening dei server
- Perché le organizzazioni dovrebbero investire nell’automazione e nell’hardening degli endpoint?
- Cos’è la sicurezza degli endpoint e come funziona?
- Iniziare con i fondamenti della sicurezza degli endpoint e costruire su di essi
