Довідковий матеріал

Блокування встановлення сеансів користувачами

Описано ручне та програмне блокування сеансів користувачів в інформаційній базі 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()/Разблокировать() цього ж об'єкта.

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