Впервые функционал контроллера домена, доступного только на чтение ( RODC — read-only domain controller), был представлен в Windows Server 2008. Основная цель RODC контроллера домена — возможность безопасной установки собственного контролера домена в удаленных филиалах и офисах с плохими WAN каналами и в которых сложно обеспечить физическую защиту сервера с ролью ADDS. Контроллер домена RODC содержит копию базы Active Directory, доступную только на чтение. Это означает, что никто, даже при получении физического доступа к такому контроллеру домена, не сможет изменить данные в AD (в том числе сбросить пароль администратора домена ).
В этой статье мы рассмотрим, как установить новый контроллер домена RODC на базе Windows Server 2022/2019 и особенности управления им.
Что такое контроллера домена на чтение RODC?
Основные отличия RODC от обычных контроллеров домена, доступных для записи (RWDC):
- Контроллер домена RODC хранит копию базы AD, доступную только для чтения. Клиенты не могут вносить изменения в базу такого контролера домена;
- RODC не реплицирует данные AD и папку SYSVOL на другие контроллеры домена (RWDC) (используется односторонняя репликация);
- Контроллер RODC хранит полную копию базы AD, за исключением хэшей паролей объектов AD и других атрибутов, содержащих чувствительную информацию. Этот набор атрибутов называется Filtered Attribute Set (FAS ) . Сюда относятся такие атрибуты, как ms-PKI-AccountCredentials, ms-FVE-RecoveryPassword, ms-PKI-DPAPIMasterKeys и т.д. Можно добавить и другие атрибуты в этот набор, например пароли компьютеров, хранящиеся в открытом виде в атрибуте ms-MCS-AdmPwd при использовании LAPS ;
- При получении контроллером RODC запроса на аутентификацию от пользователя, он перенаправляет этот запрос на ближайший RWDC контроллер;
- Контроллер RODC может кэшировать учетные данные некоторых пользователей (это ускоряет аутентификацию и позволяет пользователям авторизоваться на контроллере домена, даже при отсутствии связи с RWDC);
- Вы можете относительно безопасно предоставить административный доступ и RDP вход на контроллер домена пользователям без предоставления прав на других DC или Domain Admins (например, для доступа к серверу техническому специалисту филиала);
- DNS служба на RODС работает только на чтение.
Требования, которые должны быть выполнены для разворачивания Read-Only Domain Controller.
- На сервере должен быть назначен статический IP;
- Windows Firewall должен быть отключен или корректно настроен для прохождения трафика между DC и доступов от клиентов;
- В качестве DNS сервера должен быть указан ближайший RWDC контроллер;
- Вы можете установить RODC как на Windows Server Full GUI, так и на Windows Server Core редакцию.
- Не стоит размещать RODC в одном сайте с RWDC.
Установка RODC из графического интерфейса Server Manager
Откройте консоль Server Manager и добавьте роль Active Directory Domain Services (согласитесь с установкой всех дополнительных компонентов и средств управления).
На этапе указания настроек нового DC, укажите что нужно добавить новый контроллер домена в существующий домен ( Add a domain controller to an existing domain ), укажите имя домена и, если необходимо, данные учетной записи пользователя с правами администратора домена.
Выберите, что нужно установить роль DNS сервера, глобального каталога (GC) и RODC. Далее выберите сайт AD, в котором будет находится новый контролер и пароль для доступа в DSRM режиме.
Далее нужно указать пользователя, которому нужно предоставить административной доступ к контроллеру домена (Delegated administrator account), а также список учетных записей/групп, пароли которых разрешено (Accounts that are allowed to replicate passwords to the RODC) и запрещено (Accounts that are denied from replicating passwords to the RODC) реплицировать на данный RODC (можно задать позднее).
Укажите, что данные базы AD можно реплицировать с любого DC.
Replicate from -> Any domain controller
Затем укажите пути к базе NTDS, ее журналам и папке SYSVOL (в случае необходимости их можно перенести на другой диск позднее).
После проверки всех условий, можно запустить установку роли ADDS.
Также вы можете развернуть RODC с помощью функции Staged. Она заключается в предварительном создании учетной записи компьютера RODC в консоли ADUC и базовой настройки. Для этого щелкните правой кнопкой по контейнеру Domain Controllers и выберите Pre-create Read-Only Domain Controller account .
При установке ADDS на сервере с таким же именем, появится надпись:
A Pre-created RODC account that matches the name of the target server exists in the directory. Choose whether to use this existing RODC account or reinstall this domain controller.
Выберите опцию Use existing RODC account , чтобы использовать настроенный аккаунт RODC в AD.
После завершения установки роли и перезагрузки сервера вы получите RODC контроллер. Вы можете проверьте состояние контроллера домена согласно статье .
При подключении консолью ADUC (dsa.msc) к RODC все кнопки создания новых объектов AD станут неактивными (серыми). Также на RODC нельзя изменить атрибуты объектов AD . Все остальные действия в консоли Active Directory, в том числе поиск , работают как обычно.
Установка контроллера домена на чтение (RODC) с помощью PowerShell
Для разворачивания нового RODC с помощью PowerShell, нужно установить роль ADDS и PowerShell модуль ADDS.
Add-WindowsFeature AD-Domain-Services, RSAT-AD-AdminCenter,RSAT-ADDS-Tools
Теперь можно запустить установку RODC:
Install-ADDSDomainController -ReadOnlyReplica:$true -DomainName yourdimain.com -SiteName "Default-First-Site-Name" -InstallDns:$true -NoGlobalCatalog:$false
После окончания работы командлет запросит перезагрузку сервера.
Выведите список DC в вашем домене с помощью командлета Get-ADDomainController из модуля AD PowerShell :
Get-ADDomainController -Filter * | Select-Object Name,IsReadOnly
У RODC значение атрибута IsReadOnly должно быть True
Чтобы вывести все RODC в домене, выполните:
Get-ADDomainController –filter {IsReadOnly –eq $true}
Если вы хотите сначала создать аккаунт RODC в домене, исопльзуйте такую команду:
Add-ADDSReadOnlyDomainControllerAccount -DomainControllerAccountName SPB-RO-DC1 -DomainName remontka.com -DelegatedAdministratorAccountName "remontkakbuldogov" -SiteName SPB_RO_Site
Затем при повышении Windows сервер до DC используйте команду:
Install-ADDSDomainController -DomainName remontka.com -Credential (Get-Credential) -LogPath "C:WindowsNTDS" -SYSVOLPath "C:WindowsSYSVOL" -ReplicationSourceDC "SPB-DC01.remontka.com" – UseExistingAccount
–Server
, который доступен у командлетов Set-ADUser , Set-ADComputer , New-ADUser и т.д.Политики репликации и кэширования паролей на RODC
На каждом RODC можно задать список пользователей, компьютеров и серверов, чьи хэши пароли можно или нельзя реплицировать на данный контролер домена.
По умолчанию в домене создаются две новые глобальные группы
- Allowed RODC Password Replication Group
- Denied RODC Password Replication Group
Первая группа по умолчанию пуста, а во второй содержатся административные группы безопасности , пароли пользователей которых нельзя реплицировать и кэшировать на RODC с целью исключения риска их компрометации. Сюда по-умолчанию входят такие группы, как:
- Group Policy Creator Owners
- Domain Admins
- Cert Publishers
- Enterprise Admins
- Schema Admins
- Аккаунт krbtgt
- Account Operators
- Server Operators
- Backup Operators
В группу Allowed RODC Password Replication Group обычно добавляются группы пользователей филиала, в котором находится RODC.
Если в домене развернутся несколько контроллеров домена на чтение, лучше создать такие группы для каждого RODC. Привязка групп к контроллеру домена RODC выполняется в свойствах сервера в консоли ADUC на вкладке Password Replication Policy .
В окне Advanced Password Replication Policy for RODC_name можно просмотреть:
- Accounts whose passwords are stored on this Read-Only Domian Controller – список пользователей и компьютеров, чьи пароли закешированы на этом RODC
- Accounts that have been authenticated to this Read-Only Domain – список пользователей и компьютеров, которые подключены через этот RODC
На вкладке Resultant Policy можно выбрать учетку пользователя и узнать, будет ли его пароль кэшироваться на RODC.
Вы можете управлять группами RODC с помощью PowerShell. Вывести список пользователей в группе AD :
Get-ADGroupMember -Identity "Denied RODC Password Replication Group" | ft Name, ObjectClass
Добавить в группу RODC всех активных пользователей из определенного OU Active Directory :
Get-ADUser -Filter {Enabled -eq "True"} -SearchBase 'OU=SPBOffice,DC=remontka,DC=ru' | ForEach-Object {Add-ADGroupMember -Identity 'Allowed RODC Password Replication Group' -Members $_ -Confirm:$false }
Чтобы закешировать пароль пользователей из OU на RODC, используйте скрипт:
$users = Get-ADUser -Filter {Enabled -eq "True"} -SearchBase 'OU=SPBOffice,DC=remontka,DC=ru'
foreach ($user in $users) {
Get-ADObject -identity $user | Sync-ADObject -Source SPB-DC01 ‑Destination SPB-RO-DC1 -PasswordOnly
}
Вывести список пользователей и компьютеров, чьи пароли находятся в кэше RODC можно с помощью командлета:
Get-ADDomainControllerPasswordReplicationPolicyUsage -Identity SPB-RO-DC1 ‑RevealedAccounts
Нельзя удалить пароль определенного пользователя из кэша RODC. Но вы можете сделать эти данные недействительными, сбросив пароль пользователя из оснастки ADUC или с помощью Set-ADAccountPassword .