вторник, 3 марта 2015 г.

Что нового в версии 4.3: Правила для паролей пользователей админки Composite C1 CMS

Composite C1 CMS версия 4.3 бета
Если вы пользуетесь самыми свежими бета-версиями Composite C1 CMS, которые можно установить через Web Platform Installer, то наверняка обратили внимание на то, что версия внутренней сборки теперь 4.3.

То есть следующая официальная версия будет 4.3.

Что нового можно ожидать в этой версии?

Анонсировано минимум две новые возможности, которые вы можете сами попробовать, установив последнюю бету через Web Platform Installer:
  • Правила для паролей пользователей админки
  • Отложенная публикация элементов данных (как у страниц)
В этом сообщении рассмотрим правила для паролей. Сообщение основано на статье "Password Policy" на официальном сайте, и является ее вольным переводом.

Истек срок действия пароля
В двух словах: если раньше ограничения по паролям сводились к минимальному количеству в 6 символов, и "никто" не проверял качество пароля, как и не было ограничения действия пароля по времени, то в версии 4.3 все это будет присутствовать.

Что именно будет поддерживаться в рамках этой новой возможности для паролей:
  • Срок действия пароля
  • Запрет на использование паролей уже использовавшихся до этого (история паролей)
  • Настраиваемый минимум количества символов в пароле
  • Требование к использованию разнообразных символов (буквы, цифры, другие символы)
  • Запрет на использование имени пользователя в пароле.
Графического интерфейса для этих настроек пока нет, но все можно настроить в ~/App_Data/Composite/Composite.config. Там создан специальный раздел: Composite.C1Console.Security.Plugins.PasswordPolicy/PasswordRules

<Composite.C1Console.Security.Plugins.PasswordPolicy passwordExpirationTimeInDays="0" passwordHistoryLength="0">
  <PasswordRules>
    <add name="MinimumLength" minLength="6" type="Composite.Plugins.Security.PasswordRules.MinimumLength.MinimumLengthPasswordRule, Composite" />
    <add name="EnforcePasswordHistory" type="Composite.Plugins.Security.PasswordRules.EnforcePasswordHistory.EnforcePasswordHistoryPasswordRule, Composite" />
    <!--add name="DifferentCharacterGroups" type="Composite.Plugins.Security.PasswordRules.DifferentCharacterGroups.DifferentCharacterGroupsPasswordRule, Composite" /-->
    <!--add name="DoNotUseUserName" type="Composite.Plugins.Security.PasswordRules.DoNotUseUserName.DoNotUseUserNamePasswordRule, Composite" /-->
  </PasswordRules>
</Composite.C1Console.Security.Plugins.PasswordPolicy>

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

При каких-то изменениях в файле конфигурации по паролям необходимо будет перезапускать сервер (Инструменты / Перезапустить сервер)

Теперь рассмотрим каждое правило отдельно.


Срок действия пароля


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

<Composite.C1Console.Security.Plugins.PasswordPolicy
    passwordExpirationTimeInDays="30" ...>

В примере указано 30 дней. При установке значения 0, правило отключается.


История паролей


В версии 4.3 появилась возможность вести учет использованных паролей, и запрещать использовать последних несколько паролей. Их количество - это настраиваемая величина.

Причем необходимо учесть, что к указанному количеству последних паролей, например, 10 из истории добавляется текущий пароль. Таким образом запрещены будут последние 11 паролей (включая текущий).

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

"Глубину" истории (количество последних паролей) можно задать в атрибуте passwordHistoryLength:

<Composite.C1Console.Security.Plugins.PasswordPolicy ...
passwordHistoryLength="10">

В примере, указано 10, то есть последние 11 паролей (включая текущий) будут запрещены. Указав 0, вы запретите только текущий пароль к использованию заново.

Для работы этого правило необходимо, чтобы оно было добавлено в разделе Composite.C1Console.Security.Plugins.PasswordPolicy/PasswordRules:

<PasswordRules>
    <add name="EnforcePasswordHistory"        type="Composite.Plugins.Security.PasswordRules.EnforcePasswordHistory.EnforcePasswordHistoryPasswordRule, Composite" />
<PasswordRules>

По умолчанию это так, вам только нужно указать "глубину" истории паролей, если нужно.


Длина пароля


Тут думаю все ясно - минимальное количество символов в пароле. Введете меньше - не сможете задать пароль.

Опять же в разделе Composite.C1Console.Security.Plugins.PasswordPolicy/PasswordRules добавлено соответствующее правило и выставлено минимум 6 символов по умолчанию, как раз то количество, к которому привыкли по предыдущим версиям.

Изменить минимум можно в атрибуте minLength самого правила:

<PasswordRules>
    <add name="MinimumLength" minLength="16"  type="Composite.Plugins.Security.PasswordRules.MinimumLength.MinimumLengthPasswordRule, Composite" />
<PasswordRules>

В примере указано минимум 16 символов.


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


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

<PasswordRules>
    <add name="DifferentCharacterGroups"         type="Composite.Plugins.Security.PasswordRules.DifferentCharacterGroups.DifferentCharacterGroupsPasswordRule, Composite" />
<PasswordRules>

После включения таким образом этого правила, при смене пароля от пользователей будет требоваться использование символов из как минимум 3 групп символов, а всего их 4:
  • буквы в нижнем регистре (abc и т.п.)
  • буквы в верхнем регистре (ABC и т.п.)
  • цифры (123 и т.п.)
  • спец. символы (!@#$%&/=?_.,:;-\ и т.п.)


Запрет на использование имени пользователя в паролях


Опять же по умолчанию это правило закоментировано. И чтобы его включить, его нужно раскоментировать:

<PasswordRules>
    <add name="DoNotUseUserName"        type="Composite.Plugins.Security.PasswordRules.DoNotUseUserName.DoNotUseUserNamePasswordRule, Composite" />
<PasswordRules>

При включении этого правила пароль содержащий имя пользователя будет отвергаться. То есть пароль типа 0john123 - при имени пользователя (логине) john - будет запрещен.


По паролям - все. А в одном из ближайших сообщений, я расскажу о другой новой возможности версии 4.3 - отложенная публикация элементов данных.

Комментариев нет:

Отправить комментарий