Запрет на загрузку расширений конфигурации: права, сервер, Windows

· 9 мин

Содержание

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

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

Чем опасно расширение и через какие двери оно попадает в базу

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

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

Чем опасна бесконтрольная установка:

  • 🔓 код из непроверенного источника работает внутри учётной базы;
  • 🧾 расширение может тихо менять проводки, суммы и печатные формы;
  • 🔄 после обновления типовой конфигурации «чужое» расширение ломает запуск или проведение документов;
  • 🕵️ никто не помнит, кто и зачем его поставил.

Входов в базу у расширения три. От них и строится защита.

Канал установкиГде это делаетсяЧто нужно пользователю
Пользовательский режим, типовая форма БСПРаздел администрирования, пункт «Расширения»Право на администрирование расширений
Пользовательский режим, платформенная формаВсе функции → Стандартные → Управление расширениями конфигурацииТо же право
Конфигуратор, в том числе пакетный запускКонфигурация → Расширения конфигурации или /LoadCfg ... -ExtensionВход в Конфигуратор с административными правами

Закрыв все три канала, вы закрываете установку целиком. Остальные уровни — страховка на случай ошибки в правах.

Запрет через права пользователя и защиту от опасных действий

Это главный и самый надёжный способ. Он работает одинаково в файловой и клиент-серверной базе.

Шаг 1. Найдите, у кого есть право на расширения

В типовых конфигурациях (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) обычные профили групп доступа этого права не дают. Оно приходит через роль «Полные права» и через нетиповые роли, которые добавил программист.

  1. Откройте Администрирование → Настройки пользователей и прав → Пользователи.
  2. Проверьте, кто входит в группу доступа «Администраторы».
  3. Уберите из неё всех, кому полные права не нужны для работы: главного бухгалтера, руководителя, программиста-подрядчика после завершения проекта.

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

Шаг 2. Проверьте нетиповые роли в Конфигураторе

Если конфигурация дорабатывалась, право могло попасть в самописную роль.

  1. Откройте Конфигуратор, в дереве метаданных разверните Общие → Роли.
  2. Откройте каждую нетиповую роль и выберите в левой части корневой узел конфигурации.
  3. В списке прав справа найдите Администрирование расширений конфигурации и снимите флажок, если он стоит.
  4. Сохраните конфигурацию и обновите конфигурацию базы данных.

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

Изменение прав вступает в силу при следующем входе пользователя. Уже открытые сеансы работают со старыми правами до перезапуска.

Шаг 3. Включите защиту от опасных действий

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

  • в Конфигураторе: Администрирование → Пользователи, карточка пользователя, флажок «Защита от опасных действий»;
  • в типовых конфигурациях на БСП флаг выставляется и в карточке пользователя в режиме Предприятия, если у вас есть права администратора.

Флаг не запрещает установку сам по себе. Он лишь не даёт сделать её «молча». Полноценный запрет даёт только отсутствие права из шагов 1-2.

Шаг 4. Закройте Конфигуратор

Пользователь с административными правами в Конфигураторе загрузит расширение в обход любых форм. Поэтому:

  • 🔑 установите пароль на всех пользователей с административными правами;
  • 🚫 не храните сохранённые пароли в списке баз у бухгалтеров;
  • 🧑‍💻 не давайте рядовым сотрудникам роль «Администратор» ради «быстро посмотреть».

Файл conf.cfg: что он умеет и чего не умеет

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

Зато через этот файл можно случайно ослабить защиту. Файл лежит в папке установленной платформы: C:\Program Files\1cv8\<номер версии>\bin\conf\conf.cfg. Для каждой версии платформы — свой.

Что проверить на клиентских компьютерах и терминальном сервере:

  1. Откройте conf.cfg блокнотом от имени администратора.
  2. Найдите строку DisableUnsafeActionProtection=.
  3. Если она есть — удалите её или уточните маску так, чтобы она не захватывала рабочие базы.
; Так делать НЕ надо: отключает предупреждения
; об опасных действиях для всех баз на компьютере
DisableUnsafeActionProtection=.*

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

Файл conf.cfg перезаписывается не при каждом обновлении, но новая версия платформы ставится в новую папку со своим conf.cfg. После обновления платформы проверяйте файл заново.

Второй связанный файл — 1CEStart.cfg со списком баз и настройками запуска. Его стоит раздавать централизованно (см. раздел про политики), чтобы пользователи не подключали к себе тестовые базы, в которых у них полные права.

Сервер 1С: профили безопасности кластера

В клиент-серверном варианте появляется ещё один рубеж. Он ограничивает не саму установку, а то, что расширение сможет сделать после неё.

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

Расширение, загруженное через пользовательский режим, по умолчанию подключается в безопасном режиме. Код такого расширения не может напрямую писать на диск, запускать программы и создавать COM-объекты. Границы безопасного режима задаёт профиль безопасности, назначенный информационной базе в кластере.

У информационной базы в консоли кластера два поля:

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

Порядок настройки

  1. Откройте консоль администрирования серверов 1С и подключитесь к кластеру.
  2. В узле Профили безопасности создайте профиль. Оставьте полный доступ выключенным для всех ресурсов, которые расширениям не нужны: файловая система, COM-объекты, внешние компоненты, запуск приложений, интернет-ресурсы.
  3. В свойствах профиля разрешите использование его как профиля безопасного режима.
  4. Откройте свойства информационной базы и укажите этот профиль в поле профиля безопасности безопасного режима.
  5. Перезапустите сеансы пользователей в удобное время.

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

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

Для консольной работы используйте rac: список кластеров даёт rac cluster list, остальные команды для профилей и баз смотрите в справке rac help.

Администратор кластера

Отдельно закройте саму консоль. Задайте администратора кластера и администратора центрального сервера с паролями. Иначе любой, кто дотянется до порта агента (1540), сможет поменять профиль базы и снять ограничения.

Где работает ваша база?

Групповые политики Windows как дополнительный барьер

Групповые политики не видят, что происходит внутри 1С. Отличить «загрузку расширения» от «открытия отчёта» они не могут. Но они хорошо закрывают обходные пути.

Что имеет смысл настроить через GPO:

  • 📁 Права на папку платформы. Пользователи должны только читать C:\Program Files\1cv8. Тогда они не изменят conf.cfg под себя.
  • 📄 Раздача файлов настроек. Через «Предпочтения групповой политики» копируйте эталонные conf.cfg и 1CEStart.cfg на клиенты и терминальные серверы. Ручные правки будут затираться при очередном применении политики.
  • 💾 Съёмные носители. Запрет записи и чтения флешек в разделе политик «Доступ к съёмным запоминающим устройствам» перекрывает самый частый путь появления случайных .cfe.
  • 🛑 Контроль запуска программ. AppLocker или политики ограниченного использования программ не дают запускать неучтённые версии платформы из папки загрузок пользователя.

Не пытайтесь блокировать расширение .cfe политикой запуска. Это не исполняемый файл Windows, его загружает сама платформа. Блокировка файлов этого типа ничего не даст.

Как узнать, кто и когда поставил расширение

Даже при правильных правах полезно раз в месяц проверять базу. Это занимает пять минут.

Список установленных расширений

В пользовательском режиме откройте Все функции → Стандартные → Управление расширениями конфигурации. В типовых на БСП тот же список есть в разделе администрирования, пункт «Расширения». В Конфигураторе — Конфигурация → Расширения конфигурации.

Для каждого расширения смотрите:

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

Если нужна выгрузка списка для отчёта, подойдёт короткий код во внешней обработке на сервере:

Для Каждого Расш Из РасширенияКонфигурации.Получить() Цикл
    Сообщить(СтрШаблон("%1 | версия %2 | активно: %3 | безопасный режим: %4",
        Расш.Имя, Расш.Версия, Расш.Активно, Расш.БезопасныйРежим));
КонецЦикла;

Журнал регистрации

Откройте Администрирование → Обслуживание → Журнал регистрации в типовой конфигурации или Администрирование → Журнал регистрации в Конфигураторе.

  1. Нажмите «Установить отбор».
  2. В отборе по событиям раскройте группу событий, связанных с расширениями конфигурации, и отметьте их.
  3. Укажите период: например, последние 30 дней.

В результате видно пользователя, компьютер, приложение и время каждой операции с расширениями. Если событие пришло от «Конфигуратора» — расширение загружали через него, и вопрос к тем, у кого есть туда доступ.

Журнал регистрации пишется, только если уровень логирования не отключён. Проверьте в Конфигураторе Администрирование → Настройка журнала регистрации, что выбрана регистрация всех событий или хотя бы ошибок, предупреждений и информации.

Расширение уже стоит: как безопасно его выключить

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

Порядок действий:

  1. Сделайте резервную копию базы: выгрузку .dt или копию средствами СУБД.
  2. Снимите у расширения флаг «Активно» в форме управления расширениями.
  3. Перезапустите сеанс и проверьте, что база открывается, а документы проводятся.
  4. Сохраните расширение в файл .cfe — пригодится для разбора.
  5. Выясните по журналу регистрации, кто его поставил и зачем.
  6. Только после этого решайте, удалять ли его.
Ежемесячная проверка базы на расширения
Выполнено: 0 / 6

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

Можно ли запретить расширения только одному пользователю?
Да. Право выдаётся через роли, поэтому достаточно исключить этого пользователя из групп доступа, где есть полные права или нетиповая роль с правом на администрирование расширений.
Перестанут ли работать уже установленные расширения, если отобрать право?
Нет. Право касается только загрузки, изменения и удаления расширений. Уже подключённые активные расширения продолжают работать у всех пользователей.
Помогает ли от расширений запрет внешних обработок?
Нет, это разные механизмы. Внешние обработки и расширения ограничиваются раздельно: закрыв одно, второе вы не закрываете.
Как запретить расширения в базе в облаке 1С:Фреш?
Там управление расширениями ведёт провайдер сервиса. Абонент видит только допущенные к его области расширения, а самостоятельная установка регулируется правилами сервиса и правами в приложении.
Что делать, если расширение нужно, но не доверяю его коду?
Подключайте его только с флагом безопасного режима и под профилем безопасности кластера. Тогда код не получит доступа к файлам, программам и сети за пределами разрешённого.