Weboldal keresés

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 fsmo

Az 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-Backup

Ha a WSB nincs telepítve, hozzáadhatja a PowerShell segítségével:

Add-Windowsfeature Windows-Server-Backup -Includeallsubfeature

Vagy 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_cmd

Futtassa 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 detailed

A 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.sys

Amint 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.sys

nak nek

System32\DRIVERS\vsock.sys

Futtassa ú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 /showbackup

Most 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_cmd

Egy 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\SYSTEM

fió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 -Force

Tehá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.

Kapcsolódó cikkek