Búsqueda de sitios web

¿Cómo hacer una copia de seguridad del controlador de dominio de Active Directory?


En este artículo, hablaremos sobre la copia de seguridad del controlador de dominio de Active Directory y aprenderemos a configurar la copia de seguridad automática de AD utilizando PowerShell y las herramientas integradas de Windows Server.

¿Necesito hacer una copia de seguridad de Active Directory?

Muchas veces escuché de mis compañeros administradores que si tiene varios controladores de dominio (3, 8, etc.) que se distribuyen en diferentes ubicaciones geográficas, no necesita hacer una copia de seguridad de su AD en absoluto. Dado que con varios DC ha proporcionado tolerancia a errores de dominio. Es el esquema cuando la falla simultánea de todos los controladores de dominio tiende a 0, y si uno de los controladores de dominio falla, puede implementar rápidamente uno nuevo en el mismo sitio y eliminar el anterior usando ntdsutil.

Sin embargo, en mi práctica me he encontrado con varios escenarios en los que todos los controladores de dominio resultaron estar dañados: en un caso, todos los controladores de dominio (aunque había más de 20 de ellos en diferentes ciudades) estaban encriptados debido a que un ransomware capturó la contraseña del administrador del dominio usando la herramienta mimikatz, en otro caso, una replicación de un archivo NTDS.DIT dañado resultó en una falla del dominio.

Entonces puede y debe hacer una copia de seguridad de su AD. Debe realizar una copia de seguridad de al menos los controladores de dominio clave y los propietarios de roles FSMO (operaciones flexibles de maestro único) con regularidad. Puede obtener la lista de controladores de dominio con roles FSMO usando este comando:

netdom query fsmo

Obtener la fecha de la última copia de seguridad del controlador de dominio de Active Directory

Puede comprobar cuándo se realizó una copia de seguridad del controlador de dominio de Active Directory actual mediante la herramienta repadmin:

repadmin /showbackup

Puede ver que, en este ejemplo, la última vez que se realizó una copia de seguridad de las particiones DC y AD fue el 2017-02-18 (es probable que la copia de seguridad no se haya realizado desde que se implementó el controlador de dominio).

Puede obtener el estado de la copia de seguridad de todos los DC del dominio con este comando:

repadmin /showbackup *

Si sus controladores de dominio se ejecutan en máquinas virtuales y realiza una copia de seguridad de ellos mediante instantáneas (vea el ejemplo con la copia de seguridad de Hyper-V), las fechas de la copia de seguridad no se actualizarán por un motivo evidente. La mayoría de las herramientas de respaldo modernas tienen una opción que puede verificar para especificar que es un DC y que los datos en el directorio LDAP deben actualizarse durante el respaldo.

Copia de seguridad del controlador de dominio de AD mediante Windows Server Backup

Si no tiene ningún software de copia de seguridad especial, puede utilizar la Copia de seguridad del servidor de Windows integrada (este componente ha reemplazado a la herramienta NTBackup). Puede configurar una tarea de copia de seguridad automática en la GUI de copia de seguridad de Windows Server, pero tiene algunas restricciones. La principal desventaja es que una nueva copia de seguridad del servidor siempre sobrescribirá una anterior.

Cuando realiza una copia de seguridad de un controlador de dominio mediante WSB, crea una copia de seguridad de estado del sistema. El estado del sistema incluye la base de datos de Active Directory (NTDS.DIT), los objetos de directiva de grupo, el contenido del directorio SYSVOL, el registro, los metadatos de IIS, la base de datos de AD CS y otros archivos y recursos del sistema. La copia de seguridad se crea a través del Servicio de instantáneas de volumen (VSS).

Puede verificar si Windows Server Backup está instalado usando el cmdlet Get-WindowsFeature PowerShell:

Get-WindowsFeature Windows-Server-Backup

Si WSB no está instalado, puede agregarlo con PowerShell:

Add-Windowsfeature Windows-Server-Backup -Includeallsubfeature

O instale Windows Server Backup a través de Administrador de servidores -> Características.

Guardaré la copia de seguridad de este controlador de dominio AD en una carpeta de red compartida en un servidor de copia de seguridad dedicado. Por ejemplo, una ruta al directorio de copia de seguridad puede verse así:

\\mun-back1\backup\dc01

. Configure los permisos NTFS para esta carpeta: otorgue permisos de lectura y escritura a los grupos Administradores de dominio y Controladores de dominio solo.

Copia de seguridad de Active Directory con PowerShell

Intentemos hacer una copia de seguridad de un controlador de dominio usando PowerShell. Para mantener varios niveles de copias de seguridad de AD, almacenaremos cada copia de seguridad en un directorio separado con la fecha de creación de la copia de seguridad como nombre de la carpeta.

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

Ejecute el script de PowerShell. Aparecerá la consola de wbadmin. Contiene información sobre el proceso de creación de una copia de seguridad del disco (instantánea):

The backup operation to \\mun-back1\backup\dc1\2020-06-01 is starting.
Creating a shadow copy of the volumes specified for backup...

Mi primer intento de hacer una copia de seguridad de un DC falló con un error (el controlador de dominio era una máquina virtual VMWare):

Detailed error: The filename, directory name, or volume label syntax is incorrect.
The backup of the system state failed [01.06.2020 8:31].

Abrí el registro de errores de WSB: C:\Windows\Logs\WindowsServerBackup\Backup_Error-01-06-2020_09-23-14.log.

Hubo el siguiente error en el archivo:

Error in backup of C:\windows\\systemroot\ during enumerate: Error [0x8007007b] The filename, directory name, or volume label syntax is incorrect.

De cara al futuro, diré que el problema estaba en la ruta incorrecta de un controlador de VMWware Tools.

Para corregir el error, inicie el símbolo del sistema de elevación y ejecute este comando:

DiskShadow /L writers.txt
list writers detailed

Después de obtener la lista, escriba salir y abra C:\Windows\System32\writers.txt. Busque la cadena que contiene “windows\ ”.

En mi caso, la cadena que había encontrado se veía así:

File List: Path = c:\windows\\systemroot\system32\drivers, Filespec = vsock.sys

Como puede ver, se utiliza una ruta incorrecta al controlador VSOCK.SYS.

Para corregir la ruta, abra el Editor del Registro y vaya a la clave de registro HKLM\SYSTEM\CurrentControlSet\Services sock.

Cambie el valor de ImagePath de

\systemroot\system32\DRIVERS\vsock.sys

a

System32\DRIVERS\vsock.sys

Vuelva a ejecutar el script de copia de seguridad.

Si la copia de seguridad se ha realizado correctamente, verá los siguientes mensajes en el registro:

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].

Verifique la hora de la última copia de seguridad de DC:

repadmin /showbackup

Ahora dice que la última copia de seguridad del controlador de dominio se realizó hoy.

El tamaño del directorio con la copia de seguridad del controlador de dominio en el servidor es de unos 9 GB. De hecho, tenemos un archivo VHDX que puede usar para restaurar el sistema operativo desde WSB, o puede montar manualmente el archivo VHDX y copiar los archivos o carpetas que necesita de él.

Si hay varios DC en Active Directory, no es necesario que haga una copia de seguridad de todos ellos. Para ahorrar espacio, basta con hacer periódicamente una copia de seguridad de la base de datos de Active Directory: archivo ntds.dit. Para hacerlo, usa estos comandos:

$WBadmin_cmd = "wbadmin start backup -backuptarget:$path -include:C:\Windows\NTDS\ntds.dit -quiet"
Invoke-Expression $WBadmin_cmd

El tamaño de dicha copia de seguridad será solo de 50 a 500 MB, según el tamaño de la base de datos de AD.

Para la copia de seguridad automática de AD, cree el script C:\PS\Backup_AD_DC.ps1 en su DC. Ejecútelo de acuerdo con el cronograma usando Programador de tareas. Puede crear una tarea del Programador desde la GUI o con PowerShell. El requisito principal es que la tarea debe ejecutarse bajo el

NT AUTHORITY\SYSTEM

cuenta con la opción Ejecutar con los privilegios más altos marcada. Para una copia de seguridad diaria del controlador de dominio de AD, cree la siguiente tarea programada:

$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

Por lo tanto, hemos configurado una copia de seguridad de AD y hablaremos sobre formas de restaurar AD desde una copia de seguridad del estado del sistema del controlador de dominio en nuestro próximo artículo.

Artículos relacionados