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

В службе каталогов поддерживаются как глобальные парольные политики на уровне всего домена, так и детализированные парольные политики (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 Group1
  3. Просмотр парольной политики, действующей для пользователей, являющихся участниками группы Group1:

    samba-tool domain passwordsettings pso show-user 'Group1 Member'
    The following PSO settings apply to user 'Group1 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 applies to user via group membership

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

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

В этом случае в выводе подкоманды show-user содержится явное указание на то, что в отношении пользователя действует политика, переопределяющая политики, заданные на уровне групп, участником которых он является:

Note: PSO applies directly to user (any group PSOs are overridden)

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

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

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

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

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

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

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

Примеры

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

samba-tool domain passwordsettings pso create PSOGroup 10 \
   --min-pwd-length=12
PSO successfully created: CN=PSOGroup,CN=Password Settings Container,CN=System,DC=samdom,DC=example,DC=com
Password information for PSO 'PSOGroup'

Precedence (lowest is best): 10
Password complexity: on
Store plaintext passwords: off
Password history length: 24
Minimum password length: 12
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

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

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

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

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

Параметры

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

Примеры

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

samba-tool domain passwordsettings pso apply PSOGroup Group1
PSO 'PSOGroup' applied to 'Group1'

Пример назначения парольной политики пользователю:

samba-tool domain passwordsettings pso apply PSOUser User1
PSO 'PSOUser' applied to 'User1'

Получение списка парольных политик (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) с указанным именем.

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

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

Примеры

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

samba-tool domain passwordsettings pso set PSOGroup \
   --max-pwd-age=60
Successfully updated PSO: CN=PSOGroup,CN=Password Settings Container,CN=System,DC=samdom,DC=example,DC=com
Password information for PSO 'PSOGroup'

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

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

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

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

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

Параметры

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

Примеры

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

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), действующих для пользователя с указанным именем.

В конце вывода подкоманды содержится примечание, указывающее на характер применения политики:

  • политика назначена группе безопасности, участником которой является пользователь;

  • политика назначена непосредственно пользователю (в этом случае любые политики, назначенные группам безопасности, участником которых является пользователь, игнорируются).

Параметры

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

Примеры

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

samba-tool domain passwordsettings pso show-user 'Group1 Member'
The following PSO settings apply to user 'Group1 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 applies to user via group membership

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

samba-tool domain passwordsettings pso show-user User1
Password information for PSO 'PSOUser'

Precedence (lowest is best): 2
Password complexity: off
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

Note: PSO applies directly to user (any group PSOs are overridden)

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

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

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

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

Параметры

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

Примеры

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

samba-tool domain passwordsettings pso unapply PSOUser User1
PSO 'PSOUser' no longer applies to 'User1'

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

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

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

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

Параметры

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

Примеры

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

samba-tool domain passwordsettings pso delete PSOUser
Deleted PSO PSOUser