Включение опции защиты от брутфорс-атаки

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

Предварительные условия:

  • пользователю доступна учетная запись в Keycloak с одной из ролей:

    • admin — администратор служебной области безопасности (master realm);

    • realm-admin — администратор области безопасности (realm), для которой выполняется настройка.

Настройки включения опции различаются в зависимости от сценария: постоянной или временной блокировки.

Общие шаги

Чтобы подключиться к консоли администратора используйте ссылку с маской: https://<inno-iam_server_name>/admin/<realm_name>/console.

Например:

  1. На главной странице из выпадающего списка, содержащего перечень областей безопасности, выберите область безопасности (realm), для которой вы хотите выполнить настройку.

  2. В главном меню выберите пункт Realm Settings — вы будете перенаправлены на форму настройки параметров выбранной области безопасности (realm).

  3. Перейдите на вкладку Security Defenses.

  4. Перейдите на вкладку Brute Force Detection.

  5. В поле Enabled установите переключатель в положение ON  — на экран будут выведены поля для настройки параметров опции защиты от брутфорс-атаки (установка переключателя в положение Off отменяет включение опции).

  6. Задайте общие параметры:

    • Max login failures — максимальное количество попыток ввода неверного пароля (значение по умолчанию — 30);

    • Quick login check milliseconds — минимальное время между попытками многопоточного (например, одновременно через несколько вкладок в браузере) ввода неверного пароля (значение по умолчанию — 1000 миллисекунд); в случае если интервал между неудачными попытками ввода пароля меньше значения данного параметра, осуществляется временная блокировка пользователя на временной интервал из параметра Minimum quick login wait. Данное правило применяется всегда при включенной защите от брутфорс-атаки вне зависимости от выбранного типа блокировки (временная или постоянная).

    • Minimum quick login wait — минимальное время, в течение которого пользователю будет недоступен ввод пароля, при попытках входа в систему чаще, чем установлено в параметре Quick login check milliseconds (значение по умолчанию — 1 минута).

      enable brute force

Включение постоянной блокировки

Для включения постоянной блокировки:

  1. Задайте значение ON для параметра Permanent lockout — включение постоянной блокировки при обнаружении попытки брутфорс-атаки.

  2. Нажмите на кнопку Save, выполненные настройки будет сохранены.

    enable brute force permanent

Алгоритм постоянной блокировки

  1. В случае успешной аутентификации:

    1. Значение переменной count (соответствует числу неуспешных попыток ввода пароля для пользователя) обнуляется.

  2. В случае неуспешной аутентификации:

    1. Значение count увеличивается на 1.

    2. Если значение count больше, чем значение параметра Max login failures:

      1. Пользователь блокируется на постоянной основе.

    3. В противном случае, если время между этим сбоем и последним сбоем меньше, чем значение параметра Quick login check milliseconds:

      1. Пользователь блокируется временно на период, указанный в параметре Minimum quick login wait.

Включение временной блокировки

Для включения временной блокировки:

  1. Задайте значение параметров:

  • Wait increment — время, на которое блокируется учетная запись пользователя, после того как будет превышено число попыток ввода неверного пароля, заданного в параметре Max login failures (значение по умолчанию — 1 минута);

    Отсчет этого времени начнется с момента прекращения попыток перебора.
  • Max wait — Максимальное время, в течение которого учетная запись пользователя может быть заблокирована (значение по умолчанию — 15 минут);

  • Failure reset time — Время, по истечении которого будет обнулен счетчик неудачных попыток ввода пароля (значение по умолчанию 12 часов).

    Отсчет этого времени начнется с момента последнего неудачного входа в систему.
  1. Нажмите на кнопку Save, выполненные настройки будет сохранены.

    enable brute force temporarily

Алгоритм временной блокировки

  1. В случае успешной аутентификации:

    1. Значение переменной count (соответствует числу неуспешных попыток ввода пароля для пользователя) обнуляется.

  2. В случае неуспешной аутентификации:

    1. Если время между текущей попыткой ввода неверного пароля и предыдущей больше, чем значение параметра Failure Reset Time:

      1. Значение переменной count обнуляется.

    2. Значение count увеличивается на 1.

    3. Значение переменной wait (период временной блокировки пользователя с момента последнего неудачного ввода пароля) рассчитывается с учетом значения, заданного в параметре Wait increment * (count / Max Login Failures). Деление — это целочисленное деление, округленное до целого числа в меньшую сторону.

    4. Если значение переменной wait равно 0, и время между текущей ошибкой и последней ошибкой меньше, чем значение параметра Quick Login Check Milliseconds, время ожидания устанавливается из параметра Minimum Quick Login Wait:

      1. Пользователь блокируется временно на период либо wait, либо Max Wait seconds (наименьшее из двух).

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

Разблокировка

Предварительные условия:

  • пользователю доступна учетная запись в Keycloak с одной из ролей:

    • admin — администратор служебной области безопасности (master realm);

    • группа ролей области безопасности (realm), для которой выполняется настройка, категории realm-management: query-users и manage-users или составная роль realm-admin (администратор области безопасности (realm), включающая в себя две предыдущие роли.

Разблокировка пользователя с типом блокировки «постоянная»

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

my user disabled

Чтобы разблокировать учетную запись, перейдите на страницу настройки параметров пользователя и переведите переключатель в правом верхнем углу, который находится в состоянии Disabled, в состояние Enabled.

my user disabled off

Разблокировка пользователя с типом блокировки «временная»

При срабатывании временной блокировки пользователя, его статус изменится на Temporarily locked.

my user temp locked

Учетная запись пользователя будет разблокирована автоматически по истечении времени, заданного в параметре Wait increment.

Чтобы разблокировать учетную запись пользователя вручную, перейдите на страницу настройки параметров пользователя и в поле Temporarily locked установите значение Off.

my user temp locked off