Справочный материал

Блокировка установки сеансов пользователями

Описаны ручная и программная блокировка сеансов пользователей в информационной базе BAS, а также автоматическая блокировка аутентификации после неудачных попыток ввода пароля.. Вручную, для всех. Автоматически, при попытке подбора пароля

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

Вручную, для всех

Автоматически, при попытке подбора пароля

 

Вручную, для всех

Интерактивный способ

Система позволяет устанавливать блокировку сеансов пользователей с информационной базой. Можно запретить установку сеансов пользователей с информационной базой с отображением сообщения о причинах запрета. Эта возможность полезна, например, когда для выполнения административных действий требуется, чтобы текущие пользователи завершили свои сеансы работы, а новые пользователи при этом не могли подключиться к информационной базе.

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

Имеется возможность соединения с информационной базой в обход установленной блокировки сеансов. Для этого используется параметр командной строки /UC<код разрешения> и параметр строки соединения UC=<код разрешения>. Если при установке блокировки задан непустой код разрешения, то для установки соединения в обход блокировки необходимо в параметре /UC указать этот код разрешения. Если код разрешения содержит пробелы, его следует заключить в кавычки.

Если используется веб-клиент или тонкий клиент, работающий через веб-сервер, можно указать код разрешения в параметре UC строки соединения файла-дескриптора. В этом случае рекомендуется выполнить дополнительную публикацию информационной базы на веб-сервере.

Так, если установлена блокировка начала сеансов и код разрешения равен 123, то для начала сеанса в обход установленной блокировки необходимо указать в командной строке запуска клиентского приложения строку /UC123.

Программный способ

Кроме того, при работе в любом режиме информационной базы установку блокировки начала сеансов можно выполнить средствами встроенного языка. Для этого используется объект встроенного языка SessionsLock/БлокировкаСеансов, который можно создать с помощью конструктора и установить необходимые свойства блокировки установки соединений. Сообщение, которое будет отображаться пользователю с помощью свойства SessionsLock.Message/БлокировкаСеансов.Сообщение, может быть задано как простой текстовой строкой, так и форматированной строкой.

Метод глобального контекста SetSessionsLock()/УстановитьБлокировкуСеансов() позволяет установить созданную блокировку, а метод GetSessionsLock()/ПолучитьБлокировкуСеансов() — получить установленную блокировку.

Автоматически, при попытке подбора пароля

Одним из способов получения несанкционированного доступа к данным информационной базы является подбор пароля пользователя, когда злоумышленник перебирает пароли по определённому алгоритму, пока не подберёт нужный пароль для выбранного пользователя. Чтобы усложнить подбор, в программе BAS предусмотрен специальный механизм, который работает только в клиент-серверном варианте информационной базы.

Администратор управляет работой механизма, настраивая перечисленные ниже параметры информационной базы. Диалог открывается из главного меню командой Администрирование – Параметры информационной базы:

  • Максимальное количество неуспешных попыток аутентификации – определяет количество последовательных попыток ввода пользователем неправильного пароля перед блокировкой диалога аутентификации. Блокировка сработает на N+1 неудачной попытке аутентификации подряд, где N – это значение, установленное в этом параметре. Например, если в параметре установлено значение 2, то пользователь будет заблокирован после 3 (третьей) неудачной попытки аутентификации.

Если в этом параметре установлено значение 0, то механизм отключается, и программа не контролирует количество неудачных попыток аутентификации.

  • Длительность блокировки при превышении количества неуспешных попыток аутентификации (в секундах) – определяет время, в течение которого пользователь не сможет выполнить попытку аутентификации, если он ввёл неправильный пароль больше раз подряд, чем указано в параметре Максимальное количество неуспешных попыток аутентификации.
  • Коды дополнения имени пользователя при блокировке аутентификации – позволяет продолжить попытки аутентификации для заблокированного пользователя. Коды дополнения разделяются символом ";". В этом случае имя пользователя формируется из реального имени заблокированного пользователя и одного из указанных кодов дополнения. Пользователю, имя которого образовано с помощью кода дополнения, предоставляется столько же попыток, сколько и обычному пользователю. После исчерпания попыток аутентификации «дополнительный» пользователь также блокируется.

Механизм работает так:

  • Злоумышленник вводит имя пользователя и начинает вводить пароли, чтобы подобрать пароль пользователя. После срабатывания ограничения на максимальное количество ошибок аутентификации система блокирует имя пользователя, которое использует злоумышленник.
  • Если заблокированный пользователь попытается войти под своим именем и со своим паролем, он получит сообщение о том, что пользователь заблокирован.
  • Если в базе настроены коды дополнения, пользователь может воспользоваться одним из них. Для этого ему необходимо ввести имя, дополненное кодом дополнения. При работе с кодом дополнения следует учитывать, что анализ кода дополнения начинается только при отсутствии дополненного имени в списке пользователей информационной базы. Тогда из этого дополненного имени последовательно вычитаются все коды дополнения имён, указанные в настройках, а затем проверяется наличие пользователя информационной базы с таким именем. Из-за описанной особенности не рекомендуется создавать коды дополнения, совпадающие с окончанием имени реального пользователя. Если такой пользователь будет заблокирован, то войти с помощью кода дополнения он не сможет. Ещё одним следствием этой особенности является рекомендация начинать код дополнения с различных «технических» символов, которые не могут быть в имени пользователя, например, «!», «^» и т. п.

Для просмотра списка заблокированных пользователей можно воспользоваться формой, которая открывается в конфигураторе из главного меню командой Администрирование – Блокировка аутентификации. Форма доступна пользователю, который имеет право Administration/Администрирование или DataAdministration/АдминистрированиеДанных. Информация о блокировке пользователей доступна в журнале регистрации.

Информация о заблокированных пользователях хранится сервисом вспомогательных функций кластера серверов. Это означает, что:

  • Если заблокирован единственный администратор, то для входа под ним во время блокировки следует перезапустить кластер серверов.
  1. Счётчик ошибочных попыток входа ведётся с момента последней успешной попытки входа и не имеет срока давности. Однако перезапуск кластера серверов сбрасывает все счётчики для всех пользователей информационной базы.

Управление механизмом блокировок выполняется с помощью объекта глобального контекста AuthenticationLock/БлокировкаАутентификации. С его помощью можно изменять параметры механизма с помощью методов GetSettings()/SetSettings() (ПолучитьНастройки()/УстановитьНастройки()). Также можно получить список текущих блокировок с помощью метода GetLocks()/ПолучитьБлокировки().

Из встроенного языка можно принудительно разблокировать всех или выбранных заблокированных пользователей. Для этого нужно получить список текущих блокировок, представленный массивом объектов InfoBaseUserAuthenticationLock/ БлокировкаАутентификацииПользователяИнформационнойБазы. Затем определить список пользователей, которых следует разблокировать, на основании свойств объекта InfoBaseUserAuthenticationLock/ БлокировкаАутентификацииПользователяИнформационнойБазы. Далее для выбранных заблокированных пользователей следует вызвать метод Unlock()/Разблокировать() этого же объекта.

Записаться по телефону