Управление парольными политиками

В службе каталогов поддерживаются как глобальные парольные политики на уровне всего домена, так и детализированные парольные политики (Fine-Grained Password Policy, FGPP), назначаемые отдельным пользователям и группам. С помощью них задаются требования к паролю (длина, сложность, история) и параметры блокировки учетных записей (количество неудачных попыток ввода пароля, продолжительность блокировки).

Для управления настройками паролей используется подкоманда passwordsettings.

Она позволяет выполнять следующие группы операций:

Просмотр/изменение параметров глобальной парольной политики

Для получения/изменения настроек паролей на уровне домена используется следующий формат вызова:

samba-tool domain passwordsettings (show|set <options>) [options]

Подкоманда show выводит текущие значения настроек паролей, заданные в домене (см. «Параметры»).

Подкоманда set позволяет изменять значения настроек.

При задании групповой политики на уровне домена данные настройки не используются.

Параметры

Параметры вызова (при использовании подкоманды set):

  • --complexity=COMPLEXITY — контроль сложности пароля; возможные значения: on | off; значение по умолчанию – on;

  • --store-plaintext=STORE_PLAINTEXT — хранение паролей в незашифрованном виде; возможные значения: on | off; значение по умолчанию – off;

  • --history-length=HISTORY_LENGTH — длина журнала паролей для учетных записей пользователей (целое число); значение по умолчанию — 24;

  • --min-pwd-length=MIN_PWD_LENGTH — минимальная длина пароля (целое число); значение по умолчанию — 7;

  • --min-pwd-age=MIN_PWD_AGE — минимальный срок действия пароля в днях (целое число); значение по умолчанию — 1;

  • --max-pwd-age=MIN_PWD_AGE — максимальный срок действия пароля в днях (целое число); значение по умолчанию — 42;

  • --account-lockout-duration=ACCOUNT_LOCKOUT_DURATION — продолжительность блокировки учетной записи после превышения максимально допустимого количества неудачных попыток ввода пароля в минутах (целое число); значение по умолчанию — 30;

  • --account-lockout-threshold=ACCOUNT_LOCKOUT_THRESHOLD — максимально допустимое количество неудачных попыток ввода пароля (целое число), после достижения которого учетная запись блокируется на заданное время; значение по умолчанию — 0 (блокировка не выполняется);

  • --reset-account-lockout-after=REST_ACCOUNT_LOCKOUT_AFTER — период в минутах (целое число), по истечении которого обнуляется счетчик количества неудачных попыток ввода пароля; значение по умолчанию — 30.

Примеры

Пример получения текущих значений настроек паролей в локальном домене:

samba-tool domain passwordsettings show
Password information for domain 'DC=samdom,DC=example,DC=com'

Password complexity: on
Store plaintext passwords: off
Password history length: 24
Minimum password length: 7
Minimum password age (days): 1
Maximum password age (days): 42
Account lockout duration (mins): 30
Account lockout threshold (attempts): 0
Reset account lockout after (mins): 30

Пример изменения настройки:

samba-tool domain passwordsettings set --min-pwd-length=12
Minimum password length changed!
All changes applied successfully!

samba-tool domain passwordsettings show | grep 'Minimum password length'
Minimum password length: 12

Управление параметрами детализированных парольных политик (PSO)

Для управления требованиями к паролю и параметрами блокировки учетных записей на уровне отдельных групп и пользователей в службе каталогов могут использоваться детализированные парольные политики (Fine-Grained Password Policy, FGPP). Атрибуты таких политик создаются и хранятся в виде объектов Password Settings Object (PSO).

При создании объект PSO сохраняется в LDAP по пути CN=<имя парольной политики>,CN=Password Settings Container,CN=System,DC=<domain>.

Для работы с объектами PSO используется подкоманда pso.

Данные объекты переопределяют значения атрибутов глобальной парольной политики, заданной на уровне домена по умолчанию, для конкретного пользователя или группы.

Назначение политики группе или пользователю выполняется с помощью подкоманды apply; прекращение действия политики — с помощью подкоманды unapply.

Если к пользователю или группе применимы несколько политик, учитывается их приоритет, заданный с помощью параметра precedence: чем меньше значение, тем выше приоритет. При совпадении приоритетов применяется объект PSO с наименьшим значением GUID.

Если пользователю или группе назначена политика, она имеет больший приоритет, чем настройки паролей, установленные в домене по умолчанию.

Пример последовательности шагов по назначению парольной политики:

  1. Создание парольной политики (PSO):

    samba-tool domain passwordsettings pso create PSOGroup 3 \
       --min-pwd-length=10 \
       --min-pwd-age=0
  2. Назначение созданной политики группе:

    samba-tool domain passwordsettings pso apply PSOGroup Group
  3. Просмотр парольной политики, действующей для любого из пользователей, являющихся членами группы:

    samba-tool domain passwordsettings pso show-user 'Group Member'
    The following PSO settings apply to user 'Group Member'
    
    Password information for PSO 'PSOGroup'
    
    Precedence (lowest is best): 3
    Password complexity: on
    Store plaintext passwords: off
    Password history length: 24
    Minimum password length: 10
    Minimum password age (days): 0
    Maximum password age (days): 42
    Account lockout duration (mins): 30
    Account lockout threshold (attempts): 0
    Reset account lockout after (mins): 30

В результате выполненных действий для участников группы будет установлена парольная политика с указанными параметрами.

Создание новой парольной политики (PSO)

Для создания нового объекта PSO используется следующий формат вызова:

samba-tool domain passwordsettings pso create <pso-name> <precedence> [options]

Подкоманда создает новую парольную политику с указанным именем (<pso-name>). Имя должно быть уникальным на уровне домена.

При создании политики может быть задан ее приоритет (<precedence>), который будет учитываться в том случае, если к пользователю или группе пользователей применяются несколько политик. Чем меньше значение параметра precedence, тем выше приоритет.

В качестве аргументов передаются атрибуты парольной политики с требуемыми значениями.

Для создания политики требуется передать новое значение хотя бы для одного атрибута.

Примеры

Пример создания парольной политики, изменяющей ограничение минимальной длины пароля по умолчанию:

samba-tool domain passwordsettings pso create PSODomainUsers 10 \
   --min-pwd-length=12

Применение атрибутов парольной политики (PSO)

Для применения атрибутов, заданных в объекте PSO, к определенному пользователю или группе используется следующий формат вызова:

samba-tool domain passwordsettings pso apply <pso-name> <user-or-group-name> [options]

Подкоманда обеспечивает применение атрибутов парольной политики (PSO) с указанным именем (<pso-name>) к указанному пользователю или группе пользователей (<user-or-group-name>).

Параметры

Отсутствуют.

Примеры

Пример назначения парольной политики для группы пользователей:

samba-tool domain passwordsettings pso apply PSODomainUsers 'Domain Users'

Получение списка парольных политик (PSO)

Для получения списка всех объектов PSO в домене используется следующий формат вызова:

samba-tool domain passwordsettings pso list [options]

Подкоманда выводит список всех парольных политик (PSO), доступных в домене, в виде таблицы со столбцами Precedence и PSO name.

Параметры

Отсутствуют.

Примеры

Пример вывода списка объектов PSO в домене:

samba-tool domain passwordsettings pso list
Precedence | PSO name
------------------------------------------
1         | PSODomainAdmins
3         | PSOGroup
10        | PSODomainUsers

Изменение атрибутов парольной политики (PSO)

Для изменения атрибутов объекта PSO используется следующий формат вызова:

samba-tool domain passwordsettings pso set <pso-name> [options]

Подкоманда позволяет изменить значения атрибутов парольной политики (PSO) с указанным именем (<pso-name>).

В качестве аргументов передаются атрибуты парольной политики с требуемыми значениями.

Для изменения политики требуется передать новое значение хотя бы для одного атрибута.

Примеры

Пример изменения атрибута парольной политики:

samba-tool domain passwordsettings pso set PSODomainUsers \
   --max-pwd-age=30

Вывод информации о парольной политике (PSO)

Для вывода информации об объекте PSO используется следующий формат вызова:

samba-tool domain passwordsettings pso show <pso-name> [options]

Подкоманда выводит информацию о парольной политике (PSO) с указанным именем (<pso-name>), включая значения атрибутов и список пользователей и групп пользователей, к которым политика применяется.

Параметры

Отсутствуют.

Примеры

Пример вывода значений атрибутов парольной политики:

samba-tool domain passwordsettings pso show PSODomainUsers
Password information for PSO 'PSODomainUsers'

Precedence (lowest is best): 10
Password complexity: on
Store plaintext passwords: off
Password history length: 24
Minimum password length: 12
Minimum password age (days): 0
Maximum password age (days): 30
Account lockout duration (mins): 30
Account lockout threshold (attempts): 0
Reset account lockout after (mins): 30

PSO applies directly to 1 groups/users:
  CN=Domain Users,CN=Users,DC=samdom,DC=example,DC=com

Вывод информации о назначенной пользователю парольной политике (PSO)

Для вывода значений атрибутов объекта PSO, назначенного определенному пользователю, используется следующий формат вызова:

samba-tool domain passwordsettings pso show-user <user-name> [options]

Подкоманда выводит значения атрибутов парольной политики (PSO), действующих для пользователя с указанным именем (<user-name>).

Параметры

Отсутствуют.

Примеры

Пример вывода значений атрибутов парольной политики, назначенной пользователю:

samba-tool domain passwordsettings pso show 'Group Member'

Прекращение действия парольной политики (PSO)

Для прекращения действия объекта PSO для определенного пользователя или группы используется следующий формат вызова:

samba-tool domain passwordsettings pso unapply <pso-name> <user-or-group-name> [options]

Подкоманда позволяет прекратить действие парольной политики (PSO) с указанным именем <pso-name> для указанного пользователя или группы (<user-or-group-name>).

Параметры

Отсутствуют.

Примеры

Пример прекращения действия парольной политики для отдельного пользователя:

samba-tool domain passwordsettings pso unapply PSOGroup 'Group Member'

Удаление парольной политики (PSO)

Для удаления существующего объекта PSO используется следующий формат вызова:

samba-tool domain passwordsettings pso delete <pso-name> [options]

Подкоманда удаляет парольную политику (PSO) с указанным именем (<pso-name>).

Параметры

Отсутствуют.

Примеры

Пример удаления парольной политики:

samba-tool domain passwordsettings pso delete PSOGroup