Creare report di sicurezza di Active Directory con PowerShell

Creare report di sicurezza di Active Directory con PowerShell. Innanzitutto, proteggere un ambiente Active Directory (AD) è essenziale per diversi motivi. Innanzitutto, Active Directory è un componente centrale di molte organizzazioni e contiene una grande quantità di informazioni sensibili su utenti, computer e altri risorse di rete. Se queste informazioni dovessero cadere nelle mani sbagliate, potrebbero usarle per compromettere la sicurezza dell’intera rete.

Questo articolo discute diversi modi per proteggere il nostro ambiente Active Directory con PowerShell.

Iniziamo con la creazione di report di sicurezza di Active Directory con PowerShell.

Creare report di sicurezza di Active Directory con PowerShell

PrerequisitiAlcuni dei comandi in questo articolo utilizzeranno comandi Active Directory. Pertanto, in questo articolo, dovremo installare i componenti richiesti:

Alcuni dei comandi in questo articolo utilizzeranno Active Directory comandi. Pertanto, in questo articolo, dovremo installare i componenti richiesti:

Prima di iniziare, assicuriamoci di avere i prerequisiti sopra indicati e importare il modulo Active Directory utilizzando lo snippet qui sotto.

Install-Module ActiveDirectory
Import-Module ActiveDirectory

Metodi diversi nella sicurezza del Active Directory

Esistono diversi modi per proteggere il nostro ambiente Active Directory. Nella prossima sezione, discuteremo alcuni modi per proteggere la nostra infrastruttura Active Directory.

Applicazione di politiche di password e blocco dell’account fine-grained

Tutto sommato, Active Directory include di default una politica della password. Tuttavia, gli amministratori possono anche impostare politiche di password più severe e politiche di blocco dell’account. Questo processo ci consente di utilizzare password più sicure e impostazioni di blocco dell’account per gli account con privilegi.

Utilizza le seguenti righe di PowerShell per creare una politica di password e di blocco dell’account fine-grained su un sistema con il modulo AD per Windows PowerShell installato e importato.

Script per la politica di blocco:

New-ADFineGrainedPasswordPolicy PolicyName -ComplexityEnabled $true -LockoutThreshold "3" -MaxPasswordAge "30.00:00:00" -MinPasswordLength "14" -PasswordHistoryCount "20" -Precedence "1" -ReversibleEncryptionEnabled $false -ProtectedFromAccidentalDeletion $true

Script per la politica di password fine-grained:

Add-ADFineGrainedPasswordPolicySubject PolicyName -Subjects GroupName

Guarda l’attributo msDS-ResultantPSO dell’account utente per determinare quale politica di password a livello dettagliato e di blocco dell’account si applica. Inoltre, rivela la referenza alla politica della password che è coinvolta. Per questo, possiamo anche utilizzare il cmdlet Get-ADUserResultantPasswordPolicy PowerShell.

Gestione delle snapshot di Active Directory

Le snapshot per Active Directory possono essere utili in situazioni in cui l’organizzazione ha bisogno di confrontare informazioni da un determinato momento (il momento in cui abbiamo preso lo snapshot) con dati da un altro punto nel tempo.

A functional Active Directory VSS Writer and the Volume Shadow Copy functionality are required to create an Active Directory snapshot. These features come standard with Windows Server.

Accedi a un Controller di Dominio (DC) con un account utente che appartiene al Gruppo Amministratori di Dominio o al Gruppo Operatori di Backup per lavorare con le snapshot. Dopo aver effettuato l’accesso, apri il Prompt dei Comandi e segui i seguenti passaggi.

Per creare una snapshot di Active Directory utilizzando PowerShell, possiamo utilizzare il Export-DSSnapshot comandolet:

Export-DSSnapshot -Path

Successivamente, se desideri visualizzare tutte le snapshot di Active Directory utilizzando PowerShell, possiamo utilizzare il Get-DSSnapshot comandolet:

Get-DSSnapshot -Path

Quindi, per montare una snapshot di Active Directory utilizzando PowerShell, utilizziamo il Mount-DSSnapshot cmdlet. Ad esempio, il comando seguente monterà la snapshot con l’ID specificato dalla posizione specificata:

Mount-DSSnapshot -Path  -Identity

Il cmdlet PowerShell sopra indicato restituirà la posizione in cui è montato il database. Per esporlo come un LDAP Store, eseguire questo comando:

dsamain.exe -dpbath "" -LDAPport

Mantieni in esecuzione questo comando fintanto che vogliamo che il Server LDAP sia operativo. Per ricercare informazioni, utilizza il AD Module per i cmdlet di Windows PowerShell. Inserisci il parametro -Server e il nome host e il numero di porta del server, separati da un punto e virgola, come segue:

Get-ADComputer -Identity * -Server Localhost:PortNumber

In alternativa, possiamo utilizzare strumenti aggiuntivi di Active Directory come ldifde.exe e csvde.exe per trasferire informazioni tra snapshot e Active Directory. Sfortunatamente, non sono disponibili strumenti nativi per eseguire questi tipi di operazioni.

Gestione degli oggetti eliminati nel Active Directory

In definitiva, il processo di tombstoning del Active Directory consente al Controller di dominio di replicare l’eliminazione. Quando il Cestino del Active Directory è abilitato, il DC replica gli oggetti eliminati prima di essere tombstoned.

In questo stato, possiamo visualizzare gli oggetti eliminati nel contenitore Oggetti Eliminati. Fondamentalmente, ripristiniamo gli oggetti da questo contenitore, compresi i loro membri dei gruppi e altri attributi, nella loro posizione originale o in un contenitore diverso.

Su un sistema con il modulo AD per Windows PowerShell installato, utilizza i seguenti comandi PowerShell per visualizzare gli oggetti AD eliminati per un dominio:

Get-ADObject -IncludeDeletedObjects -Filter *

Inoltre, per ripristinare un oggetto AD eliminato , utilizza i seguenti cmdlet PowerShell su un sistema con il modulo AD Windows PowerShell installato:

Get-ADObject -Filter { displayName -eq "" } - IncludeDeletedObjects |
Restore-ADObject

Reimpostazione della password dell’account del servizio Kerberos in AD

Ogni dominio Active Directory ha il suo account KRBTGT in un ambiente a più domini, che tutti i controller di dominio scrittura completa utilizzano. Inoltre, assegniamo singolarmente gli account KRBTGT a ogni controller di dominio in sola lettura.

Compromettere l’account del servizio Kerberos si traduce in una perdita della sicurezza di Kerberos e dell’account di controllo.

Certamente, se desideri reimpostare la password per il servizio account, accedi a un DC con diritti di amministratore di dominio e esegui quanto segue:

Set-ADAccountPassword -Identity (Get-ADUser krbtgt).DistinguishedName -Reset -NewPassword (ConvertTo-SecureString "" -AsPlainText -Force)

Altri modi per proteggere l’ambiente AD

Ci sono molti altri modi per proteggere un Active Directory e ne abbiamo menzionati alcuni. Tuttavia, ci vorranno alcuni articoli in più per spiegarli tutti, quindi ecco un elenco di concetti su cosa possiamo fare per proteggere il tuo ambiente Active Directory:

  • Eseguire il backup e ripristinare i GPO e il database AD (NTDS)
  • Gestire la modalità di ripristino dei Servizi Directory (DSRM) password su DC.
  • Implementare una soluzione per la password dell’Amministratore Locale (LAPS)
  • Collaborare con account di Servizio gestiti a livello di gruppo (gMSA).
  • Utilizzare il Security Configuration Wizard (SCW) per proteggere DC.
  • Gestire e monitorare il gruppo Protetti Utenti.
  • Utilizzare le politiche di autenticazione e silo delle politiche di autenticazione per configurare l’Extranet Smart Lockout.
  • e altro ancora.

Ora passiamo alla sezione successiva, dove discutiamo dell’esportazione di report di sicurezza e Audit utilizzando PowerShell.

Creazione di report di audit della sicurezza di Active Directory utilizzando PowerShell

Microsoft ha introdotto la politica di audit della sicurezza avanzata in AD alcune iterazioni fa. Questa funzione estende le opzioni di audit in dieci categorie:

  • Accesso globale agli oggetti Audit.
  • Account Logon.
  • Gestione account
  • Tracciamento dettagliato. 
  • Accesso al servizio directory. 
  • Accesso/Disconnessione. 
  • Accesso agli oggetti. 
  • Modifica delle policy.
  • Uso dei privilegi.
  • e Uso del sistema.

Sono disponibili diverse opzioni di controllo per ciascuna di queste categorie. Inoltre, la policy aggiunge voci nel Visualizzatore eventi con la fonte Microsoft Windows sicurezza di controllo quando è abilitata.

Per configurare la policy di controllo della sicurezza avanzata, seguire questi passaggi:

  1. Aprire la Console di gestione della policy di gruppo.
  2. Navigare al nodo Controller di dominio del dominio in cui si desidera configurare la policy.
  3. Fare clic con il pulsante destro del mouse sulla Policy di default del controller di dominio e fare clic su Modifica dal menu.
  4. Espandere la Configurazione del computer, fare clic suPolicy, fare clic su Impostazioni di Windows, fare clic su Impostazioni di sicurezza, fare clic su Configurazione avanzata della policy di controllo, fare clic su Policy di controllo, e quindi su Accesso DS.

5. Fare doppio clic sul Impostazione di controllo del Servizio Directory, Modifiche.
6.
Selezionare la casella per configurare gli eventi di controllo e scegliere Successo e Fallimento eventi di controllo.
7. Salvare le impostazioni e chiudere lo schermo Proprietà.
8. Chiudere la finestra Editor Gestione Criteri di Gruppo.

Con PowerShell, il Get-WinEvent Cmdlet consente agli auditor di personalizzare opzioni di filtraggio avanzate. Ad esempio, il seguente semplice comando in una riga interroga tutti i Log di Sicurezza ed esportarli in un file CSV come un rapporto generato. 

Get-WinEvent -FilterHashtable @{LogName="Security"} | Export-Csv -Path .\Security.csv -NoTypeInformation

Il file CSV dovrebbe essere simile al seguente:

La copia degli eventi di controllo dai log dell’event viewer del controller di dominio a una soluzione centralizzata di Gestione degli Eventi e Incidenti di Sicurezza (SIEM) è una pratica raccomandata.

Grazie per aver letto Creare report sulla sicurezza di Active Directory con PowerShell. Concluderemo questo articolo ora.

Conclusioni su Creare report sulla sicurezza di Active Directory con PowerShell

Oltre alle preoccupazioni sulla sicurezza sopra menzionate, possono sorgere problemi di conformità e normativi se un ambiente di Active Directory non è adeguatamente protetto. Ad esempio, molte organizzazioni devono rispettare determinati standard di sicurezza dei dati e della privacy. Non proteggere un Active Directory può metterle a rischio di non conformità e multe potenziali.

Source:
https://infrasos.com/create-active-directory-security-reports-with-powershell/