Защита интеллектуальной собственности в 1С:Предприятие — критически важная задача для разработчиков и компаний, которые хотят предотвратить несанкционированное копирование или модификацию конфигураций. Команда Файл → Сохранить как в режиме Конфигуратор позволяет пользователям с правами администратора легко создать резервную копию файлов .cf или .dt, которые затем можно перенести на другой компьютер, изменить или продать. Эта уязвимость становится особенно опасной при передаче конфигураций заказчикам или партнёрам.

В этой статье мы разберём 7 проверенных методов, как запретить сохранение файлов через меню «Сохранить как» — от базовых настроек прав до продвинутых технических решений с шифрованием и модификацией платформы. Вы узнаете, какие способы подходят для 1С:Предприятие 8.3 (включая последние версии), а какие требуют вмешательства в системные файлы. Также рассмотрим юридические аспекты защиты и альтернативные подходы, если полная блокировка невозможна.

Почему стандартные права доступа не помогают

Многие администраторы ошибочно полагают, что достаточно ограничить права пользователей в 1С:Предприятие через роль «Администрирование» или убрать галочку «Редактирование конфигурации». Однако это работает только для обычных пользователей — администратор с полными правами (или пользователь с ролью «Полные права») всегда сможет:

  • 🔓 Открыть конфигуратор и сохранить файл через Файл → Сохранить конфигурацию в файл.
  • 💾 Экспортировать данные через Администрирование → Выгрузить информационную базу.
  • 🖥️ Скопировать файлы базы напрямую из каталога 1Cv8 (если есть доступ к серверу).

Более того, даже если вы заблокируете интерфейсные кнопки, опытный пользователь может:

  • 🔍 Использовать внешние обработки для выгрузки данных.
  • 📟 Подключиться к базе через ODBC или COM-соединение.
  • 🛠️ Восстановить удалённые файлы из корзины или теневых копий Windows.
⚠️ Внимание: Начиная с версии 1С:Предприятие 8.3.20, платформа стала строже относиться к модификациям системных файлов. Некоторые методы (например, патчинг 1cv8.exe) могут привести к блокировке лицензии или ошибкам при обновлении.

Способ 1: Ограничение прав через роли (базовый уровень)

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

  1. Откройте конфигуратор и перейдите в Администрирование → Пользователи.
  2. Выберите роль, которую нужно ограничить (например, «Бухгалтер»).
  3. На вкладке «Права» снимите галочки:
    • 📝 Редактирование конфигурации
    • 🗄️ Администрирование
    • 🔄 Сохранение данных (если есть)
  • Сохраните изменения и перезапустите сеанс пользователя.
  • Этот метод не защитит от администратора, но предотвратит случайное или злоумышленное копирование конфигурации рядовыми сотрудниками.

    У пользователя нет прав на редактирование конфигурации|

    Роль не включает «Администрирование»|

    Проверено отсутствие прав на выгрузку данных|

    Тестовый пользователь не видит пункт «Сохранить как»-->

    Способ 2: Блокировка через внешние обработки (для опытных)

    Если вам нужно запретить сохранение всем пользователям, включая администраторов, можно использовать внешнюю обработку, которая будет перехватывать команды меню. Этот метод требует знаний 1С-программирования.

    Алгоритм:

    1. Создайте обработку с модулем, который подключается к событию ПриОткрытии конфигуратора.
    2. Добавьте код для блокировки пункта меню:
      Процедура ПриОткрытии()
      

      Попытка

      МенюФайл = ПолучаемМенюФайл();

      Если МенюФайл.Элементы.Найти("СохранитьКак") <> Неопределено Тогда

      МенюФайл.Элементы.Удалить("СохранитьКак");

      КонецЕсли;

      Исключение

      Сообщить("Ошибка блокировки меню: " + ОписаниеОшибки());

      КонецПопытки;

      КонецПроцедуры

    3. Подключите обработку через Файл → Открыть → Выбрать файл обработки.

    Минусы метода:

    • ⚠️ Обработку можно отключить или удалить.
    • 🔄 Требует обновления после каждого обновления платформы.
    • 🛡️ Не защищает от выгрузки через COM-объекты.
    • 💡

      Чтобы усложнить обход блокировки, добавьте в обработку проверку подписи пользователя или привязку к конкретному компьютеру по MAC-адресу.

      Способ 3: Шифрование конфигурации (наиболее надёжный)

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

      Популярные инструменты:

      Инструмент Тип шифрования Совместимость Стоимость
      1C:Шифрование AES-256 1С 8.3 (все версии) От 5 000 ₽
      CryptoPro ГОСТ 28147-89 Требует доработок От 3 000 ₽
      TrueCrypt/VeraCrypt AES/Serpent Только для файлов на диске Бесплатно
      1C:Лицензирование Аппаратные ключи Только для тиражных решений От 10 000 ₽

      Как работает шифрование:

      1. Файлы конфигурации (.cf, .dt) шифруются на уровне диска или при сохранении.
      2. При открытии в 1С:Предприятие происходит автоматическая расшифровка (если есть ключ).
      3. При попытке сохранить файл «как есть» получается зашифрованный файл, который нельзя открыть без ключа.
      ⚠️ Внимание: Шифрование может конфликтовать с системами резервного копирования (например, 1C:Бэкап). Перед внедрением протестируйте восстановление данных!

      Ролями и правами|

      Внешними обработками|

      Шифрованием|

      Аппаратными ключами|

      Не защищаю-->

      Способ 4: Модификация платформы (для специалистов)

      Этот метод подходит только для опытных администраторов и требует глубоких знаний работы 1С:Предприятие. Суть — внести изменения в исполняемые файлы платформы (1cv8.exe, 1cv8c.exe), чтобы заблокировать команду сохранения.

      Пошаговая инструкция:

      1. Сделайте резервную копию файлов 1cv8.exe и 1cv8c.exe (обычно находятся в C:\Program Files\1cv8\8.3.x.x\bin).
      2. Используйте hex-редактор (например, HxD или 010 Editor) для поиска строки "Сохранить как" в двоичном файле.
      3. Замените найденные байты на произвольные (например, на пробелы), чтобы команда стала некликабельной.
      4. Сохраните изменения и протестируйте работу .

    Риски метода:

    • 🚨 Нарушение лицензионного соглашения (может привести к блокировке поддержки).
    • 🔄 После каждого обновления платформы придётся повторять процедуру.
    • 💥 Возможны сбои в работе , если заденутся критичные участки кода.
    Что будет если неправильно отредактировать 1cv8.exe?

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

    Способ 5: Использование аппаратных ключей защиты

    Для коммерческих решений (например, тиражных конфигураций) оптимальным решением станут аппаратные ключи защиты (например, HASP или Guardant). Они привязывают работу конфигурации к физическому устройству, без которого база не откроется.

    Как это работает:

    • 🔑 Ключ подключается к USB-порту компьютера.
    • 📋 Конфигурация проверяет наличие ключа при старте.
    • 🚫 Без ключа 1С:Предприятие либо не запускается, либо работает в демонстрационном режиме.

    Плюсы:

    • 🔒 Высокая степень защиты (ключ сложно скопировать).
    • 📊 Возможность гибкой настройки прав (например, ограничение по дате или количеству запусков).

    Минусы:

    • 💰 Дорого (от 10 000 ₽ за ключ + стоимость внедрения).
    • 🖥️ Требует физического доступа к компьютеру (неудобно для удалённой работы).

    Способ 6: Юридическая защита (договоры и лицензии)

    Технические меры защиты не заменяют юридические инструменты. Если вы передаёте конфигурацию заказчику, обязательно:

    1. Заключите лицензионный договор, где прописаны:
      • 📜 Запрет на копирование, модификацию и передачу третьим лицам.
      • 💰 Штрафы за нарушение (например, 1 000 000 ₽ за каждую нелегальную копию).
      • 🔍 Право на аудит (проверку легальности использования).
    2. Зарегистрируйте конфигурацию в Роспатенте как программу для ЭВМ (стоимость от 15 000 ₽).
    3. Используйте водяные знаки в коде (например, комментарии с данными заказчика).
    4. Пример формулировки для договора:

      «4.2. Заказчик обязуется:

      — не копировать, не модифицировать и не распространять переданную Конфигурацию;

      — не использовать Конфигурацию на более чем 5 (пяти) рабочих местах;

      — предоставить Исполнителю доступ для проверки легальности использования по первому требованию.»

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

      Способ 7: Альтернативные подходы (если блокировка невозможна)

      Если по техническим причинам запретить «Сохранить как» не получается, рассмотрите альтернативные меры:

      • 🔄 Регулярное обновление конфигурации: Выпускайте патчи раз в 1–2 месяца, чтобы устаревшие копии теряли актуальность.
      • 📡 Облачное развёртывание: Используйте 1С:Fresh или 1С:Линк, где файлы хранятся на серверах 1С и недоступны для выгрузки.
      • 🛡️ Двухфакторная аутентификация: Настройте доступ к конфигуратору через SMS или Google Authenticator.
      • 📊 Логирование действий: Ведите журнал всех входов в конфигуратор (кто, когда и с какого IP заходил).

    Для логирования можно использовать обработку:

    Процедура ПриНачалеРаботыСистемы()
    

    ЗаписьЖурналаРегистрации("Конфигуратор.Открытие",

    УровеньЖурналаРегистрации.Информация,

    "",

    "Пользователь: " + ПользовательИБ().Имя + " | IP: " + ПолучаемIPАдрес());

    КонецПроцедуры

    💡

    Даже если вы не можете полностью запретить сохранение файлов, комбинация технических и организационных мер (шифрование + договор + логирование) снизит риски нелегального копирования на 80–90%.

    FAQ: Частые вопросы по блокировке «Сохранить как» в 1С

    Можно ли запретить «Сохранить как» для администратора без модификации платформы?

    Нет, администратор с полными правами всегда сможет обойти программные ограничения. Единственные надёжные способы — шифрование (чтобы выгруженный файл был бесполезен) или аппаратные ключи (чтобы без ключа база не открывалась).

    Будет ли работать блокировка через внешнюю обработку в клиент-серверном варианте 1С?

    Да, но обработку нужно подключить на каждом клиентском компьютере. На сервере 1С:Предприятие она не сработает, так как команда «Сохранить как» выполняется на стороне клиента.

    Как защитить конфигурацию, если заказчик требует исходники?

    В этом случае:

    1. Передайте конфигурацию в зашифрованном виде (например, через 1C:Шифрование).
    2. Подпишите договор о неразглашении (NDA) с крупными штрафами.
    3. Используйте обфусцированный код (например, через обработку «1С:Обфускатор»).
    Можно ли отследить, кто сохранил конфигурацию?

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

    Процедура ПриСохраненииКонфигурации(ПутьКФайлу)
    

    ЗаписьЖурналаРегистрации("Конфигуратор.Сохранение",

    УровеньЖурналаРегистрации.Предупреждение,

    "",

    "Пользователь: " + ПользовательИБ().Имя + " сохранил конфигурацию в " + ПутьКФайлу);

    КонецПроцедуры

    Что делать, если конфигурацию уже скопировали?

    Действия зависят от ситуации:

    • 📋 Если копирование произошло внутри компании — проведите служебное расследование и примените дисциплинарные меры.
    • 💰 Если конфигурацию продали конкурентам — обращайтесь в суд с иском о нарушении авторских прав (при наличии регистрации в Роспатенте).
    • 🔄 Если копия выложена в открытый доступ — отправляйте запрос на удаление по DMCA (для иностранных хостингов) или в Роскомнадзор.