Как ограничить доступ к конфигуратору, отладчику и скрыть путь к базе данных в 1С 7.7?

Системный администратор 1С v7.7 IT и автоматизация бизнеса
← На главную

Вопросы обеспечения информационной безопасности в платформе 1С:Предприятие 7.7 всегда стояли достаточно остро. В отличие от современных версий платформы (8.3 и новее), где права доступа и разделение ролей глубоко интегрированы на уровне ядра базы данных и сервера приложений, в "семерке" многие механизмы защиты приходится реализовывать административными методами операционной системы. Рассмотрим подробно, как решить три важнейшие задачи безопасности: ограничить доступ к инструментам разработки, скрыть физический путь к каталогу базы данных и защитить файловую базу (DBF) от несанкционированного копирования пользователями в терминальном режиме.

1. Надежное ограничение доступа к Конфигуратору, Отладчику и Монитору

В процессе обсуждения часто предлагается простой, но радикальный способ: физически удалить или переименовать файлы библиотек в каталоге установки платформы (папка BIN). К таким файлам относятся:

Однако этот подход имеет существенный недостаток: сам администратор или программист лишается возможности оперативно зайти в конфигуратор на данном сервере. Рассмотри более гибкие и профессиональные методы разграничения доступа.

Метод А: Настройка прав безопасности на уровне файловой системы NTFS

Вместо удаления файлов мы можем ограничить права на их чтение и выполнение для конкретных пользователей или групп. Разберем этот процесс по шагам:

  1. Создадим в операционной системе Windows Server (или в Active Directory) две группы пользователей: например, 1C-Admins (администраторы и разработчики) и 1C-Users (рядовые бухгалтеры и операторы).
  2. Перейдем в каталог установки платформы 1С 7.7. По умолчанию это путь: C:\Program Files (x86)\1Cv77\BIN\.
  3. Найдем файл Config.dll, кликнем по нему правой кнопкой мыши и выберем "Свойства", затем перейдем на вкладку "Безопасность".
  4. Нажмем кнопку "Изменить", добавим группу 1C-Users и установим для нее явный запрет (флажок Deny / Запретить) на пункты "Чтение и выполнение" (Read & Execute) и "Чтение" (Read).
  5. Повторим аналогичную процедуру для файлов Tracer.dll и Monitor.dll.

Теперь при попытке обычного пользователя запустить 1С 7.7 в режиме конфигуратора операционная система просто заблокирует загрузку соответствующей библиотеки, и запуск будет прерван с ошибкой доступа, в то время как администраторы из группы 1C-Admins смогут беспрепятственно работать с базой.

Метод Б: Использование политик ограничения программного обеспечения (SRP) или AppLocker

Если нам необходимо запретить запуск конфигуратора через командную строку с определенными ключами (например, /M для монопольного режима, CONFIG для конфигуратора), мы можем применить групповые политики Windows (GPO). Проанализируем, как это сделать с помощью AppLocker:

  1. Создаем правило создания ограничений для исполняемых файлов.
  2. Задаем условие: блокировать запуск 1cv7.exe, если в параметрах запуска содержатся аргументы командной строки, отличные от стандартного режима предприятия (enterprise).

---

2. Как скрыть путь к базе данных (кнопка "?" и окно "О программе")

По умолчанию любой пользователь 1С 7.7 может легко узнать, где физически расположены файлы таблиц базы данных. Для этого достаточно открыть меню Справка — О программе... (или нажать кнопку "?" на панели инструментов). Если база файловая, там будет указан прямой сетевой или локальный путь (например, D:\1C_Bases\Trade\). Зная этот путь, недобросовестный сотрудник может попытаться скопировать файлы напрямую. Выясним, как скрыть эту информацию.

Способ А: Редактирование ресурсов исполняемого файла платформы

Интерфейс главного меню и диалоговые окна платформы зашиты в исполняемый файл 1cv7.exe (или 1cv7s.exe для сетевой версии). Мы можем отредактировать ресурсы этого файла с помощью утилит типа Resource Hacker или PE Explorer. Разберем алгоритм действий:

  1. Сделаем резервную копию файла 1cv7.exe в безопасное место.
  2. Откроем оригинальный файл 1cv7.exe в программе Resource Hacker.
  3. В дереве ресурсов перейдем к разделу Dialog и найдем диалог с номером 104 (или диалоговое окно About / О программе).
  4. В визуальном редакторе или в коде шаблона диалога найдем текстовое поле (компонент типа Static Text), в которое динамически выводится путь к базе данных. Обычно оно связано с системной переменной вывода пути. Мы можем просто удалить этот текстовый элемент с формы диалога или сдвинуть его координаты за пределы видимости окна (например, задав отрицательные координаты).
  5. Также перейдем в раздел Menu, найдем главное меню программы и удалим строку вызова диалога "О программе" (команда с ID, вызывающим справку).
  6. Сохраним изменения и заменим файл в папке BIN.

После этой процедуры при нажатии "О программе" окно либо вообще не будет содержать строку с путем к базе, либо сам пункт меню станет недоступен для клика.

Способ Б: Перехват окон через внешние компоненты (FormEx)

Если мы не хотим модифицировать исполняемые файлы платформы, воспользуемся возможностями популярной библиотеки расширения интерфейса FormEx.dll. Проанализируем, как перехватить открытие системного окна программно. Для этого в Глобальном модуле конфигурации в процедуре ПриНачалеРаботыСистемы пропишем код инициализации внешней компоненты и перехвата событий клавиатуры или открытия окон:


Процедура ПриНачалеРаботыСистемы()
    Если ЗагрузитьВнешнююКомпоненту("FormEx.dll") = 1 Тогда
        Сервис = СоздатьОбъект("Сервис");
        // Блокируем стандартное сочетание клавиш вызова справки
        Сервис.ОбрабатыватьГорячиеКлавиши(1);
    КонецЕсли;
КонецПроцедуры

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

Способ В: Защита путей в системном реестре

Список информационных баз 1С 7.7 хранится в ветке реестра текущего пользователя: HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Titles. Чтобы пользователь не мог запустить редактор реестра regedit и посмотреть пути там, необходимо настроить доменную или локальную групповую политику "Запретить доступ к инструментам редактирования реестра".

---

3. Комплексная защита файловой (DBF) базы данных от копирования в терминале

Существует распространенное заблуждение, что файловую базу 1С 7.7 защитить от кражи и копирования невозможно. Действительно, если пользователь имеет прямой доступ к сетевой папке с базой через Проводник, он может легко скопировать файлы .dbf. Но если работа организована в терминальном режиме (RDP/Hyper-V/Citrix), мы можем создать абсолютно изолированную среду, в которой кража данных станет технически невозможной.

Рассмотрим по шагам комплекс мер для настройки терминального сервера:

Шаг 1. Настройка режима RemoteApp (или "Стартовая программа")

Ни в коем случае нельзя разрешать пользователям загружать полноценный рабочий стол терминального сервера. Пользователь должен видеть только окно самой программы 1С.

Шаг 2. Блокировка каналов утечки данных в групповых политиках RDP

Для терминальных пользователей необходимо настроить жесткие ограничения через локальные групповые политики (команда gpedit.msc на сервере) или доменные политики (GPO):

  1. Запрет перенаправления дисков (Drive Redirection): Отключаем возможность монтирования локальных дисков пользователя в терминальную сессию. Путь в редакторе политик: Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Перенаправление устройств и ресурсов -> Запретить перенаправление дисков. Установим значение "Включено". Теперь пользователь физически не сможет перетащить файл базы на свой домашний жесткий диск.
  2. Запрет буфера обмена (Clipboard Redirection): В той же ветке политик включим параметр Запретить перенаправление буфера обмена. Это заблокирует копирование файлов и больших объемов текста через буфер между сервером и клиентом.
  3. Скрытие локальных дисков сервера: Чтобы пользователь внутри диалоговых окон 1С (например, при сохранении отчета или выборе файла) не мог зайти на диск C: или D: сервера, применим политику Скрыть выбранные диски из окна "Мой компьютер" (в разделе конфигурации пользователя).

Шаг 3. Блокировка запуска стороннего софта (SRP / AppLocker)

Даже в интерфейсе 1С 7.7 через меню "Файл - Открыть" пользователь может вызвать системный диалог проводника. Оттуда, кликнув правой кнопкой мыши по любому файлу, теоретически можно запустить диспетчер задач, архиватор или командную строку. Чтобы пресечь это:

Шаг 4. Использование специализированных DBF-серверов

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

Такие решения работают по принципу клиент-сервер: сами файлы базы данных лежат в закрытом каталоге, к которому у учетной записи пользователя терминала вообще нет прав доступа NTFS (даже на чтение). Чтение и запись данных осуществляет специальная системная служба (серверный процесс), запущенная от имени администратора. 1С обращается к этой службе через локальный сокет или специальную библиотеку-прокси. В результате пользователь работает в программе, но физически скопировать файлы базы с диска не может, так как операционная система откажет ему в доступе при любой попытке открыть папку базы напрямую.

← На главную