Hogyan készítsünk biztonsági másolatot az Active Directory tartományvezérlőről?
Ebben a cikkben az Active Directory tartományvezérlő biztonsági mentéséről fogunk beszélni, és megtanuljuk, hogyan konfigurálhatjuk az automatikus AD-mentést a PowerShell és a beépített Windows Server-eszközök használatával.
Biztonsági másolatot kell készítenem az Active Directoryról?
Sokszor hallottam adminisztrátortársaimtól, hogy ha több (3, 8 stb.) tartományvezérlője van, amelyek különböző földrajzi helyeken vannak elosztva, akkor egyáltalán nem kell biztonsági másolatot készítenie az AD-ről. Mivel több DC-vel tartományi hibatűrést biztosított. Ez az a séma, amikor az összes DC egyidejű meghibásodása 0-ra hajlamos, és ha az egyik tartományvezérlő meghibásodik, gyorsan telepíthet egy újat ugyanazon a helyen, és eltávolíthatja a régit az ntdsutil segítségével.
A gyakorlatom során azonban többféle forgatókönyvvel találkoztam, amikor kiderült, hogy az összes tartományvezérlő megsérült: az egyik esetben az összes tartományvezérlőt (bár több mint 20 volt különböző városokban) titkosították egy zsarolóprogram által a mimikatz eszközzel végrehajtott tartományadminisztrátori jelszórögzítés miatt, egy másik esetben pedig egy sérült tartományi hiba replikációja eredményezte az NTDS.DIT fájlt.
Tehát lehet és kell is biztonsági másolatot készíteni a hirdetéséről. Rendszeresen biztonsági másolatot kell készítenie legalább a kulcsfontosságú tartományvezérlőkről és az FSMO (Flexible single-master operations) szerepkör-tulajdonosokról. Az FSMO szerepkörrel rendelkező tartományvezérlők listáját a következő paranccsal kaphatja meg:
netdom query fsmoAz Active Directory tartományvezérlő utolsó biztonsági mentési dátumának lekérése
A repadmin eszközzel ellenőrizheti, hogy az aktuális Active Directory tartományvezérlőről mikor készült legutóbb biztonsági mentés:
repadmin /showbackup
Látható, hogy ebben a példában a DC és AD partíciók legutóbbi biztonsági mentése 2017-02-18 volt (valószínű, hogy a biztonsági mentés nem történt meg a tartományvezérlő üzembe helyezése óta).
Ezzel a paranccsal lekérheti a tartomány összes DC-jének biztonsági mentési állapotát:
repadmin /showbackup *Ha a tartományvezérlői virtuális gépeken futnak, és pillanatképekkel készít biztonsági másolatot róluk (lásd a Hyper-V biztonsági mentés példáját), akkor a biztonsági mentés dátumai nyilvánvaló okból nem frissülnek. A legtöbb modern biztonsági mentési eszköz rendelkezik egy opcióval, amellyel ellenőrizheti, hogy DC-ről van-e szó, és az LDAP-címtárban lévő adatokat frissíteni kell a biztonsági mentés során.
Az AD tartományvezérlő biztonsági mentése a Windows Server biztonsági mentés használatával
Ha nem rendelkezik speciális biztonsági mentési szoftverrel, használhatja a beépített Windows Server biztonsági mentést (ez az összetevő váltotta fel az NTBackup eszközt). A Windows Server Backup grafikus felhasználói felületén beállíthat egy automatikus biztonsági mentési feladatot, de bizonyos korlátozások vonatkoznak rá. A fő hátrány az, hogy egy új szervermentés mindig felülírja a korábbit.
Amikor biztonsági másolatot készít egy tartományvezérlőről WSB használatával, létrehoz egy Rendszerállapot biztonsági másolatot. A rendszerállapot tartalmazza az Active Directory adatbázist (NTDS.DIT), a csoportházirend-objektumokat, a SYSVOL címtár tartalmát, a rendszerleíró adatbázist, az IIS metaadatokat, az AD CS adatbázist és egyéb rendszerfájlokat és erőforrásokat. A biztonsági másolat a Volume Shadow Copy Service (VSS) szolgáltatáson keresztül jön létre.
A Get-WindowsFeature PowerShell parancsmag segítségével ellenőrizheti, hogy a Windows Server Backup telepítve van-e:
Get-WindowsFeature Windows-Server-BackupHa a WSB nincs telepítve, hozzáadhatja a PowerShell segítségével:
Add-Windowsfeature Windows-Server-Backup -IncludeallsubfeatureVagy telepítse a Windows Server biztonsági másolatot a Server Manager -> Features segítségével.
Az AD tartományvezérlő biztonsági másolatát egy dedikált biztonsági mentési kiszolgáló megosztott hálózati mappájába fogom menteni. Például a biztonsági mentési könyvtár elérési útja így nézhet ki:
\\mun-back1\backup\dc01. Állítsa be az NTFS-engedélyeket ehhez a mappához: adjon olvasási és írási hozzáférési engedélyeket a Domain Admins és Domain Controllers csoportoknak csak.
Active Directory biztonsági mentése a PowerShell segítségével
Próbáljunk meg biztonsági másolatot készíteni egy tartományvezérlőről a PowerShell segítségével. Az AD biztonsági másolatok több szintjének megtartásához minden biztonsági másolatot külön könyvtárban tárolunk, a biztonsági másolat létrehozásának dátumával a mappanévvel.
Import-Module ServerManager
[string]$date = get-date -f 'yyyy-MM-dd'
$path=”\\mun-back1\backup\dc1\”
$TargetUNC=$path+$date
$TestTargetUNC= Test-Path -Path $TargetUNC
if (!($TestTargetUNC)){
New-Item -Path $TargetUNC -ItemType directory
}
$WBadmin_cmd = "wbadmin.exe START BACKUP -backupTarget:$TargetUNC -systemState -noverify -vssCopy -quiet"
Invoke-Expression $WBadmin_cmdFuttassa a PowerShell-szkriptet. Megjelenik a wbadmin konzol. Információkat tartalmaz a lemez biztonsági mentésének (árnyékmásolat) létrehozásának folyamatáról:
The backup operation to \\mun-back1\backup\dc1\2020-06-01 is starting.
Creating a shadow copy of the volumes specified for backup...Az első kísérletem, hogy biztonsági másolatot készítsek egy DC-ről, egy hiba miatt meghiúsult (a tartományvezérlő egy VMWare virtuális gép volt):
Detailed error: The filename, directory name, or volume label syntax is incorrect.
The backup of the system state failed [01.06.2020 8:31].Megnyitottam a WSB hibanaplót — C:\Windows\Logs\WindowsServerBackup\Backup_Error-01-06-2020_09-23-14.log.
A következő hiba volt a fájlban:
Error in backup of C:\windows\\systemroot\ during enumerate: Error [0x8007007b] The filename, directory name, or volume label syntax is incorrect.
A jövőre nézve elmondom, hogy a probléma a VMWware Tools illesztőprogramjának helytelen elérési útjában volt.
A hiba kijavításához indítsa el az elevate parancssort, és futtassa ezt a parancsot:
DiskShadow /L writers.txt
list writers detailedA lista lekérése után írja be a quit parancsot, és nyissa meg a C:\Windows\System32\writers.txt fájlt. Keresse meg a „windows\” karakterláncot.
Az én esetemben a talált karakterlánc így nézett ki:
File List: Path = c:\windows\\systemroot\system32\drivers, Filespec = vsock.sysAmint láthatja, a VSOCK.SYS illesztőprogram rossz elérési utat használ.
Az elérési út kijavításához nyissa meg a Rendszerleíróadatbázis-szerkesztőt, és lépjen a HKLM\SYSTEM\CurrentControlSet\Services sock reg kulcshoz.
Módosítsa az ImagePath értékét
\systemroot\system32\DRIVERS\vsock.sysnak nek
System32\DRIVERS\vsock.sysFuttassa újra a biztonsági mentési szkriptet.
Ha a biztonsági mentés sikeres volt, a következő üzeneteket fogja látni a naplóban:
The backup operation successfully completed.
The backup of volume (C:) completed successfully.
The backup of the system state successfully completed [01.06.2020 09:52].Ellenőrizze az utolsó DC biztonsági mentés idejét:
repadmin /showbackupMost azt írja, hogy az utolsó tartományvezérlő biztonsági mentést ma végezték el.
A kiszolgálón lévő tartományvezérlő biztonsági másolatát tartalmazó könyvtár mérete körülbelül 9 GB. Valójában van egy VHDX fájlunk, amellyel visszaállíthatja az operációs rendszert a WSB-ről, vagy manuálisan csatlakoztathatja a VHDX fájlt, és kimásolhatja belőle a szükséges fájlokat vagy mappákat.
Ha több DC van az Active Directoryban, nem kell mindegyikről biztonsági másolatot készítenie. A hely megtakarításához elegendő időnként biztonsági mentést készíteni az Active Directory adatbázisról - az ntds.dit fájlról. Ehhez használja az alábbi parancsokat:
$WBadmin_cmd = "wbadmin start backup -backuptarget:$path -include:C:\Windows\NTDS\ntds.dit -quiet"
Invoke-Expression $WBadmin_cmdEgy ilyen biztonsági mentés mérete csak 50-500 MB lesz az AD adatbázis méretétől függően.
Az automatikus AD biztonsági mentéshez hozza létre a C:\PS\Backup_AD_DC.ps1 szkriptet a DC-n. Futtassa az ütemezésnek megfelelően a Feladatütemező segítségével. Létrehozhat ütemező feladatot a grafikus felhasználói felületről vagy a PowerShell segítségével. A fő követelmény az, hogy a feladatot a
NT AUTHORITY\SYSTEMfiókban, és be van jelölve a Futtatás a legmagasabb jogosultságokkal opcióval. Napi AD-tartományvezérlő biztonsági mentéshez hozza létre a következő ütemezett feladatot:
$Trigger= New-ScheduledTaskTrigger -At 02:00am -Daily
$User= "NT AUTHORITY\SYSTEM"
$Action= New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "C:\PS\Backup_AD_DC.ps1"
Register-ScheduledTask -TaskName "BackupAD-DC-daily" -Trigger $Trigger -User $User -Action $Action -RunLevel Highest -ForceTehát konfiguráltunk egy AD biztonsági mentést, és a következő cikkünkben meg fogjuk beszélni, hogyan állíthatjuk vissza az AD-t a tartományvezérlő rendszerállapotának biztonsági másolatából.









