Come ripristinare gli attributi degli oggetti di Active Directory
Apr 7, 2023
Active Directory (AD) è un database e un insieme di servizi che offre una gestione centralizzata delle risorse dell'infrastruttura IT. Collega gli utenti alle risorse di cui hanno bisogno per svolgere il loro lavoro. Pertanto, i tecnici devono essere in grado di controllare e recuperare rapidamente gli attributi di AD che vengono modificati o cancellati a causa di guasti hardware, attacchi informatici, errori di scripting e altri problemi. Altrimenti, gli utenti non saranno in grado di accedere alle stesse risorse di prima, risultando in perdite di produttività, inefficienza, clienti insoddisfatti e un'immagine del marchio danneggiata.
Contenuti correlati selezionati:
Leggi questa guida per imparare come ripristinare gli attributi di Active Directory alla loro ultima configurazione salvata. Questa pagina include anche consigli e trucchi di PowerShell per il rollback e il recupero degli attributi di AD.
Quando sarebbe necessario ripristinare o recuperare gli attributi di AD?
È necessario essere in grado di ripristinare o recuperare gli attributi di AD quando:
- Qualcuno nel team IT commette un errore che influisce sugli attributi di uno o più oggetti AD. Ad esempio, supponiamo che un tecnico IT utilizzi accidentalmente lo script PowerShell sbagliato. Invece di aggiungere informazioni sull'indirizzo postale a certi account utente AD, sostituisce il valore corrente dell'attributo indirizzo di ogni oggetto utente nel dominio con un asterisco. Devi annullare queste modifiche per ripristinare gli indirizzi corretti.
- Un attore malevolo ottiene l'accesso alla tua rete AD e cancella o modifica gli attributi degli oggetti AD. Devi ripristinare o recuperare gli attributi per assicurarti che tutto sia in ordine.
È possibile utilizzare il Cestino di Active Directory per recuperare gli attributi di AD?
Semplicemente, no.
The Active Directory Recycle Bin is designed to retain certain deleted Active Directory objects for a short period of time. But the Active Directory Recycle Bin does not store AD attributes that have been modified, so it does not help with the attribute recovery process.
Tecnicamente, potresti provare a costruire un processo attorno alla speranza di essere in grado di accorgerti rapidamente di qualsiasi cambiamento indesiderato, trovare un controller di dominio che non abbia ancora ricevuto tali cambiamenti tramite replicazione e rendere autorevoli i suoi oggetti. Tuttavia, farlo sarebbe irrealistico — è come costruire il tuo piano di risparmio per la pensione attorno a un tovagliolo con scritto “vincere alla lotteria”.
Come puoi assicurarti di avere backup degli attributi di AD?
Poiché Active Directory non mantiene un registro dei valori degli attributi di un oggetto, il primo passo per garantire di poter recuperare o ripristinare gli attributi quando necessario è trovare qualcosa che lo faccia. Fortunatamente, quando si tratta di backup dello stato di sistema di Active Directory, non mancano gli strumenti di backup disponibili.
Windows Server Backup (WBAdmin)
Un'opzione è utilizzare Microsoft Windows Server Backup (WBAdmin). Installare lo strumento Windows Server Backup su un computer installerà lo strumento da riga di comando wbadmin.exe. Fornisce anche l'accesso ai cmdlet di Windows PowerShell per Windows Server Backup e allo snap-in MMC di Windows Server Backup. Queste tre opzioni sono semplicemente modi diversi di sfruttare una singola applicazione sottostante, quindi un backup eseguito da una qualsiasi di esse è visibile a tutte.
Puoi accedere a WBAdmin.exe aprendo un prompt dei comandi elevato con permesso di amministratore. Per farlo, clicca su Start, clicca con il tasto destro su Command Prompt e seleziona Run as administrator.
C'è una importante avvertenza da tenere presente con WBAdmin: quando configurato per memorizzare i backup in una cartella specifica, viene mantenuta solo la copia più recente del backup; i backup successivi sovrascrivono il contenuto del backup precedente.
Per evitare questo problema, lo script seguente creerà una cartella nominata utilizzando la data corrente nel formato YYYYMMDD e poi eseguirà il backup del file Active Directory ntds.dit in quella cartella utilizzando il comando START BACKUP di WBAdmin:
@echo off
set backupRoot=\FILESHARENtdsBackups
set backupFolder=%date:~-4,4%%date:~-10,2%%date:~7,2%
set backupPath=%backupRoot%%backupFolder%
mkdir %backupPath%
wbadmin start backup -backuptarget:%backupPath% -include:C:WindowsNTDSntds.dit -quiet
I risultati di questa operazione includono uno snapshot del servizio Volume Shadow Copy (VSS) del file ntds.dit.
Lo svantaggio di questo approccio è che il file risultante è considerevolmente più grande del file ntds.dit. Ad esempio, lo screenshot qui sotto mostra la dimensione del backup per un file ntds.dit di 20MB. Questo ulteriore utilizzo del disco potrebbe non essere un grosso problema in certi laboratori, ma non si adatterà bene in un ambiente di produzione.
Ntdsutil.exe
Un'altra opzione disponibile da Microsoft è Ntdsutil.exe, uno strumento da riga di comando per accedere e gestire un database di Active Directory. Ntdsutil è pericolosamente potente, quindi l'ambiente di produzione non è il luogo adatto per imparare a usarlo. Tuttavia, ciò è dovuto in gran parte al fatto che contiene una serie di comandi incredibilmente utili.
Ad esempio, Ntdsutil ha il comando SNAPSHOT, che cattura lo stato di Active Directory al momento della sua esecuzione:
Il grande svantaggio di questo approccio è che i backup di Ntdsutil vengono scritti nel volume che ospita Active Directory, il che non è l'ideale.
Come posso ripristinare gli attributi utilizzando WBAdmin e Ntdsutil.exe?
Ora, procediamo all'uso di WBAdmin e Ntdsutil.exe. Utilizzeremo lo strumento Active Directory Domain Services Database Mounting Tool (DSAMAIN) per montare i file ntds.dit nascosti nei nostri backup in modo da poterli esplorare tramite LDAP.
1. Prima di tutto, dobbiamo trovare una delle immagini VHD create da WBAdmin, montarla e assegnare una lettera di unità alla sua partizione primaria.
2. Successivamente, troviamo il percorso del file ntds.dit nel nostro backup montato, apriamo un prompt dei comandi come amministratore e usiamo il seguente comando per montare il file ntds.dit:
dsamain -dbpath “E:WindowsNTDSntds.dit” -ldapport 10389
Chiudendo il prompt dei comandi si interromperà DSAMAIN, quindi assicurati di tenerlo aperto fino al completamento del ripristino dello stato del sistema.
3. Ora che il backup WBAdmin è montato, monteremo lo snapshot preso da Ntdsutil. Per fare ciò, apriremo un nuovo prompt dei comandi come amministratore, useremo il comando snapshot per elencare i nostri backup, sceglieremo uno da montare e copieremo il percorso dell'unità assegnato da Ntdsutil:
4. Successivamente, troviamo il percorso al file ntds.dit situato sotto il percorso assegnato da Ntdsutil, apriamo un altro prompt dei comandi come amministratore e usiamo il seguente comando per montare il file ntds.dit:
dsamain -dbpath “C:\$SNAP_201903261110_VOLUMEC$\Windows\NTDS\ntds.dit” -ldapport 20389
5. Dopo ciò, cambiamo l'attributo Descrizione del nostro fidato utente di test Delete Q. Me.
6. Ora possiamo aprire PowerShell e utilizzare il cmdlet Get-ADUser per esaminare il nostro utente di test. Active Directory ascolta sulla porta 389 per impostazione predefinita, e abbiamo montato i nostri backup sulle porte 10389 e 20389. Utilizzando il parametro opzionale Server potremo vedere come appare il nostro utente di test dal vivo e in entrambi i nostri backup montati.
Come puoi vedere, il valore attuale dell'attributo Description è “Oops,” e entrambi i backup contengono il valore precedente, “Demo User Account.”
7. Ora possiamo utilizzare il cmdlet di PowerShell Get-ADUser per ripristinare questo attributo al valore catturato in uno dei nostri backup. Se prendiamo una copia dell'oggetto da uno dei backup montati, possiamo usare la copia dell'attributo di quell'oggetto per impostare il valore dell'attributo dell'oggetto attivo:
$UserBackup = Get-ADUser -Identity dqme -Properties Description -Server dc01:10389
Set-ADUser -Identity dqme -Description $UserBackup.Description -Server dc01:389
Si noti che il valore dell'attributo Description è stato ripristinato al valore catturato nel backup montato.
Questo sembra semplice, ma era solo un esercizio di laboratorio che coinvolgeva la modifica di un attributo specifico apportata a un oggetto specifico. Sapevamo anche quali backup contenevano le informazioni di cui avevamo bisogno per la nostra operazione di ripristino. In uno scenario di recupero del mondo reale, questo processo può diventare spiacevole, specialmente quando si ha fretta di ripristinare il servizio.
Recupera attributi di Active Directory con le soluzioni Netwrix
Utilizzare strumenti come WBAdmin e Ntdsutil.exe per recuperare gli attributi di AD può essere estenuante, specialmente se non si dispone di molte risorse, tempo o energia.
Fortunatamente, esiste un modo rapido e semplice per ripristinare gli attributi di AD — Netwrix’s end-to-end Active Directory Security Solution. Potente, completa e ricca di funzionalità, questo strumento esegue rollback rapidi da cancellazioni e modifiche AD indesiderate. In questo modo, puoi garantire la continuità operativa e la soddisfazione del cliente.
FAQ
Come ripristinare gli utenti di Active Directory cancellati con tutti gli attributi?
Quando devi ripristinare utenti AD eliminati con il loro completo set di attributi, il tuo approccio dipende dal fatto che il Cestino di Active Directory sia abilitato. Se è abilitato, usa PowerShell per ripristinare l'utente con tutti gli attributi originali intatti:
Get-ADObject -Filter 'DisplayName -eq "Username"' -IncludeDeletedObjects | Restore-ADObject
Questo metodo preserva l'appartenenza ai gruppi, i permessi e gli attributi personalizzati senza alcuna perdita di dati.
Quando il Cestino di Active Directory non è disponibile, sarà necessario un ripristino autorevole utilizzando strumenti come Ntdsutil.exe in combinazione con un recente backup dello stato del sistema. Questo processo richiede di mettere offline un controller di dominio e di ripristinare da un backup, il che significa che alcuni cambiamenti recenti potrebbero andare persi. La chiave è avere backup regolari e comprendere che i ripristini autorevoli influenzano l'intera directory, non solo singoli oggetti. Data Security That Starts with Identity significa che mantenere l'integrità completa degli attributi utente durante il ripristino è fondamentale per preservare i controlli di accesso e i confini di sicurezza.
Cosa fare quando il Cestino di Active Directory non è abilitato?
Senza il Cestino di Active Directory abilitato, le tue opzioni di ripristino diventano più complesse ma non impossibili. Il tuo percorso principale consiste nell'eseguire un ripristino autorevole utilizzando Ntdsutil.exe con un backup dello stato del sistema effettuato prima che si verificasse la cancellazione. Questo richiede l'avvio di un controller di dominio in Modalità di Ripristino dei Servizi di Directory e il ripristino del database di AD da backup.
Il processo di ripristino autorevole sovrascrive le modifiche più recenti con i dati di backup più vecchi, quindi perderai qualsiasi modifica alla directory effettuata dopo il backup. Ecco perché le strategie di backup proattive sono importanti: non puoi gestire ciò che non vedi e non puoi ripristinare ciò che non hai salvato. Per una protezione futura, abilita immediatamente il Cestino di AD utilizzando PowerShell:
Enable-ADOptionalFeature -Identity "Recycle Bin Feature" -Scope ForestOrConfigurationSet
Questo passaggio trasforma le tue capacità di recupero da complesse procedure offline a semplici comandi PowerShell, riducendo i tempi di inattività e preservando la continuità operativa.
Come ripristinare gli attributi di AD utilizzando i comandi PowerShell?
PowerShell offre il percorso più efficiente per il ripristino degli attributi di AD quando il Cestino è abilitato. Inizia identificando gli oggetti eliminati:
Get-ADObject -Filter * -IncludeDeletedObjects | Where-Object {$_.Name -like "*username*"}
Una volta localizzato l'oggetto di destinazione, ripristinalo completamente:
Restore-ADObject -Identity "ObjectGUID"
Per il ripristino parziale degli attributi su oggetti esistenti, utilizzare i comandi Set-ADUser o Set-ADObject per ricostruire attributi specifici da documentazione o esportazioni recenti. L'approccio pratico combina esportazioni AD regolari utilizzando Get-ADUser -Properties * con script di ripristino che possono ricostruire rapidamente insiemi di attributi. Questo metodo offre un controllo granulare su ciò che viene ripristinato senza influenzare altri oggetti della directory.
La forza di PowerShell risiede nella sua precisione: puoi ripristinare esattamente ciò di cui hai bisogno senza cambiamenti collaterali. Crea script di ripristino che documentino il tuo processo e testali prima in ambienti non di produzione. Un efficace Identity Management richiede sia visibilità su ciò che è cambiato sia controllo su come rispondi a tali cambiamenti.
Quando utilizzare il ripristino autorevole rispetto a quello non autorevole per gli oggetti di AD?
Scegli il ripristino autorevole quando devi forzare specifiche modifiche di AD su tutti i controller di dominio, sovrascrivendo modifiche più recenti. Questo metodo è il migliore per recuperare oggetti cancellati accidentalmente o per annullare modifiche non autorizzate in massa. Il processo autorevole contrassegna gli oggetti ripristinati con numeri di versione più alti, assicurando che la replica diffonda i tuoi dati recuperati in tutto il dominio.
Il ripristino non autorevole è adatto agli scenari di disaster recovery in cui si ricostruisce un domain controller fallito senza modificare i dati di directory esistenti. Questo approccio recupera le informazioni AD correnti da domain controller funzionanti piuttosto che imporre i dati di backup sull'intero dominio.
La decisione dipende dall'ambito e dall'intento. Il ripristino autorevole influisce sull'intera foresta e dovrebbe essere usato con parsimonia – è potente ma disruptivo. Il ripristino non autorevole influisce solo sul controller di dominio locale e si integra senza problemi con l'infrastruttura esistente. In entrambi i casi, comprendere la topologia di replica e avere backup recenti determina il successo. Data Security That Starts with Identity significa avere molteplici opzioni di recupero e sapere esattamente quando utilizzare ciascuna.
Come ripristinare gli oggetti computer in Active Directory?
Il ripristino dell'oggetto computer segue principi simili al ripristino dell'utente, ma richiede considerazioni aggiuntive per l'autenticazione della macchina e le relazioni di dominio. Quando il Cestino di AD è abilitato, utilizzare questo comando per recuperare l'account computer con tutti gli attributi:
Get-ADObject -Filter 'Name -eq "ComputerName"' -IncludeDeletedObjects | Restore-ADObject
Senza il Cestino, il ripristino del computer diventa più complesso perché è necessario ricostruire le relazioni di fiducia della macchina. Dopo un ripristino autorevole, i computer interessati devono tipicamente rientrare nel dominio poiché le loro password degli account macchina potrebbero non sincronizzarsi correttamente. Prevedi questo passaggio aggiuntivo quando ripristini gli oggetti computer dal backup.
L'approccio pratico include la documentazione degli attributi degli oggetti computer prima che si verifichino problemi. Esporta regolarmente i dettagli degli account computer utilizzando PowerShell, catturando l'appartenenza ai gruppi, il posizionamento nell'unità organizzativa e gli attributi personalizzati. Questa documentazione consente una più rapida ricreazione manuale quando il ripristino automatizzato non è possibile. Gli oggetti computer rappresentano più che semplici voci di directory – sono la base della tua infrastruttura di identità macchina, e il loro ripristino errato può interrompere l'autenticazione in tutto l'ambiente.
Condividi su
Scopri di più
Informazioni sull'autore
Joe Dibley
Ricercatore di sicurezza
Ricercatore di sicurezza presso Netwrix e membro del Netwrix Security Research Team. Joe è un esperto in Active Directory, Windows e una vasta gamma di piattaforme software aziendali e tecnologie, Joe ricerca nuovi rischi per la sicurezza, tecniche di attacco complesse e relative mitigazioni e rilevamenti.
Scopri di più su questo argomento
Creare utenti AD in massa e inviare le loro credenziali tramite PowerShell
Come creare, modificare e testare le password utilizzando PowerShell
Come aggiungere e rimuovere gruppi AD e oggetti nei gruppi con PowerShell
Fiducie in Active Directory
Attacchi ransomware di Active Directory