Налаштування Active Directory для корпоративної інфраструктури
Ми налаштовуємо Active Directory під ключ — від проектування структури до інтеграції з корпоративними сервісами. Коли AD падає або налаштовано неправильно, співробітники не можуть увійти нікуди: ні в пошту, ні в VPN, ні в GitLab. Різниця між «розгорнули домен» і «налаштували корпоративний AD» — у деталях: правильна структура OU, делегування прав, fine-grained password policy та моніторинг. За 10+ років роботи ми провели понад 50 проектів з AD-інфраструктури та гарантуємо безпеку та відмовостійкість. За даними Microsoft, грамотно налаштований AD знижує кількість інцидентів, пов'язаних з аутентифікацією, на 70%, а час реакції на злом — в 3 рази.
Які проблеми вирішує корпоративний Active Directory?
Єдина точка аутентифікації через Kerberos та LDAP — це основа. Але якщо структура OU не продумана, GPO починають конфліктувати, а helpdesk отримує права Domain Admin «для зручності». Ми вирішуємо три ключові проблеми:
- Неоптимальна структура OU. Часто компанії копіюють оргструктуру, яка змінюється — перейменування OU в продакшні болюче. Ми групуємо об'єкти за типом: Users, Computers, Groups, Service Accounts. Це стабільніше та економить до 40% часу при переміщенні об'єктів.
- Слабкі паролі та відсутність fine-grained політик. Єдина політика паролів не підходить для всіх. Адміністраторам потрібні паролі від 16 символів з частою зміною, звичайним користувачам — від 10. Fine-Grained Password Policy вирішує це та знижує кількість зломів на 80%.
- Надлишкові права. helpdesk з Domain Admin — типова вразливість. Делегування через dsacls дає тільки потрібні операції: скидання пароля, розблокування. Жодного зайвого доступу.
Чому важлива правильна структура OU?
Структура AD має відображати операційну модель, а не оргструктуру. Оргструктура змінюється — перейменування OU в продакшні болючі через GPO-прив'язки. Групування за типом об'єкта (Users/Computers/Groups/Service Accounts) стабільніше. Приклад:
Приклад структури OU
company.local
├── _ServiceAccounts (технічні акаунти, PasswordNeverExpires)
├── _AdminUsers (адміністратори з окремими акаунтами)
├── Groups
│ ├── Security (групи для GPO та прав доступу)
│ └── Distribution (поштові групи)
├── Computers
│ ├── Servers
│ │ ├── Production
│ │ └── Dev
│ └── Workstations
│ ├── Moscow
│ ├── Remote
│ └── _Quarantine (нові машини до перевірки)
└── Users
├── Moscow
├── Remote
└── _Disabled (деактивовані, перед видаленням)_Quarantine для робочих станцій — хороша практика: нова машина потрапляє туди, отримує мінімальний набір політик, проходить перевірку, потім переміщується в потрібний OU.
Як налаштувати Fine-Grained Password Policy?
Default Domain Policy задає одну політику паролів для всіх. Fine-grained дозволяє різні вимоги для різних груп — обов'язково для розділення звичайних користувачів та адміністраторів. Ми налаштовуємо окремі PSO з різними параметрами: для адміністраторів — довжина 16, історія 24, блокування після 3 спроб; для користувачів — довжина 10, історія 12, блокування після 5. Це в 4 рази надійніше за єдину політику, оскільки адміністратори не можуть використовувати слабкі паролі.
Покрокова інструкція:
- Створіть PSO для адміністраторів за допомогою New-ADFineGrainedPasswordPolicy, задавши MinPasswordLength 16, PasswordHistoryCount 24, LockoutThreshold 3.
- Застосуйте PSO до груп адміністраторів через Add-ADFineGrainedPasswordPolicySubject.
- Створіть PSO для користувачів з меншими вимогами (MinPasswordLength 10, LockoutThreshold 5).
- Застосуйте PSO до групи Domain Users.
- Переконайтеся, що порядок Precedence вищий у адміністративної політики (менше число).
# Строга політика для адміністраторів
New-ADFineGrainedPasswordPolicy `
-Name "PSO-Admins" `
-Precedence 10 `
-MinPasswordLength 16 `
-PasswordHistoryCount 24 `
-MinPasswordAge (New-TimeSpan -Days 1) `
-MaxPasswordAge (New-TimeSpan -Days 60) `
-ComplexityEnabled $true `
-LockoutThreshold 3 `
-LockoutDuration (New-TimeSpan -Minutes 30) `
-LockoutObservationWindow (New-TimeSpan -Minutes 30) `
-ReversibleEncryptionEnabled $false
Add-ADFineGrainedPasswordPolicySubject `
-Identity "PSO-Admins" `
-Subjects "Domain Admins", "Server Admins"
# Базова політика для користувачів
New-ADFineGrainedPasswordPolicy `
-Name "PSO-Users" `
-Precedence 20 `
-MinPasswordLength 10 `
-PasswordHistoryCount 12 `
-MaxPasswordAge (New-TimeSpan -Days 90) `
-ComplexityEnabled $true `
-LockoutThreshold 5
Add-ADFineGrainedPasswordPolicySubject `
-Identity "PSO-Users" `
-Subjects "Domain Users" Як делегувати права без Domain Admin?
Типова проблема: helpdesk-інженери отримують права Domain Admin «тому що потрібно скидати паролі». Це надлишково та небезпечно. AD дозволяє делегувати тільки потрібні права. Ми використовуємо dsacls — він гнучкіший, ніж майстер Delegation of Control:
# Делегувати скидання паролів в OU Moscow/Users для групи Helpdesk
dsacls "OU=Moscow,OU=Users,DC=company,DC=local" /I:S /G `
"COMPANY\Helpdesk:CA;Reset Password;user"
dsacls "OU=Moscow,OU=Users,DC=company,DC=local" /I:S /G `
"COMPANY\Helpdesk:CA;Change Password;user"
# Дозволити розблокування акаунтів
dsacls "OU=Moscow,OU=Users,DC=company,DC=local" /I:S /G `
"COMPANY\Helpdesk:WP;lockoutTime;user"Таким чином, helpdesk отримує рівно ті права, які потрібні для роботи, без доступу до інших об'єктів.
Інтеграція сервісів через LDAP/Kerberos
Корпоративні застосунки (GitLab, Jira, VPN) підключаються до AD через LDAP або Kerberos. Для LDAP-інтеграції потрібен сервісний акаунт з мінімальними правами. Ми створюємо read-only акаунт та обмежуємо його інтерактивний вхід через GPO:
# Створити read-only акаунт для LDAP-прив'язки
New-ADUser `
-Name "svc-ldap-readonly" `
-SamAccountName "svc-ldap-readonly" `
-Path "OU=_ServiceAccounts,DC=company,DC=local" `
-AccountPassword (ConvertTo-SecureString "..." -AsPlainText -Force) `
-Enabled $true `
-PasswordNeverExpires $true `
-CannotChangePassword $true `
-Description "LDAP read-only bind account"
Set-ADUser "svc-ldap-readonly" `
-SmartcardLogonRequired $false
# + через GPO: User Rights Assignment → Deny log on locally
Моніторинг та аудит AD
Ми налаштовуємо розширений аудит всіх критичних подій. Це допомагає виявити аномалії та застарілі акаунти. Наприклад, кожного тижня можна отримувати звіт про заблоковані акаунти та акаунти без активності за 90 днів. Аудит рекомендується проводити щоквартально, оскільки за цей час з'являються нові співробітники та звільняються старі.
# Увімкнути розширений аудит
auditpol /set /subcategory:"User Account Management" /success:enable /failure:enable
auditpol /set /subcategory:"Directory Service Changes" /success:enable
auditpol /set /subcategory:"Logon" /success:enable /failure:enable
# Знайти заблоковані акаунти
Search-ADAccount -LockedOut | Select-Object Name, SamAccountName, LockedOut
# Знайти акаунти з простроченими паролями
Search-ADAccount -PasswordExpired | Select-Object Name, SamAccountName
# Акаунти без активності більше 90 днів
$cutoff = (Get-Date).AddDays(-90)
Get-ADUser -Filter {LastLogonDate -lt $cutoff -and Enabled -eq $true} `
-Properties LastLogonDate | Select-Object Name, SamAccountName, LastLogonDate Що входить у роботу (deliverables)
Після завершення проекту ви отримуєте:
- Схему структури OU з описом.
- Доступи до контролерів домену (RDP, WinRM) та сервісних акаунтів.
- Документацію з GPO, PSO, делегування прав.
- Інструкції для helpdesk та адміністраторів.
- Гарантію 1 місяць на коректну роботу аутентифікації.
- Підтримка за запитом — доопрацювання та консультації.
Замовте аудит AD перед розгортанням або міграцією — ми виявимо вразливості та підготуємо план дій. Отримайте консультацію сертифікованого інженера з AD.
Порівняння підходів до управління паролями
| Параметр | Default Domain Policy | Fine-Grained Password Policy |
|---|---|---|
| Гнучкість | Одна політика для всіх | Різні політики для груп |
| Безпека | Базова (довжина 7-14) | Налаштовувана: до 16+ символів |
| Адміністрування | Просте | Вимагає налаштування PSO |
| Застосування | Весь домен | OU або групи безпеки |
Орієнтири по термінах та вартості
| Масштаб | Опис | Термін |
|---|---|---|
| Малий | До 50 користувачів, 1 домен, базові OU + GPO | 3–5 днів |
| Середній | 50–500 користувачів, делегування, fine-grained PSO, інтеграції | 1–2 тижні |
| Корпоративний | 500+ користувачів, кілька сайтів/доменів, compliance | від 3 тижнів |
Вартість розраховується індивідуально після аудиту інфраструктури. Зв'яжіться з нами для попередньої оцінки — ми проаналізуємо поточну конфігурацію та запропонуємо оптимальний план. Отримайте консультацію сертифікованого інженера.
Детальніше про Active Directory читайте в офіційній документації Microsoft.







