Преминете към основното съдържание

Подготовка на домейн контролера

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 и приемете защитата​

  1. Въведете конектора, акаунта и управляваните OU в настройките на директорията на Vertex (Първи стъпки).

  2. На 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 записа в минута вече побира групови импорти и големи промени на членство.

  3. Пуснете теста и синхронизация във 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.