Разработка и Конфигурация · 11 мин
Как защитить конфигурацию 1С: пароли, скрытие модулей и контроль доступа
Практические способы защиты конфигурации 1С: скрытие модулей, пароли, лицензирование, права доступа и аудит. Инструкция для разработчиков и администраторов.
Защита конфигурации 1С — это комплекс мер, которые ограничивают несанкционированный просмотр исходного кода, копирование разработки, изменение данных и запуск базы на чужом оборудовании. Задача актуальна и для фирм-франчайзи, продающих тиражные решения, и для компаний, где собственная доработанная конфигурация является коммерческой тайной.
Полностью исключить взлом невозможно: любую защиту при достаточной мотивации можно обойти. Реальная цель — сделать копирование и анализ кода настолько трудоёмкими, чтобы это потеряло экономический смысл, а также обеспечить юридическую и организационную защиту: договоры, разграничение прав, аудит действий пользователей.
Ниже разобраны основные уровни защиты: встроенные механизмы платформы (пароли, скрытие модулей), поставка без исходных текстов, программные и аппаратные лицензии, разграничение прав доступа и организационные меры. Для каждого уровня указаны порядок действий, ограничения и типичные ошибки.
Какие угрозы нужно закрывать
Прежде чем выбирать инструменты, определите, от кого и от чего вы защищаетесь. Угрозы делятся на три группы: кража кода (конкурент или увольняющийся программист копирует модули), несанкционированное использование (базу запускают без оплаты лицензии на другом компьютере) и повреждение данных (случайное или умышленное изменение конфигурации и данных пользователями).
Для каждой группы существуют свои механизмы, и они не взаимозаменяемы. Пароль на конфигурацию не мешает скопировать файл базы, а аппаратный ключ не защищает код от просмотра, если модули поставляются открытыми. Поэтому защита всегда строится слоями.
Список пользователей с правами администрирования и толстым клиентом
Проверьте, включены ли тексты модулей в файлы поставки
Наличие программной или аппаратной лицензии и привязки к оборудованию
Пароль на конфигурацию и ограничение доступа в конфигуратор
Простейший уровень — пароль на доступ к конфигурации. Он устанавливается в конфигураторе через меню «Администрирование» — «Пользователи» для конкретных учётных записей, а также через механизм аутентификации операционной системы. Без прав администратора пользователь не сможет открыть конфигуратор и посмотреть структуру метаданных.
Важно понимать ограничение: пароль защищает вход, но не сам код. Если база файловая, достаточно скопировать файл 1Cv8.1CD и открыть его на другом компьютере, где у злоумышленника есть полные права. Поэтому пароль — это защита от «честных» пользователей и случайных изменений, а не от целенаправленной кражи.
Дополнительно ограничьте круг лиц, которым вообще нужен конфигуратор. Рядовым пользователям достаточно тонкого клиента или веб-доступа, а режим толстого клиента и конфигуратор должны быть доступны только администраторам и разработчикам по служебной необходимости.
Скрытие текстов модулей при поставке
Основной способ защитить исходный код — поставлять конфигурацию без текстов модулей. В конфигураторе при создании файлов поставки (меню «Конфигурация» — «Поставка конфигурации» — «Настройка поставки») для каждого объекта можно указать вариант поставки: «Поставка без исходных текстов» или «Тексты модулей не поставляются, изменения не разрешены».
После такой поставки пользователь видит в конфигураторе только заглушку вместо кода, при этом исполняемый байт-код продолжает работать. Это стандартный подход для типовых и тиражных решений: покупатель получает работающую конфигурацию, но не может прочитать алгоритмы.
Учтите два ограничения. Во-первых, существуют декомпиляторы байт-кода 1С, поэтому скрытие модулей — серьёзное, но не абсолютное препятствие. Во-вторых, конфигурацию без исходных текстов нельзя доработать штатными средствами: если клиенту нужны доработки, придётся либо поставлять часть модулей открытыми, либо выносить расширяемую логику в расширения конфигурации.
- 1Сделайте резервную копию рабочей базы и выгрузку конфигурации в файл
- 2Откройте «Конфигурация» — «Поставка конфигурации» — «Настройка поставки»
- 3Создайте новую поставку и для объектов с закрытым кодом выберите вариант без исходных текстов
- 4Создайте файлы поставки и обновления через «Создать файлы поставки и обновления конфигурации»
- 5Проверьте результат: установите поставку на тестовую базу и убедитесь, что тексты модулей не отображаются, а функционал работает
Лицензирование: программные ключи, HASP и СЛК
Защита от несанкционированного запуска строится на лицензиях. Платформа 1С сама использует программные лицензии (привязка к параметрам компьютера) или аппаратные ключи HASP. Для тиражных прикладных решений фирма «1С» предлагает систему лицензирования и защиты конфигураций (СЛК): разработчик привязывает запуск своей конфигурации к отдельному ключу или программной лицензии серии СЛК.
СЛК позволяет управлять лицензиями удалённо: активировать, продлевать, отзывать, ограничивать количество сеансов. Это стандартный путь для коммерческих продуктов на платформе. Альтернатива — самописная проверка: например, привязка к ИНН организации, регистрационному номеру базы или периодическая проверка через веб-сервис разработчика. Такой код сам нужно защищать скрытием модуля, иначе проверку просто удалят.
Сравнение вариантов лицензирования
Подходит для тиражных продуктов: готовая инфраструктура активации и продления. Ограничение — зависимость от сервиса и необходимость встраивать проверки в код
Надёжная привязка к физическому носителю, удобно для серверов. Ограничение — ключ можно потерять, а для виртуальных сред нужна проброска USB
Гибкость и отсутствие сторонних сервисов. Ограничение — проверку легко обойти, если модуль не скрыт, и всю инфраструктуру поддерживаете сами
Разграничение прав доступа и защита данных
Защита конфигурации — это не только код, но и данные. Роли в конфигурации определяют, какие объекты пользователь может читать, изменять, добавлять и удалять. Проверьте, что роли выданы по принципу минимально необходимых прав: кассиру не нужен доступ к регистрам расчётов, а менеджеру — к настройкам обменов.
Для чувствительных данных используйте ограничение доступа на уровне записей (RLS): пользователь видит только документы своей организации или своего подразделения. Дополнительно включите журнал регистрации с записью событий изменения данных и доступа — это позволит расследовать инциденты и само по себе сдерживает злоупотребления.
Отдельно защитите серверный уровень: доступ к консоли СУБД, каталогу информационной базы и серверу 1С должен быть только у администраторов. Шифрование дисков и резервных копий закрывает сценарий кражи самого файла базы или бэкапа.
Организационные меры и типичные ошибки
Технические средства работают только вместе с организационными. С программистами и франчайзи заключайте договоры с положениями о конфиденциальности и правах на разработку; с клиентами — лицензионные соглашения, запрещающие копирование и передачу. Зарегистрируйте авторские права на конфигурацию — это упростит защиту в суде.
Распространённые ошибки сводят на нет даже хорошую техническую защиту: поставка с открытыми модулями «для удобства клиента», один общий пароль администратора на всех, отсутствие резервных копий исходников у разработчика, хранение единственной копии исходной конфигурации на рабочем ноутбуке.
Как проверить, что защита работает
После настройки проведите контрольную проверку с позиции «атакующего»: возьмите тестовую копию базы и попробуйте открыть модули, скопировать файл, запустить базу на другом компьютере, войти под пользователем с ограниченными правами. Защита считается настроенной, если все эти попытки заканчиваются отказом или фиксируются в журнале регистрации.
Как проверить результат
Вместо кода отображается заглушка о поставке без исходных текстов
Тексты модулей читаются полностью
Программа требует активацию лицензии или ключ
База запускается без каких-либо проверок
Недоступные объекты скрыты, попытки доступа пишутся в журнал
Пользователь видит лишние данные или конфигуратор доступен
Повторяйте такую проверку после каждого обновления поставки и при смене состава администраторов: настройки поставки легко случайно сбросить при очередном релизе.
Что важно запомнить
Защита конфигурации 1С строится слоями: пароли и роли ограничивают доступ, поставка без исходных текстов скрывает код, СЛК и ключи контролируют запуск, договоры и аудит закрывают организационные риски. Абсолютной технической защиты не существует, поэтому цель — сделать взлом экономически бессмысленным и юридически рискованным.
Частые вопросы
Можно ли полностью защитить конфигурацию 1С от взлома?
Нет. Скрытие модулей и лицензирование серьёзно повышают трудоёмкость взлома, но существуют декомпиляторы байт-кода и способы обхода проверок. Реалистичная цель — сделать обход защиты дороже, чем покупка лицензии, и обеспечить юридические рычаги воздействия на нарушителя.
Чем отличается пароль на конфигурацию от поставки без исходных текстов?
Пароль ограничивает вход в базу под конкретной учётной записью, но не защищает сам файл базы от копирования. Поставка без исходных текстов удаляет читаемый код из модулей: конфигурация работает, но алгоритмы нельзя просмотреть в конфигураторе. Это разные уровни, и применять их нужно вместе.
Как дать клиенту возможность доработок, если код закрыт?
Используйте механизм расширений конфигурации: закрытая основная конфигурация остаётся на поддержке, а доработки выносятся в расширение. Альтернатива — оставить открытыми отдельные модули, предназначенные для кастомизации, и задокументировать это в поставке.
Что делать, если утерян пароль администратора конфигурации?
Штатного способа восстановить забытый пароль нет. Если есть другой пользователь с полными правами, он может сбросить пароль. Иначе потребуется восстановление из резервной копии с известным паролем. Чтобы не попасть в такую ситуацию, храните пароли в защищённом корпоративном хранилище с доступом минимум у двух доверенных лиц.
Нужно ли защищать файловую базу иначе, чем серверную?
Файловая база уязвимее: файл 1Cv8.1CD можно просто скопировать. Для неё критичны шифрование диска, ограничение доступа к сетевому каталогу и защита резервных копий. В клиент-серверном варианте добавьте защиту доступа к СУБД и серверу 1С, где хранятся данные.
Помогает ли регистрация авторских прав на конфигурацию?
Да, при судебных спорах. Регистрация программы для ЭВМ фиксирует авторство и дату создания, что упрощает доказывание нарушения при копировании. Сама по себе регистрация код не защищает, но вместе с лицензионными договорами создаёт правовую основу для взыскания убытков.