К статье
Практический материал

Разработка и Конфигурация · 11 мин

Как защитить конфигурацию 1С: пароли, скрытие модулей и контроль доступа

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

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

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

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

Какие угрозы нужно закрывать

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

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

Кто имеет доступ к конфигураторуУровень риска утечки кода

Список пользователей с правами администрирования и толстым клиентом

Как поставляется решениеРиск копирования кода

Проверьте, включены ли тексты модулей в файлы поставки

Есть ли привязка лицензииРиск несанкционированного запуска

Наличие программной или аппаратной лицензии и привязки к оборудованию

Пароль на конфигурацию и ограничение доступа в конфигуратор

Простейший уровень — пароль на доступ к конфигурации. Он устанавливается в конфигураторе через меню «Администрирование» — «Пользователи» для конкретных учётных записей, а также через механизм аутентификации операционной системы. Без прав администратора пользователь не сможет открыть конфигуратор и посмотреть структуру метаданных.

Важно понимать ограничение: пароль защищает вход, но не сам код. Если база файловая, достаточно скопировать файл 1Cv8.1CD и открыть его на другом компьютере, где у злоумышленника есть полные права. Поэтому пароль — это защита от «честных» пользователей и случайных изменений, а не от целенаправленной кражи.

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

Скрытие текстов модулей при поставке

Основной способ защитить исходный код — поставлять конфигурацию без текстов модулей. В конфигураторе при создании файлов поставки (меню «Конфигурация» — «Поставка конфигурации» — «Настройка поставки») для каждого объекта можно указать вариант поставки: «Поставка без исходных текстов» или «Тексты модулей не поставляются, изменения не разрешены».

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

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

Порядок создания защищённой поставки
  1. 1
    Сделайте резервную копию рабочей базы и выгрузку конфигурации в файл
  2. 2
    Откройте «Конфигурация» — «Поставка конфигурации» — «Настройка поставки»
  3. 3
    Создайте новую поставку и для объектов с закрытым кодом выберите вариант без исходных текстов
  4. 4
    Создайте файлы поставки и обновления через «Создать файлы поставки и обновления конфигурации»
  5. 5
    Проверьте результат: установите поставку на тестовую базу и убедитесь, что тексты модулей не отображаются, а функционал работает

Лицензирование: программные ключи, HASP и СЛК

Защита от несанкционированного запуска строится на лицензиях. Платформа 1С сама использует программные лицензии (привязка к параметрам компьютера) или аппаратные ключи HASP. Для тиражных прикладных решений фирма «1С» предлагает систему лицензирования и защиты конфигураций (СЛК): разработчик привязывает запуск своей конфигурации к отдельному ключу или программной лицензии серии СЛК.

СЛК позволяет управлять лицензиями удалённо: активировать, продлевать, отзывать, ограничивать количество сеансов. Это стандартный путь для коммерческих продуктов на платформе. Альтернатива — самописная проверка: например, привязка к ИНН организации, регистрационному номеру базы или периодическая проверка через веб-сервис разработчика. Такой код сам нужно защищать скрытием модуля, иначе проверку просто удалят.

Сравнение вариантов лицензирования

СЛК

Подходит для тиражных продуктов: готовая инфраструктура активации и продления. Ограничение — зависимость от сервиса и необходимость встраивать проверки в код

Аппаратный ключ HASP

Надёжная привязка к физическому носителю, удобно для серверов. Ограничение — ключ можно потерять, а для виртуальных сред нужна проброска USB

Самописная привязка

Гибкость и отсутствие сторонних сервисов. Ограничение — проверку легко обойти, если модуль не скрыт, и всю инфраструктуру поддерживаете сами

Разграничение прав доступа и защита данных

Защита конфигурации — это не только код, но и данные. Роли в конфигурации определяют, какие объекты пользователь может читать, изменять, добавлять и удалять. Проверьте, что роли выданы по принципу минимально необходимых прав: кассиру не нужен доступ к регистрам расчётов, а менеджеру — к настройкам обменов.

Для чувствительных данных используйте ограничение доступа на уровне записей (RLS): пользователь видит только документы своей организации или своего подразделения. Дополнительно включите журнал регистрации с записью событий изменения данных и доступа — это позволит расследовать инциденты и само по себе сдерживает злоупотребления.

Отдельно защитите серверный уровень: доступ к консоли СУБД, каталогу информационной базы и серверу 1С должен быть только у администраторов. Шифрование дисков и резервных копий закрывает сценарий кражи самого файла базы или бэкапа.

Организационные меры и типичные ошибки

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

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

Типичные ошибки
01
Поставка конфигурации с открытыми текстами модулей — код становится доступен любому, кто откроет конфигуратор
02
Единственная копия исходников хранится в одном месте — при утере защищённую конфигурацию невозможно обновить
03
Проверка лицензии в открытом модуле — злоумышленник просто удаляет проверку
04
Права администратора выданы всем разработчикам и подрядчикам — невозможно установить источник утечки
05
Пароль конфигурации считается достаточной защитой — файл базы копируется и открывается на другом компьютере

Как проверить, что защита работает

После настройки проведите контрольную проверку с позиции «атакующего»: возьмите тестовую копию базы и попробуйте открыть модули, скопировать файл, запустить базу на другом компьютере, войти под пользователем с ограниченными правами. Защита считается настроенной, если все эти попытки заканчиваются отказом или фиксируются в журнале регистрации.

Контрольные точки

Как проверить результат

Открытие модулей в конфигураторе
Норма

Вместо кода отображается заглушка о поставке без исходных текстов

Тревожный признак

Тексты модулей читаются полностью

Запуск базы на другом компьютере
Норма

Программа требует активацию лицензии или ключ

Тревожный признак

База запускается без каких-либо проверок

Вход под ограниченным пользователем
Норма

Недоступные объекты скрыты, попытки доступа пишутся в журнал

Тревожный признак

Пользователь видит лишние данные или конфигуратор доступен

Повторяйте такую проверку после каждого обновления поставки и при смене состава администраторов: настройки поставки легко случайно сбросить при очередном релизе.

Итог

Что важно запомнить

Защита конфигурации 1С строится слоями: пароли и роли ограничивают доступ, поставка без исходных текстов скрывает код, СЛК и ключи контролируют запуск, договоры и аудит закрывают организационные риски. Абсолютной технической защиты не существует, поэтому цель — сделать взлом экономически бессмысленным и юридически рискованным.

Частые вопросы

Можно ли полностью защитить конфигурацию 1С от взлома?

Нет. Скрытие модулей и лицензирование серьёзно повышают трудоёмкость взлома, но существуют декомпиляторы байт-кода и способы обхода проверок. Реалистичная цель — сделать обход защиты дороже, чем покупка лицензии, и обеспечить юридические рычаги воздействия на нарушителя.

Чем отличается пароль на конфигурацию от поставки без исходных текстов?

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

Как дать клиенту возможность доработок, если код закрыт?

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

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

Штатного способа восстановить забытый пароль нет. Если есть другой пользователь с полными правами, он может сбросить пароль. Иначе потребуется восстановление из резервной копии с известным паролем. Чтобы не попасть в такую ситуацию, храните пароли в защищённом корпоративном хранилище с доступом минимум у двух доверенных лиц.

Нужно ли защищать файловую базу иначе, чем серверную?

Файловая база уязвимее: файл 1Cv8.1CD можно просто скопировать. Для неё критичны шифрование диска, ограничение доступа к сетевому каталогу и защита резервных копий. В клиент-серверном варианте добавьте защиту доступа к СУБД и серверу 1С, где хранятся данные.

Помогает ли регистрация авторских прав на конфигурацию?

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