Настройка политики паролей

1. Использование утилиты ovirt-aaa-jdbc-tool

С версии zVirt 4.1 политики, заданные данным инструментом, применяются также к паролям, которые устанавливаются через портал администрирования.

Утилита ovirt-aaa-jdbc-tool позволяет переопределить политику паролей по умолчанию, которая применяется к паролям, задаваемым посредством ovirt-aaa-jdbc-tool

Политика паролей может быть задана с помощью параметров, описанных в таблице.

Таблица 1. Параметры, относящиеся к политике паролей
Параметр Описание Значение по умолчанию

MIN_LENGTH

Определяет минимальную длину пароля.

6

PASSWORD_EXPIRATION_DAYS

Определяет срок действия для новых паролей (в днях).

180

PASSWORD_HISTORY_LIMIT

Количество старых паролей, которые не должны повторяться при смене пароля.

3

PASSWORD_EXPIRATION_NOTICE_DAYS

Определяет за сколько дней до истечения срока действия пароля уведомлять пользователя (в днях).

0

PASSWORD_COMPLEXITY

Шаблон, определяющий сложность пароля в формате:

name:chars=x::min=y::...

где:

  • name - название правила.

  • x - перечисление символов. Символы \t, \n, \f, \', \" можно использовать, но в шаблоне их нужно экранировать следующим образом: \\t, \\n, \\f, \\', \\".

  • y - минимальное количество указанных символов в пароле. Значение min=-1 снимает ограничение на количество соответствующих символов.

Все правила должны быть введены в одну строку без пробелов.
UPPERCASE:chars=ABCDEFGHIJKLMNOPQRSTUVWXYZ::min=1
LOWERCASE:chars=abcdefghijklmnopqrstuvwxyz::min=1
NUMBERS:chars=0123456789::min=1
SYMBOLS:chars=@#$%^&*()_-=.::min=1

ALLOW_EXPIRED_PASSWORD_CHANGE

Логическое значение, разрешающее/запрещающее пользователю изменять пароль после истечения срока действия. Если установлено значение true - изменение пароля разрешено.

true

1.1. Просмотр текущих значений параметров

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

ovirt-aaa-jdbc-tool settings show --name=<param-name> (1)
1 - вместо <param-name> введите имя параметра.

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

ovirt-aaa-jdbc-tool settings show --name=PASSWORD_COMPLEXITY

-- setting --
name: PASSWORD_COMPLEXITY
value: UPPERCASE:chars=ABCDEFGHIJKLMNOPQRSTUVWXYZ::min=1::LOWERCASE:chars=abcdefghijklmnopqrstuvwxyz::min=1::NUMBERS:chars=0123456789::min=1::SYMBOLS:chars=@#$%^&*()_-=.::min=1::
type: class java.lang.String
description: complexity groups definition. format:\n[name:chars=x::min=y::...]\nmin=-1 no limit. following chars should be escaped: \\t, \\n, \\f, \\', \\" \\\\

1.2. Изменение значений параметров

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

ovirt-aaa-jdbc-tool settings set \
    --name=<param-name> \ (1)
    --value=<param-value> (2)
1 - вместо <param-name> введите имя параметра.
2 - вместо <param-value> введите значение параметра.

Примеры:

Пример 1. Изменение срока действия пароля

Команда ниже установит срок действия новых паролей на 365 дней.

ovirt-aaa-jdbc-tool settings set \
    --name=PASSWORD_EXPIRATION_DAYS \
    --value=365
Пример 2. Изменение сложности паролей
ovirt-aaa-jdbc-tool settings set \
    --name=PASSWORD_COMPLEXITY \
    --value=UPPERCASE:chars=ABCDEFGHIJKLMNOPQRSTUVWXYZ::min=1::LOWERCASE:chars=abcdefghijklmnopqrstuvwxyz::min=1::NUMBERS:chars=0123456789::min=-1::SYMBOLS:chars=@#$%^&*()_-=.::min=-1::

В примере выше устанавливаются следующие правила в отношении сложности паролей:

  • В пароле могут присутствовать:

    • заглавные буквы;

    • строчные буквы;

    • цифры;

    • специальные символы из следующего списка: @#$%^&*()_.

  • Обязательно наличие хотя бы одной заглавной буквы (UPPERCASE…​min=1).

  • Обязательно наличие хотя бы одной строчной буквы (LOWERCASE…​min=1).

  • Наличие цифр в пароле не обязательно (NUMBERS…​min=-1).

  • Наличие специальных символов в пароле не обязательно (SYMBOLS…​min=-1).

2. Использование утилиты engine-config

В версиях zVirt 4.0 и старше политики, заданные данным инструментом, применяются только к паролям, которые устанавливаются через портал администрирования.

В версиях zVirt 4.1 и новее для настройки политики паролей используйте утилиту ovirt-aaa-jdbc-tool.

Утилита engine-config позволяет переопределить политику паролей по умолчанию, которая применяется в отношении паролей, заданных через портал администрирования.

Политика может быть задана с помощью параметров, описанных в таблице.

Таблица 2. Параметры, относящиеся к политике паролей
Параметр Описание Значение по умолчанию

InternalUserPasswordPattern

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

В качестве значения ожидается тип String, поэтому при изменении значения указывайте его в двойных кавычках ("…​").

(?=.[a-z])(?=.[A-Z])(?=.[0-9])(?=.[@#$%^&*()_\-=.]).{6,}

Данный шаблон интерпретируется следующим образом:

  • Минимальная длина пароля - 6 символов ({6,}).

  • Пароль должен содержать хотя бы одну строчную букву.

  • Пароль должен содержать хотя бы одну заглавную букву.

  • Пароль должен содержать хотя бы одну цифру.

  • Пароль должен содержать хотя бы один спецсимвол из набора @#$%^&*()_\-=.

ChangeUserPasswordTimeout

Определяет количество дней, в течение которых пользователь может изменить пароль. Допустимые значения от 0 до 3000.

60

2.1. Просмотр текущих значений параметров

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

engine-config --get <param-name> (1)
1 - вместо <param-name> введите имя параметра.

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

engine-config --get InternalUserPasswordPattern

InternalUserPasswordPattern: (?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[@#$%^&*()_\-=.]).{6,} version: general

2.2. Изменение значений параметров

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

engine-config --set <param-name>=<param-value> (1) (2)
1 - вместо <param-name> введите имя параметра.
2 - вместо <param-value> введите значение параметра.

Пример:

Пример 3. Изменение требования к длине пароля

Команда ниже установит минимальную длину пароля равной 12 символам.

engine-config --set InternalUserPasswordPattern="(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[@#$%^&*()_\-=.]).{12,}"