Bloccare un utente on-prem sfruttando i Playbook di Microsoft Sentinel
Rimediare in modo puntuale ad Incident di sicurezza all’interno della nostra infrastruttura è un’attività che ci permette di difenderci in modo proattivo da potenziali attacchi informatici sempre più sofisticati.
È del tutto semplice agire in un ambiente totalmente Cloud, ma come tutti sappiamo la stragrande maggioranza delle infrastrutture sono Ibride, e quindi come possiamo difenderci nel migliore dei modi da questi attacchi quando il nostro ambiente è Ibrido ?
Per darvi una risposta in modo puntuale vi invito a rileggere il mio articolo, scritto per la community, che per comodità vi riporto Automatizzare le Remediations degli incidents in Microsoft Sentinel con i playbook – ICT Power dove spiego come poter automatizzare il blocco di utenti Cloud Only sfruttando le potenzialità offerte dai Playbook di Microsoft Sentinel.
Quello che vedremo all’interno di questo articolo sarà come bloccare utenti, presenti all’interno di Active Directory, sfruttando sempre le potenzialità offerta dal SOAR di casa Redmond.
Licenze e Prerequisiti
Per ogni servizio Microsoft che implementeremo è sempre importante chiarire il discorso licensing quindi vediamo di seguito le licenze necessarie per procedere ad attivare questa funzionalità:
- Subscription Microsoft Azure a Consumo
- Tenant Microsoft 365 con licenze per gli utenti, che includano i servizi di cui abbiamo bisogno(Nel mio caso utilizzerò un tenant con licenze Microsoft365 E5 Microsoft 365 E5 | M365 Maps)
Queste due licenze ci permetteranno di sfruttare al meglio i servizi di Sicurezza offerti da Microsoft.
Per poter sfruttare le potenzialità di questa soluzione è necessario inoltre dire che il nostro domain controller dovrà essere presente in Azure ARC. Per eseguire l’onboarding di un server in Azure ARC vi rimando all’articolo scritto da Nicola Ferrini Azure Arc for Servers: la soluzione Microsoft per la gestione del cloud ibrido – ICT Power
nel mio caso attività non necessaria, in quanto SRVDC è già presente in Hosting presso Microsoft Azure.
Configurazione
Come descritto nel capitolo precedente, utilizzerò per darvi evidenza di questa funzionalità di un tenant Microsoft 365
Figura 1: Licenze presenti all’interno del Tenant di Demo
Figura 2: Subscription Azure che ospiterà l’istanza Microsoft Sentinel e i Playbook
Inoltre avrò a disposizione un server con sistema operativo Windows Server 2022 con ruolo di Domain Controller, utilizzato per darvi evidenza del blocco dell’utente
Figura 3: Caratteristiche Domain Controller Demo
Inoltre, all’interno di SRVDC è presente anche Entra Connect per la sincronizzazione degli utenti dall’Active Directory locale verso Microsoft Entra.
Figura 4: Entra Connect presente all’interno di SRVDC
Ora recatevi all’interno del portale di Microsoft Azure
Figura 5: Selezionare Automation Hybrid Worker
Questo servizio ci permetterà di automatizzare il blocco dell’utenza all’interno del nostro domain Contoller, per approfondimenti sulla funzionalità vi rimando al link ufficiale Panoramica dei ruoli di lavoro ibridi per runbook di Automazione di Azure | Microsoft Learn
Scegliete quindi ora:
- Sottoscrizione: Sottoscrizione Microsoft Azure in cui inserire questa risorsa
- Gruppo di Risorse: Resource Group in cui inserire questa nuova risorsa
- Log Analytics Workspace: Nome del workaspace di Microsoft Sentinel che avrete creato insieme all’istanza del Siem
Figura 6: Creazione della soluzione Hybrid Worker
Figura 7: Completamento Creazione Hybrid Worker
Figura 8: Risorsa Azure Automation creata correttamente
Ora dovrete procedere alla creazione di un Automation Account, che sarà “responsabile” di eseguire appunto le automazioni; nel nostro caso bloccare l’utenza in active directory locale.
Figura 9: Creazione Automation Account
Figura 10: Creazione Automation Account
Ora dovrete scegliere una Subscription in cui inserire l’account (nel mio caso Visual Studio Enterprise Subscription), un resource Group, un nome per l’account (io ho scelto sentinel-worker) e la region di Microsoft Azure. Per eventuali approfondimenti inerenti alla creazione di un Automation Account vi rimando al link ufficiale Microsoft Quickstart – Create an Azure Automation account using the portal | Microsoft Learn
Figura 11: Creazione Automation Account
Figura 12: Riepilogo della creazione dell’Automation Account
È bene inoltre specificare che l’account appena creato, nel mio caso sentinel-worker,dovrà essere abilitato come Hybrid Runbook Worker.
Figura 13: Permessi per Automation Account
Ora dovrete procedere alla creazione di un Worker Group, che per comodità io chiamerò Sentinel-Worker-Hybrid-Group. A questo punto dovrete inserire le credenziali dell’account on-prem con permessi per bloccare l’account (si consiglia, per questioni di sicurezza di dare i permessi minimi necessari ad eseguire questa operazione).
Figura 14: Creazione Worker Group con inserimento credenziali
Figura 15: Aggiunta del nostro Domain Controller
Figura 16: Creazione Hybrid Worker Group dopo aver inserito il nostro Domain Controller
Figura 17: Fine creazione dell’Hybird Worker Group
Vi riporto di come l’estensione per eseguire l’automazione sia correttamente installata all’interno di SRVDC.
Figura 18: Estensione correttamente installata all’interno di SRVDC
Perfetto! Ora la parte di creazione dei prerequisiti è stata completata e dovremmo procedere a lavorare all’interno di Microsoft Sentinel per la creazione degli alert e dell’automazione di blocco del nostro utente.
Per darvi evidenza di questa funzionalità, il domain controller collezionerà tutti i log tramite Data Collection Rule e quindi creeremo un blocco quando le login failed dell’utente di Test m365-demo\Utente.Malevolo saranno maggiori di 5 negli ultimi 5 minuti, la KQL quindi sarà configurata in questo modo:
Figura 19: Esempio KQL
Inoltre dovrete avere a disposizione uno script Powershell che vi permette di disabilitare l’utenza oggetto dell’Alert / Incident.
Figura 20: Script Powershell per installazione RSAT Tools (se non presenti) e blocco dell’utenza
Ora dovrete creare un Runbook all’interno dell’Automation Account.
Figura 21: Upload dello script per il blocco dell’utenza all’interno dell’automation Account
Ora dovrete procedere, come da schermata sottostante, a compilare i campi richiesti:
- Name: Nome del runbook, come sempre il consiglio è quello di utilizzare un nome parlante
- Runbook Type: Powershell, in quanto lo script è proprio il ps1 e quindi un powershell script
- Runtime Version: 5.1 la versione di powershell in cui eseguire lo script
- Description: Descrizione di cosa esegue lo script, anche qui siate molto specifici così da indentificare in modo puntuale cosa lo script esegue all’interno dei nostri sistemi
Figura 22: Compilazione campi per l’esecuzione dello script di blocco dell’utenza
Figura 23: Creazione Runbook per blocco utenza
Una volta cliccato su Create, la configurazione guidata vi porterà all’interno del Runbook in cui dovrete copiare nell’area selezionata il contenuto del vostro script.
Figura 24: Inserimento Script all’interno del runbook
Figura 25: Salvataggio Runbook
Figura 26: Salvataggio Runbook di blocco dell’utenza
Ora potrete eseguire un test di esecuzione del vostro script, prima di andare in produzione. Come potete fare questo test ? Nessun problema ora ve lo spiego nel dettaglio.
Come SAMACCOUNTNAME io ho inserito Utente.Test, che è il parametro del mio utente di AD; voi inserite pure un utente da provare a bloccare.
Figura 27: Esecuzione test Runbook
Figura 28: Runbook eseguito senza problemi ed utenza bloccata in modo corretto
Figura 29: Utente disabilitato in modo corretto dopo il test
Vorrei ricapitolare quanto eseguito prima di darvi evidenza degli step successivi:
- Creato Worker Group per l’aggiunta dell’estensione HybridWorker all’interno del nostro Domain Controller
- Creazione Automation Account, utile ad eseguire script all’interno della macchina
- Creazione Script Powershell per blocco dell’utenza
- Import dello script nell’account di Automazione
- Test dello script prima di andare in produzione
Ora non ci resta che generare un regola di automazione lato Microsoft Sentinel e richiamare il nostro Account di Automazione.
Recatevi quindi all’interno del workspace di Microsoft Sentinel.
Figura 30: Creazione Playbook
Figura 31: Creazione LogicApp per blocco utente
Ecco ora come dovrete impostare la LogicApp per permettere il blocco dell’utenza.
Figura 32: Inserimento Account con diritti corretti per permettere la lettura degli Incident di Microsoft Sentinel
Figura 33: Inserimento Entities per recuperare le entità coinvolte all’interno dell’incident
Figura 34: For Each Accounts coinvolti nell’incident genera un Job di Azure Automation
Ora dovrete “recuperare” i nomi di Automation Account, Resource Group, Automation Hybird Group e nome del Runbook creati nei passaggi precedenti.
Figura 35: Inserimento parametri per Azure Automation relativi a quanto creato in precedenza
Ora vi mancherà l’ultimo step: creare una Analytics Rule per eseguire una ricerca.
Figura 36: Creazione Analytics Rule
Figura 37: Scelta di un nome ed una descrizione della regola di Analitica
Figura 38: Inserimento KQL e parsing del nome entità da “passare” poi alla LogicApp per permettere il blocco dell’utente
Figura 39: Salvataggio della Regola di Analitica
Ora vi basterà associare la regola di Analitica al Playbook ed il gioco è fatto, in questo modo quanto verrà eseguito il match della regola verrà attivato il flusso.
Figura 40: Creazione regola di automazione per gestire Alert di Microsoft Sentinel
Figura 41: Parametri da inserire per la creazione della regola di automazione di Microsoft Sentinel
Figura 42: Regola di Automazione creata correttamente
Per darvi evidenza del funzionamento ho generato diverse login failed con l’utente m365-demo\utente.malevolo per far attivare la regola.
Figura 43: LogicApp eseguita con successo
Ora vi mostro l’utente all’interno di Active Directory che risulterà bloccato.
Figura 44: Utente che risulta disabilitato in Active Directory in modo corretto
Ricordo inoltre che, essendo le utenze sincronizzate attraverso Entra Connect, il blocco dell’utenza si replica anche verso Microsoft Entra ID.
Figura 45: Blocco dell’utenza avvenuto anche verso Office 365
Conclusioni
In un mondo dove lo scenario è Ibrido ed i nostri dispositivi ed utenti risiedono on-prem e poi vengono replicati verso il mondo Cloud, avere a disposizione diversi strumenti che vi permettono di rispondere in modo del tutto automatico ad Incident di sicurezza potrebbe aiutarvi in modo considerevole a ridurre i tempi di risposta ed ottimizzare le risorse a vostra disposizione.
Sentinel SIEM e SOAR di casa Redmond vi permette quindi di eseguire il blocco di un’utenza on-prem direttamente da un portale cloud, avendo a disposizione una sola interfaccia di gestione per i vostri ambienti Ibridi è uno scenario a mio avviso straordinario, in un modo sempre “caotico” e dove siamo sempre di corsa a “saltare” da un portale all’altro, l’unione di tutti questi servizio vi permette di ottimizzare tempo e risorse che potrete investire in altri ambiti.