Как ограничить количество попыток ввода пароля при входе в 1С?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

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

Начиная с версии платформы 1С:Предприятие 8.3.17, разработчики внедрили эффективный и простой в использовании инструмент «Защита от подбора пароля». Этот функционал работает как в клиент-серверном, так и в файловом варианте информационной базы. Он позволяет автоматически блокировать пользователя при превышении заданного числа неудачных попыток ввода пароля.

Чтобы настроить этот механизм, выполните следующие шаги:

  1. Откройте «Конфигуратор» вашей базы данных или «Консоль администрирования серверов 1С:Предприятия».
  2. Перейдите в раздел Администрирование -> Параметры информационной базы.
  3. Найдите блок настроек, отвечающий за безопасность и авторизацию.
  4. Установите необходимое значение параметра Количество попыток ввода неправильного пароля (например, 5).
  5. Установите Время блокировки учетной записи (в секундах), по истечении которого доступ пользователя будет восстановлен автоматически.

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

Реализация защиты для второго фактора аутентификации

Если в вашей конфигурации реализован второй фактор аутентификации (например, подтверждение входа через SMS или TOTP-токен), стандартная защита паролем здесь не сработает, так как проверка кода происходит уже после успешной проверки первичных учетных данных. В этом случае платформенных «галочек» будет недостаточно. Для внедрения такого механизма можно использовать готовое решение для реализации двухфакторной аутентификации TOTP на встроенном языке 1С.

Для защиты от «SMS-флуда» или перебора кодов подтверждения необходимо доработать конфигурацию. Рассмотрим, как это можно реализовать:

  1. Создание регистра сведений: Создайте регистр сведений (например, ПопыткиВводаКодовПодтверждения), где будут храниться измерения: Пользователь (Ссылка на справочник Пользователи) и ДатаПоследнейПопытки. Ресурс КоличествоПопыток позволит отслеживать число неудачных попыток.
  2. Обработка проверки кода: В процедуре, которая отвечает за проверку кода из SMS или токена, добавьте обращение к этому регистру.

Пример логики проверки в коде:


// Пример логики проверки попыток ввода
ТекущиеПопытки = ПолучитьКоличествоПопыток(ТекущийПользователь);
Если ТекущиеПопытки >= МаксимальноеКоличествоПопыток Тогда
    ВызватьИсключение "Превышено количество попыток ввода. Доступ заблокирован.";
КонецЕсли;

Если Не ПроверитьКод(ВведенныйКод) Тогда
    УвеличитьСчетчикПопыток(ТекущийПользователь);
    // Дополнительно можно зафиксировать время
    ВызватьИсключение "Неверный код подтверждения.";
Иначе
    СброситьСчетчикПопыток(ТекущийПользователь);
КонецЕсли;

Важно помнить, что при интеграции с внешними API (сервисами отправки SMS) логика ограничения количества запросов должна быть дублирована на стороне самого провайдера. Это защитит ваш бюджет от злоумышленников, которые могут отправлять тысячи запросов на генерацию новых кодов, даже если вы блокируете ввод кода внутри 1С.

Почему стоит обновить платформу

Мы настоятельно рекомендуем использовать самые актуальные версии платформы 1С:Предприятие (от 8.3.17 и выше). В новых версиях не только реализованы функции защиты от подбора, но и исправлены уязвимости, которые могут быть критичны для безопасности. Если вы все еще используете устаревшие версии платформы, планирование обновления — это первый шаг к защите вашей информационной системы.

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

← На главную