Подготовка на домейн контролера
Vertex изпълнява всяка заявка към директорията на един домейн контролер от домейна на клиента, чрез конектора на обекта на Entrosity Axis, инсталиран там. Тази страница изброява какво е нужно на този домейн контролер (по-долу DC1), в реда, в който да го подготвите.
Изисквания накратко
| Какво | Защо |
|---|---|
Конекторът на обекта на Axis на DC1, версия, която обявява възможността vertex | Изпълнява задачите на Vertex. |
| Windows PowerShell 5.1 с модулите ActiveDirectory и GroupPolicy | Всяка операция е PowerShell скрипт, който използва тези модули. |
| Включен WinRM на DC1 | Скриптът отваря PowerShell сесия към самия DC1 като AD акаунта. |
| Отделен AD акаунт с делегирани права | Vertex действа като този акаунт; Active Directory отказва това, което не му е дадено. |
| Членство в Remote Management Users | Позволява на акаунта да отвори тази PowerShell сесия. |
| Group Policy Creator Owners, права за GPO и за свързване към OU | Само ако Vertex управлява GPO. |
| Права върху Password Settings Container | Само ако Vertex управлява политики за пароли. |
Папката %ProgramData%\Entrosity\Vertex GPO Backups | Резервни копия на GPO преди всяка промяна на GPO. |
| Локален администратор, който приема локалната защита | Без нея конекторът не записва нищо. |
DC1 не се нуждае от входящ порт от интернет: конекторът се свързва навън към Axis по HTTPS (443).
1. Инсталирайте конектора на Axis на DC1
Инсталирайте конектора на обекта на DC1, както е описано в
Конектор на обекта. Задачите на Vertex
изискват Windows версията му; тогава конекторът обявява възможността
vertex и Vertex го предлага в настройките на директорията
(supports_vertex). Ако вече имате конектор на друг сървър, инсталирайте
втори на домейн контролер за Vertex; конектор на член-сървър не може да
изпълнява задачи на Vertex.
Услугата на конектора може да продължи да работи като LocalSystem: скриптовете на Vertex не използват самоличността на услугата за достъп до директорията, те работят като AD акаунта, който задавате във Vertex.
2. PowerShell и модулите му
Конекторът стартира %SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe
(Windows PowerShell 5.1, не PowerShell 7). На домейн контролер модулът
ActiveDirectory обикновено се инсталира с ролята AD DS. Модулът
GroupPolicy идва с конзолата Group Policy Management. Проверете в
PowerShell на DC1:
Get-Module -ListAvailable ActiveDirectory, GroupPolicy
Ако някой липсва, инсталирайте го:
Install-WindowsFeature RSAT-AD-PowerShell # ActiveDirectory
Install-WindowsFeature GPMC # GroupPolicy
Без ActiveDirectory всяка операция завършва с missing_module; без
GroupPolicy – само операциите с GPO (и частта за GPO от
синхронизацията).
3. WinRM (сесията към самия сървър)
Командите на ActiveDirectory и GroupPolicy не могат да приемат идентификационни
данни за всичко, което правят, затова конекторът отваря PowerShell сесия
към самия DC1 (New-PSSession -ComputerName <DC1>) като AD акаунта и
изпълнява операцията в нея. За това е нужен WinRM, който Windows Server
включва по подразбиране. Ако е бил изключен, включете го от PowerShell с
администраторски права:
Enable-PSRemoting -Force
Test-WSMan -ComputerName $env:COMPUTERNAME
Сесията остава на машината (loopback); за Vertex нищо друго не трябва да достига WinRM порта на DC1.
4. AD акаунтът
Създайте отделен потребителски акаунт за Vertex, например
SCHOOL\svc-vertex, с дълга случайна парола, която не изтича (или която
сменяте в настройките на Vertex, когато изтече). Не го правете
администратор на домейна: дайте му само това, което Vertex трябва да може
да прави.
Remote Management Users
Добавете акаунта във вградената локална за домейна група Remote
Management Users (на домейн контролерите тази група важи за всеки DC).
Без нея отварянето на сесията завършва с access_denied и подсказката
add it to Remote Management Users.
Права върху управляваните OU
За всяка OU, която Vertex ще управлява, делегирайте на акаунта това, което трябва да прави там. С Active Directory Users and Computers → Delegate Control върху OU:
- Create, delete, and manage user accounts;
- Reset user passwords and force password change at next logon;
- Read all user information;
- Create, delete and manage groups и Modify the membership of a group;
- като потребителска задача, Organizational Unit objects: създаване и
изтриване, и Write all properties върху обекти потребител, група и OU
(нужно за промяна на всеки атрибут, за отключване на потребители чрез
изчистване на
lockoutTimeи за преименуване и преместване на обекти).
Преместването на обект изисква право да бъде изтрит в своята OU и да бъде създаден в целевата OU, затова делегирайте на всяка управлявана OU. Ефективният резултат за един обект се вижда във Vertex: четене на живо на обекта изброява атрибутите, които акаунтът може да записва.
Самият Vertex никога не променя обекти извън управляваните OU или защитени обекти, дори ако акаунтът би могъл; делегирането е границата, която Active Directory налага допълнително.
Права за групови правила (само за GPO)
- Добавете акаунта в Group Policy Creator Owners, за да може да създава GPO. Той става собственик на създадените от него GPO и може да ги редактира и изтрива.
- За да редактира или изтрива съществуващи GPO, дайте на акаунта Edit settings, delete, modify security върху тях в конзолата Group Policy Management (раздел Delegation).
- За да свързва GPO, дайте му Link GPOs върху управляваните OU (конзолата Group Policy Management, раздел Delegation на OU). Vertex свързва GPO само към управлявани OU или под тях.
Права за политики за пароли (само за PSO)
Фините политики за пароли се намират в CN=Password Settings Container,CN=System,DC=…, който по подразбиране само администраторите на
домейна могат да четат и променят. Дайте на акаунта пълен контрол над
обектите с настройки на пароли там, например:
dsacls "CN=Password Settings Container,CN=System,DC=school,DC=local" /G "SCHOOL\svc-vertex:CCDC;msDS-PasswordSettings"
dsacls "CN=Password Settings Container,CN=System,DC=school,DC=local" /I:S /G "SCHOOL\svc-vertex:GA;;msDS-PasswordSettings"
Прилагането на политика към потребител или група записва
msDS-PSOAppliesTo на политиката, което вторият ред покрива. Vertex
прилага политики само към потребители и групи под управляваните OU.
5. Папката за резервни копия на GPO
Преди всяка промяна на GPO и преди изтриване на GPO Vertex архивира GPO на
DC1 в %ProgramData%\Entrosity\Vertex GPO Backups (Backup-GPO,
изпълнено като AD акаунта). Създайте папката и позволете на акаунта да
пише в нея; дръжте другите потребители настрана, защото копията съдържат
настройките на GPO:
$dir = Join-Path $env:ProgramData 'Entrosity\Vertex GPO Backups'
New-Item -ItemType Directory -Force -Path $dir | Out-Null
icacls $dir /inheritance:r /grant:r 'SYSTEM:(OI)(CI)F' 'Administrators:(OI)(CI)F' 'SCHOOL\svc-vertex:(OI)(CI)M'
Ако архивирането преди промяна е неуспешно, промяната все пак се
извършва, а резултатът на операцията има празен backup_id; неуспешно
архивиране преди изтриване или неуспешно ръчно архивиране прави
операцията неуспешна. Възстановявате копие с конзолата Group Policy
Management (Manage Backups) или с Restore-GPO/Import-GPO.
6. Настройте Vertex и приемете защитата
-
Въведете конектора, акаунта и управляваните OU в настройките на директорията на Vertex (Първи стъпки).
-
На DC1, от команден ред с администраторски права, приемете управляваните OU и включете това, което Vertex може да прави:
cd "C:\Program Files\RMM Connector"rmm-connector vertex guard accept --ou "OU=Students,OU=School,DC=school,DC=local" --ou "OU=Staff,OU=School,DC=school,DC=local"rmm-connector vertex guard set --gpo on --pso on --deletes onДайте по едно
--ouза всяка управлявана OU, точно списъка от настройките на Vertex (всички, без други); иначе промените се отказват сguard_pending.acceptпоказва OU и ви моли да въведетеyes.setвключва промените на GPO, на политики за пароли и изтриването, които са изключени в нова защита; оставете изключено това, което Vertex не трябва да прави. Лимитът по подразбиране от 1000 записа в минута вече побира групови импорти и големи промени на членство. -
Пуснете теста и синхронизация във Vertex, после включете промените, които Vertex трябва да прави, и направете първа промяна.
Всичко за защитата: Локалната защита на конектора.
Списък за проверка
- Конекторът на DC1 е онлайн и се предлага за Vertex.
-
Get-Module -ListAvailable ActiveDirectory, GroupPolicyпоказва и двата модула. -
Test-WSManотговаря на DC1. - AD акаунтът съществува, в Remote Management Users е и има делегираните права върху управляваните OU (и при нужда права за GPO и PSO).
- Папката за резервни копия на GPO съществува и акаунтът може да пише в нея.
- Тестът на Vertex показва и двата модула и няма липсващи управлявани OU.
-
rmm-connector vertex guard showпоказваstate: accepted.