В статье «Политики паролей Windows Server 2008», опубликованной в Windows IT Pro/RE № 2 за 2008 г., Жан де Клерк рассказывал о возможностях применения политик управления паролями для обеспечения требований к качеству паролей у пользовательских учетных записей, отмечая, что Windows Server 2003 и Windows 2000 Server позволяют задать только одну политику для всех пользовательских учетных записей в домене. В Windows Server 2008 это ограничение снято. Поняв, как использовать политики управления паролями в Server 2008, вы сможете развернуть в домене детализированные политики обеспечения парольной защиты (Fine-Grained Password Policies, FGPP) для раздельного управления настройками защиты паролей учетных записей пользователей различных категорий в домене.

Использование теневых групп

Проектируя FGPP для Server 2008, Microsoft отошла от моделей, используемых сторонними продуктами, взамен создав систему, где политики применяются к глобальным группам безопасности вместо организационных единиц (OU). При реализации FGPP в организации с уже развернутой инфраструктурой Active Directory (AD) перемещение учетных записей из одного OU в другой может пагубно отразиться на работе настроек групповых политик или делегировании полномочий, тогда как добавление пользовательских учетных записей в новую группу никак не влияет на существующую инфраструктуру.

В Server 2008 можно использовать группы безопасности для применения FGPP к OU. Под «теневой группой» следует понимать просто группу, в которую входят все учетные записи конкретной OU.

Для создания теневых групп можно пользоваться такими средствами, как Windows PowerShell, LDIFDE и VBScript. Следующая команда запрашивает объекты типа «пользователь» в организационном подразделении HR домена ad.mycompany.com

dsquery user ou=hr, dc=ad, dc=mycompany, dc=com | dsmod group
cn=hr_ou_users, ou=groups, dc=ad, dc=mycompany, dc=com -chmbr

Эта команда также изменяет (dsmod) список членов существующей глобальной группы безопасности hr_ou_users, расположенной в OU под названием groups, так, чтобы в этом списке был отражен результат исходного запроса (dsquery). Команда dsquery используется для выполнения запросов LDAP к AD. В приведенном примере user определяет тип искомого объекта; область поиска ограничивается объектами, входящими в OU HR. Команда dsmod изменяет существующие объекты AD; group определяет тип изменяемого объекта, а следующая за этим словом строка точно указывает на положение объекта в AD. Ключ -chmbr заменяет существующих членов группы новыми.

Выполнив такую манипуляцию, можно применить FGPP к новой теневой группе и при необходимости обновлять членство данной группы путем регулярного запуска этой команды по расписанию. Фактически приведенное решение применяет FGPP к объектам типа «пользователь», расположенным в определенной OU, хотя с технической точки зрения политика применяется к группе.

Создавать и изменять объекты настроек парольной защиты Password Settings objects (PSO), а также привязывать их к группам AD через стандартные настройки безопасности AD могут только администраторы домена. Для того чтобы позволить специалистам службы поддержки изменять парольные политики для конкретных пользователей, рекомендуется привязывать PSO к группам, позволяя администраторам и сотрудникам службы поддержки перемещать учетные записи пользователей между соответствующими группами. Разработав подходящую вашей организации схему делегирования прав, можно переложить задачи изменения эффективной парольной политики пользователей на плечи сотрудников первой линии поддержки, не предоставляя им возможности напрямую редактировать AD.

Какие FGPP воздействуют на пользователя

При решении проблем, связанных с FGPP, нам может понадобиться выяснить, какой из объектов PSO оказывает влияние на пользовательскую учетную запись. Это не всегда просто сделать, поскольку при наложении нескольких PSO действует схема приоритетов для настроек уровня групп безопасности и отдельной учетной записи.

Значение атрибута msDS-ResultantPSO для пользовательской учетной записи можно получить с помощью команды dsget, указав отличительное имя (DN) учетной записи пользователя:

dsget user "cn=administrator, cn=users, dc=ad, dc=com"
-effectivepso

Команда вернет объект PSO, который фактически контролирует настройки пароля учетной записи администратора (если такой объект найдется) в следующем формате, где passpol_Admins — это имя действующего PSO:

effectivepso
"CN=passpol_Admins, CN=Password Settings Container,
CN=System, DC=ad, DC=mycompany, DC=com"
dsget succeeded

Выбрав в оснастке консоли MMC Active Directory Users and Computers команду Advanced Features из меню View, также можно найти значение атрибута msDS-ResultantPSO, выбрав объект учетной записи пользователя в графическом интерфейсе. Для этого нужно открыть контекстное меню щелчком правой кнопки мыши, открыть окно Properties и перейти на закладку Attribute Editor. Чтобы отобразить атрибут msDS-ResultantPSO, на закладке Attribute Editor следует нажать Filter и добавить к Show read-only attributes признак Constructed. Для младших специалистов службы поддержки этот способ может оказаться более доступным.

Создание объектов PSO с помощью PowerShell

В арсенале Microsoft пока нет графических инструментов для создания объектов настроек паролей PSO. Если вам не по душе стандартные инструменты ADSI Edit или ldp.exe, можно администрировать AD с помощью бесплатного набора команд PowerShell под названием ActiveRoles Management Shell for Active Directory от компании Quest Software, в который входят команды для управления PSO. Они пригодятся и для автоматизации процесса создания PSO. Данный набор команд нужно загрузить с сайта производителя и установить после развертывания .NET Framework и Windows PowerShell. Для этого требуется выполнить следующие действия.

  1. Откройте консоль PowerShell от имени администратора домена.
  2. Для работы с новыми командами в сеансе PowerShell выполните инструкцию
              add-pssnapin quest.activeroles. admanagement
  3. Чтобы создать новый объект PSO для администраторов домена, введите
              new-qadpasswordsettingsobject -name admins
              - precedence 10-passwordhistorylength 5
              - passwordcomplexityenabled $true -minimumpasswordlength 6
  4. Для применения политики к группе Domain Admins введите
              add-qadpasswordsettingsobjectappliesto admins
              - appliesto 'addomain admins'

Чтобы проверить, привязан ли PSO для администраторов к группе Domain Admins и установлены ли все остальные атрибуты надлежащим образом, введите

get-qadpasswordsettingsobject | format-list

как показано на экране 1.

Экран 1. Проверка привязки PSO для администраторов к группе Domain Admins

Для проверки наследования административного PSO учетной записью Administrator, введите

get-qaduser administrator
     -includedproperties
msds-resultantpso | format-list
     name, msds-resultantpso

Наконец, задайте следующую команду для удаления только что созданного PSO для администраторов:

remove-qadobject admins

Появится запрос на подтверждение перед удалением PSO.

Создание PSO при помощи Specops

Альтернативой использованию ADSI Edit или командной строки для создания PSO является Specops Password Policy Basic, продукт компании Special Operations Software. Этот инструмент можно бесплатно загрузить по адресу www.specopssoft.com/wiki/index.php/SpecopsasswordPolicyBasic/Download.

В программе Password Policy Basic организован простой интерфейс для создания, редактирования и удаления PSO. Создавать объекты PSO могут только администраторы домена, однако сотрудники Help desk могут воспользоваться оснасткой MMC Lookup password policy for user для просмотра приоритетов объектов PSO, как показано на экране 2.

Экран 2. Просмотр приоритетов PSO

  1. Откройте Password Policy Basic в сеансе администратора домена.
  2. В блоке Connected domains проверьте наличие записи для вашего домена. В данном случае присоединен домен ad.com.
  3. Нажмите кнопку Configure selected domain.
  4. В правой панели MMC появится базовая политика парольной защиты домена (по умолчанию). Нажмите New password policy для создания нового объекта PSO. Назовите новую политику Administrators.
  5. Настройте необходимые параметры PSO в блоках Password policy settings и Account lockout settings, как показано на экране 3. Нажмите Add member в правом нижнем углу диалогового окна Password policy, добавьте группу Domain Admins в диалоговом окне AD Select Users or Groups и нажмите OK.

Экран 3. Задание настроек PSO 

На экране 4 показана новая политика Administrators, теперь она выполняется для всех пользователей, входящих в группу Domain Admins. Создав несколько объектов PSO, можно использовать стрелки в правой части окна оснастки MMC для изменения приоритетов, причем высший приоритет сохраняется за верхним объектом PSO в списке. Нажмите Lookup password policy for user и введите слово administrator в диалоговом окне Select Users. Для учетной записи Administrator в отчете должно быть указание на подчинение политике Administrators.

Экран 4. Новая политика для администраторов

До встречи с R2…

Если вы не освоились со встроенными в Server 2008 механизмами управления FGPP в AD, для их настройки можно использовать PowerShell или графические инструменты сторонних поставщиков. Однако имейте в виду, что в составе Server 2008 R2 будет PowerShell 2.0, уже оснащенный командами для управления FGPP.

Рассел Смит (rms@russell-smith.net) — независимый ИТ-консультант, специализируется на управлении системами