Home | Chi sono | Contattami
 

Progr. lineare

Delphi
 
Componenti
  Database
 
Miei articoli

Windows

Miei articoli 

 

Backup e Restore di Active Directory

Per fare il backup dell' Active Directory è opportuno eseguire il backup dello "Stato di sistema" di ogni domain controller; lo "Stato di sistema" di un domain controller contiene anche l' Active Directory: non contiene solo l' Active Directory, ma l' integrazione di quest' ultima con altre componenti del sistema (voci di registro, etc...) rende obbligatorio il backup dell' intero "Stato del sistema" se si vuole poi eseguire un ripristino corretto. Tale backup può essere eseguito semplicemente con l' utility di backup di Windows e cioè "ntbakup.exe". Per i dettagli dell' esecuzione di tale backup si può far riferimento all' url

http://www.windowsecurity.com/articles/Securing_Windows_2000_Active_Directory_Part_3__Backup_and_Restoration.html

L' Active Directory utilizza il "File Replication Service" per sincronizzarsi su tutti i domain controller: per sapere cosa replicare di volta in volta (è chiaro che sarebbe troppo pesante copiare tutte le volte il database di Active Directory su tutti i Domain Controller e quindi il sistema deve individuare le differenze ed applicare solo quelle) ogni oggetto dell' Active Directory ha un USN (Universal Sequence Number) che è funzione del numero di volte che quell' oggetto è stato modificato. Se modifico un oggetto sul domain controller "A", il suo USN sarà maggiore dell' USN dello stesso oggetto sul domain controller "B" e quindi il "servizio replica file" assegna all' oggetto sul domain controller "B", il valore presente sul domain controller "A" (se andiamo nei dettagli il discorso è più complesso poichè bisogna anche tener conto del fatto che il valore dell' oggetto in questione potrebbe anche essere stato cambiato in un altro domain controller "C" prima che la modifica fatta sul controller "B" sia stata applicata agli altri domain controller e dopo che è stata fatta sul controller "B" (si ma il succo è comunque questo perchè altrimenti qui diventiamo vecchi ...). Bene, da bravo sistemista ogni giorno studio come automatizzare varie operazioni, sviluppo i miei script in VBScript, poi ad un certo punto mi accorgo di aver danneggiato i dati della mia Active Directory (cose che succedono ...). Cosa posso fare (oltre ad incaz....)? Bene: cerco di trovare la data più recente in cui i dati nell' Active Directory erano in uno stato corretto, tra tutti i backup disponibili (N.B. bisogna fare il backup dello "stato di sistema" di ogni domain controller) ne prendo uno e ne faccio il restore sul domain controller corrispondente (meglio che prima lo stacco dalla rete). Per fare il restore occorre avviare il sistema in "Modalità Ripristino Servizi Directory": all' avvio premo F8 e tra le voci scelgo appunto "Modalità Ripristino Servizi Directory" (proprio come ho sempre fatto per avviare il sistema in modalità provvisoria). Al login posso avere la prima sorpresina (oltre a quelle che ho già avuto finora): mi loggo come administrator, inserisco la password e mi dice password non valida, riprovo (mi sono sbagliato, sapete l' agitazione) e non va ancora (non sarò rinc...?). Il problema è che in questa modalità devo usare la password di administrator che avevo inserito a suo tempo nel wizard di installazione dell' Active Directory: nelle maschere del wizard ce n' è una che mi fa inserire la password amministrativa da usare per loggarsi nella "Modalità ripristino servizi directory" (ed è anche quella da usare quando si esegue la "Console di rispristino"). In sostanza è la password dell' amministratore locale (contenuta nel file "c:\winnt\system32\config\SAM" e non nel file "C:\WINNT\NTDS\ntds.dit" che è il database dell' Active Directory). Bene se uno non ha inserito la stessa password usata nella modalità normale, nel 99% dei casi non se la ricorda. E' però possibile settarla: basta fare un salto agli indirizzi

Windows 2003 server - http://support.microsoft.com/?kbid=322672 
Windows 2000 server -
http://support.microsoft.com/?kbid=239803

Altra piccola parentesi: i server di solito non hanno un monitor collegato e se non avessi la forza o la voglia di prenderne uno e collegarlo per il fatidico F8 e la successiva selezione della modalià di avvio? Niente paura c' è la soluzione anche a questo: un salto all' indirizzo

http://support.microsoft.com/?kbid=239780

e ci accorgiamo che è possibile definire le varie modalità aggiungendo semplicemente dei parametri alla stringa di avvio del sistema operativo su cui stiamo lavorando. Supponiamo di aver il seguente "boot.ini":

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000"

collegandoci in terminal emulation, apriamo "boot.ini" (è un file nascosto e di sistema e quindi bisogna prima consentire la visualizzazione di tali files nelle opzioni cartella) e aggiungiamo i parametri adeguati alla riga corrispondente al sistema nella sezione [operating systems]:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000"
/safeboot:dsrepair /sos

Al prossimo boot il sistema partirà in "Modalità Ripristino Servizi Directory".

Bene!!!! Una volta loggati eseguiamo il restore. Bisogna fare una considerazione molto importante: è opportuno, nel wizard dell' utilità "ntbackup.exe", specificare una destinazione alternativa per il ripristino dei dati; in questa maniera tutto lo "Stato di sistema" (fatta eccezione l' Active Directory) non viene ripristinato nelle posizioni originali (sovrascrivendole) ma in una cartella alternativa; l' unica parte dello "Stato di sistema" che viene ripristinata sull' originale è appunto l' Active Directory. La cartella alternativa di destinazione del ripristino, alla fine può essere eliminata. A questo punto se lo ricollego alla rete, il servizio replica file mi riapplica la versione danneggiata presente sugli altri domain controller (in quanto gli oggetti dell' Active Directory presenti su questi ultimi avranno sicuramente un USN maggiore dell' USN degli oggetti dell' Active Directory risultanti dal restore). Bisogna quindi che tutti gli oggetti restorati, assumano un USN superiore al corrispondente USN sugli altri domain controller. Bisogna eseguire quello che viene chiamato "Authoritative Restore": subito dopo aver fatto il restore del System State (e prima di riavviare il sistema) aprire una linea di comando e scrivere "ntdsutil", al prompt che si ottiene digitare "authoritative restore" e quindi "restore database"; gli USN vengono incrementati e resi superiori ai corrispondenti sugli altri domain controller e quindi gli altri domain controller si aggiorneranno con i dati ricevuti dal domain controller su cui è stato fatto il restore. Se invece di tutto il database vogliamo fare il restore solo di una parte, allora al posto di "restore database" scriveremo "restore subtree <percorso LDAP>". Ad esempio per eseguire il restore dell' unità organizzativa "Amministrazione" (sottounità dell' unità organizzativa "Azienda") nel dominio "pippo.com" scriveremo

restore subtree OU=Amministrazione,OU=Azienda,DC=pippo,DC=com

alla fine del restore, digitare quit per uscire dal prompt "authoritative restore" ed ancora quit per uscire dal prompt "ntdsutil".

Per maggiori delucidazioni andare agli indirizzi

240363 - Backup e Restore dello "stato del sistema" di un domain controller
241594 - Authoritative Restore di Active Directory
216243 - Authoritative Restore di Active Directory: approfondimenti
248132 - Esempio di "Restore Subtree" per il ripristino dell' account computer di un domain controller
http://www.microsoft.com/technet/prodtechnol/windows2000serv/technologies/activedirectory/support/adrecov.mspx 
http://www.microsoft.com/technet/community/events/windows2000srv/tnt1-76.mspx

Per maggiori informazioni sulla gestione di Active Directory:

http://www.windowsecurity.com/articles/Securing_Windows_2000_Active_Directory_Part_1.html
http://www.windowsecurity.com/articles/Securing_Windows_2000_Active_Directory_Part_2.html

 

 




 

 

 

 
 

 

 
 
 
Your Ad Here