Настройка 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.







