Одни из самых важных политик безопасности Windows, знакомые каждому администратору Windows, — политики паролей. Эти политики позволяют назначить требования к качеству паролей (например, минимальную длину и максимальный возраст пароля) локальных и доменных учетных записей пользователя. Как известно, у политик паролей Windows Server 2003 и Windows 2000 Server есть ряд существенных ограничений. Далее в статье разъясняются эти ограничения и способы использования политик паролей Server 2008.
Гибкое решение
Существенное ограничение политик паролей в Windows 2003 и Windows 2000 заключается в том, что администраторы могут определить лишь одну политику паролей, которая применяется ко всем учетным записям пользователей в домене. Глобальную доменную политику паролей можно задать параметрами Password Policy объекта групповой политики (GPO) Default Domain Policy или из любого другого GPO, связанного с объектом домена Active Directory (AD). Для доступа к интерфейсу настройки политик паролей следует обратиться к GPO-контейнеру \Computer Configuration\Windows Settings\Security Settings\Account Policies. В объектах GPO можно определять различные политики паролей и связывать их с организационными единицами (OU) AD или учетными записями компьютеров, но политики паролей не применяются к учетным записям в домене. Они применяются к локальным учетным записям, определенным в базах данных безопасности учетных записей компьютеров, на которые воздействуют объекты GPO.
Часто компании выдвигают особые требования к качеству паролей определенных категорий учетных записей домена. Типичный пример — различные политики паролей для учетных записей администраторов и рядовых пользователей. Логика безопасности проста: учетные записи администраторов имеют больше прав, чем учетные записи простых пользователей, поэтому к администратору естественно применить более строгую проверку подлинности, чем к обычному сотруднику. Другой способ повысить надежность проверки — ввести для учетных записей администраторов регистрацию с помощью смарт-карт.
В Windows 2003 и Windows 2000 применяется два обходных приема для компаний, которым нужно определить различные политики паролей в одном домене, хотя оба способа довольно сложны. Один из них — развернуть отдельные домены для каждой категории учетных записей, которой назначается специальный пароль. Другой обходной прием — подготовить специальную DLL-библиотеку «фильтрации паролей» и развернуть ее на всех контроллерах домена (DC). Второй вариант применяется редко, так как он еще более трудоемок, чем первый.
В Server 2008 проблема решена благодаря детализированным политикам паролей, которые позволяют администраторам определить разные политики паролей для различных категорий учетных записей в одном домене. Новую детализированную функциональность можно применять только к учетным записям домена, но не к локальным учетным записям.
Такая же функциональность появилась в Server 2008 для политик блокирования учетных записей, которые в прошлых версиях Windows Server имели те же ограничения (можно определить лишь одну политику блокирования для всех учетных записей домена). Политики блокирования учетных записей гарантируют, что учетные записи пользователей автоматически становятся недоступны, если пользователь определенное число раз вводит неверный пароль. Настраивая политику блокирования учетных записей, администратор должен определить порог для неверных паролей.
Настройка детализированных политик паролей
Настройка детализированных политик паролей Server 2008 коренным образом отличается от определения обычной политики паролей доменной или локальной учетной записи в предшествующих версиях Windows (описанных раньше). Нельзя использовать настройки GPO для детализированных политик паролей, так как здесь применяется другой (не на основе GPO) механизм для хранения и применения этих политик.
Детализированные политики паролей Server 2008 хранятся в новом контейнере AD, именуемом AD Password Settings Container, который находится в контейнере System контекста именования домена AD. Чтобы определить новую детализированную политику паролей, необходимо создать в этом контейнере новый объект AD класса msDS-PasswordSettings. В документации Microsoft объекты этого класса именуются объектами настроек пароля (Password Settings object, PSO). По умолчанию только члены группы Domain Admins могут создавать объекты PSO, так как только члены этой группы имеют разрешения AD Create Child и Delete Child в контейнере Password Settings. Инструменты, используемые для создания и настройки объектов PSO, будут рассмотрены ниже.
Чтобы применить подготовленные объекты PSO, необходимо связать PSO с объектом пользователя или группы AD. Для этого не требуется разрешений собственно в объекте AD; достаточно разрешения записи в объекте PSO. По умолчанию это разрешение имеют только члены группы Domain Admins. Поэтому только члены группы Domain Admins могут связать объект PSO с группой или пользователем, хотя, конечно, разрешения можно делегировать другим администраторам.
Экран 1. Использование ADSI Edit для создания объекта PSO
В таблице приведена сводка атрибутов, связанных с объектами PSO в Windows Server 2008. Обратите внимание, что в объекте PSO могут храниться не только настройки политики паролей, но и настройки политики блокирования учетных записей. Помните, что Server 2008 поддерживает детализированные как политики паролей, так и блокирования учетных записей. Два важных атрибута PSO — msDS-PSOAppliesTo и msDS-PasswordSettingsPrecedence.
PSOAppliesTo — атрибут со многими значениями, который определяет, к каким учетным записям пользователей или групп AD привязан объект PSO. Хотя политики паролей и блокирования учетных записей могут быть связаны с любым объектом пользователя, группы или компьютера AD либо организационной единицей (OU), объекты PSO действуют только для учетных записей пользователей и глобальных групп, с которыми они связаны. Кроме того, объекты PSO действуют только в том случае, если домен AD находится на собственном функциональном уровне Windows Server 2008, т. е. все контроллеры домена (DC) в домене должны работать с Windows Server 2008.
Атрибут msDS-PasswordSettingsPrecedence объекта PSO содержит целочисленное значение, которое используется для устранения конфликтов при применении нескольких объектов PSO к объекту пользователя или группы. Малое значение msDS-PasswordSettings Precedence указывает, что приоритет данного объекта PSO выше, чем у других PSO. Например, если с объектом пользователя связаны два объекта PSO, один со значением msDS-PasswordSettings Precedence, равным 10, а другой со значением 40, то объект PSO со значением атрибута 10 (меньшим) имеет более высокий ранг и будет применен к объекту пользователя. Если с группой или пользователем связано несколько объектов PSO, то Windows Server 2008 выбирает PSO по следующим критериям.
-
Объект PSO, связанный напрямую с объектом пользователя, является результирующим PSO. Если более одного PSO напрямую связаны с объектом пользователя, то результирующим будет объект PSO с наименьшим значением msDS-PasswordSettingsPrecedence.
-
Если с объектом пользователя не связано ни одного PSO, но объекты PSO связаны с глобальными группами, в которые входит пользователь, то Windows Server 2008 сравнивает значение msDS-PasswordSettingsPrecedence различных объектов PSO глобальных групп. И вновь результирующим будет объект PSO с наименьшим значением msDS-PasswordSettingsPrecedence.
-
Если по этим условиям не удается определить объект PSO, то применяется традиционная политика домена по умолчанию.
Чтобы администраторы могли без труда определить объект PSO, в конечном итоге применяемый к пользователю, компания Microsoft дополнила каждый объект пользователя AD новым атрибутом msDS-ResultantPSO. Этот атрибут содержит составное имя (DN) объекта PSO, примененного к данному пользователю.
Инструменты создания и настройки объектов PSO
Компания Microsoft не планирует выпуск инструмента с графическим интерфейсом или оснастку консоли Microsoft Management Console (MMC) для настройки детализированных политик в первом выпуске Windows Server 2008. Однако можно использовать существующие инструменты запросов LDAP, такие как LDP или LDIFDE, или оснастку ADSI Edit консоли MMC, чтобы определить и настроить объекты PSO. Эти инструменты доступны в любой установке AD в Windows Server 2008. Несмотря на сложность этих трех инструментов, опытные администраторы AD смогут без проблем назначать с их помощью новые политики паролей.
Начинающие администраторы AD или опытные специалисты, желающие упростить задачу, могут воспользоваться инструментом командной строки Джо Ричардса, psomgr.exe или программой Specops Password Policy фирмы Special Operations Software. Благодаря Specops Password Policy можно использовать специальную оснастку MMC для настройки объектов PSO из графического интерфейса Windows. Оба инструмента скрывают сложность AD за детализированными политиками паролей и существенно упрощают их настройку. Инструмент PSOMgr можно загрузить по адресу www.joeware.net/freetools/tools/psomgr . Полнофункциональная коммерческая версия Specops Password Policy опубликована по адресу www.specopssoft.com/products/specopspasswordpolicy ; бесплатную версию с ограниченными возможностями, Specops Password Policy Basic, можно получить по адресу www.specopssoft.com/wiki/index.php/specopspasswordpolicybasic . Полнофункциональная версия расширяет обычную политику паролей Windows, дополняя ее такими возможностями, как запрет использования в паролях имен пользователей и определенных слов и автоматическое уведомление пользователя об истечении срока действия пароля по электронной почте.
Чтобы применить ADSI Edit для определения нового объекта PSO, необходимо запустить ADSI Edit и подключиться к домену, в котором предстоит определить детализированную политику паролей. Затем нужно перейти к контейнеру System\Password Policy Settings. Щелкните на контейнере правой кнопкой мыши и выберите New, Object. В диалоговом окне Create Object (экран 1) выберите класс объекта msDSPasswordSettings и введите нужный пароль и значения политики блокирования учетных записей для различных атрибутов PSO.
Чтобы применить LDP для определения нового объекта PSO, необходимо инициировать несколько команд LDAP из интерфейса LDP. Дополнительные сведения об использовании LDP см. в статье Microsoft «Using Ldp.exe to Find Data in the Active Directory» по адресу support.microsoft.com/kb/224543. Прежде чем применить утилиту командной строки LDIFDE, чтобы определить новый PSO, необходимо создать файл конфигурации LDF, который задает различные атрибуты PSO. Информацию по использованию LDIFDE можно найти в статье Microsoft «Using LDIFDE to import and export directory objects to Active Directory» по адресу support.microsoft.com/kb/237677. Более подробные инструкции приведены в статье «Step-by-Step Guide for Fine-Grained Password and Account Lockout Policy Configuration» по адресу technet2.microsoft.com/windowsserver2008/en/library/2199dcf7-68fd-4315-87cc-ade35f8978ea1033.mspx?mfr=true.
При использовании версии ADSI Edit, поставляемой вместе с Windows Server 2008 для определения объектов PSO, требуется ввести четыре временных атрибута PSO (msDS-MaximumPasswordAge, msDS-MinimumPasswordAge, msDS-LockoutObservationWindow и msDS-LockoutDuration) в формате дни:часы:минуты:секунды. Например, чтобы задать максимальный срок действия пароля 40 дней, нужно указать срок 40:00:00:00. При использовании команды ldifde или старой (предшествующей Server 2008) версии ADSI Edit для создания объектов PSO необходимо вводить значения этих атрибутов в формате I8 (целочисленное представление в 8 байт). Время в формате I8 хранится в интервалах -100 нс. Это означает, что при использовании LDIFDE или старой версии ADSI Edit для присвоения атрибутам PSO значений нужно преобразовать время в минутах, часах и днях во время в интервалах в 100 нс, а затем поставить перед полученным значением знак «минус» (-).
Формат I8 использовать неудобно, поэтому рекомендуется определять объекты PSO с помощью версии ADSI Edit для Server 2008, PSOMgr или Specops Password Policy. В статье Microsoft «Step-by-Step Guide for Fine-Grained Password and Account Lockout Policy Configuration» (technet2.microsoft.com/windowsserver2008/en/library/2199dcf7-68fd-4315-87cc-ade35f8978ea1033.mspx?mfr=true) приведено более подробное объяснение преобразования I8.
Наряду с использованием ADSI Edit, LDP, LDIFDE, PSOMgr или Specops Password Policy, для привязки объектов PSO к пользователям или глобальным группам можно задействовать оснастку Active Directory Users and Computers консоли MMC. Чтобы связать PSO с пользователем или группой из этой оснастки, следует открыть оснастку и проверить, активизировано ли представление Advanced Features. Чтобы включить его, воспользуйтесь разделом Advanced Features в меню View. Затем нужно открыть контейнер Passwords Settings в контейнере System, щелкнуть правой кнопкой мыши на PSO, который предстоит привязать, и выбрать пункт Properties. В диалоговом окне Properties следует выбрать вкладку Attribute Editor, атрибут msDS-PSOAppliesTo и щелкнуть на кнопке Edit. Наконец, в окне Edit (экран 2) необходимо ввести составное имя пользователя или группы, которое можно получить из оснастки Active Directory Users and Computers. В области подробностей оснастки щелкните правой кнопкой мыши на имени пользователя или глобальной группы безопасности, выберите пункт Properties, вкладку Attribute Editor и посмотрите значение атрибута distinguishedName пользователя или группы в списке Attributes.
Ценное дополнение
Детализированные политики паролей и блокирования учетных записей Server 2008 — ценное дополнение к набору средств управления безопасностью Windows. Хотя в первом выпуске Server 2008 определить и настроить эти политики непросто (настоятельно рекомендуется использовать инструмент PSOMgr или Specops Password Policy), политики значительно повышают гибкость управления. Например, благодаря детализированным политикам паролей Server 2008 отпадает необходимость в развертывании дополнительных доменов Windows или проектировании специальных фильтров паролей.
Жан де Клерк — член Security Office корпорации HP. Специализируется на проблемах управления идентичностью и вопросах безопасности продуктов Microsoft
Использование политик паролей Server 2008
Шаг 1. Политики паролей Windows Server 2003 и Windows 2000 Server позволяют администраторам определить только одну политику паролей, применяемую ко всем учетным записям пользователей в домене.
Шаг 2. В Windows Server 2008 появились детализированные политики паролей, с помощью которых администратор может определить разные политики паролей для различных категорий учетных записей в одном домене.
Шаг 3. Необходимо создать объекты Password Settings (PSO), чтобы определить новые детализированные политики паролей.
Шаг 4. Чтобы определить и настроить созданные объекты PSO, следует использовать инструмент запросов LDAP (например, LDP, LDIFDE, ADSI Edit), PSOMgr или Specops.
Журнал «Windows IT Pro», Издательство «Открытые системы» (http://www.osp.ru/)