Ключ который указывали в модуле обмена 1с нужно получать под администратором портала

Обновлено: 06.07.2024


В сегодняшней статье я расскажу об уязвимостях сервера 1С в корпоративной сети.

Как показала практика, в инсталляциях с 1С все допускают одни и те же ошибки разной степени серьезности. Я не буду касаться очевидных вещей вроде установки обновлений, но пройдусь по специфике работы сервера приложений под Windows. Например, по возможности бесконтрольно манипулировать базами Microsoft SQL с помощью инструментов 1С.

Исторически так сложилось, что редко когда системные администраторы и программисты 1С работают как одна команда. Чаще всего специалисты по 1С не вникают в тонкости системного администрирования, а сисадмины не стремятся постичь нюансы работы 1С.

И получается инфраструктура с «детскими болячками», очевидными для специалиста по ИБ ― ниже привожу личный ТОП таких проблем.

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

В своей практике я встречал множество способов решения этой задачи: папки с доступом на запись для группы «Все», сервер 1С под учетной записью с правами администратора домена, явно прописанные в коде учетные данные для подключения сетевого ресурса. Даже запуск сервера 1С под пользовательской сессией как обычное приложение.



Заходим на сервер по RDP, видим такое окно и получаем нервный тик.

Конечно, «захардкоженые» пароли и сетевые ресурсы с анонимным доступом на запись встречаются редко. В отличие от работы сервера 1С из-под обычной доменной учетной записи. Разумеется, с возможностью выполнить произвольный код «на сервере».

Как известно любому 1С-нику, но не любому системному администратору, в обработках 1С есть два режима выполнения процедур: на сервере и на клиенте. Запущенная в «серверном» режиме процедура будет выполнена под учетной записью службы сервера приложений. Со всеми ее правами.

Если сервер 1С работает с правами администратора домена, то потенциальный вредитель сможет сделать с доменом что угодно. Разумным выходом станет создание специальной учетной записи ― по мотивам USR1CV8, только уже в домене. В частности, ей стоит разрешить вход только на определенные серверы в оснастке «Пользователи и Компьютеры Active Directory».



Настройка входа только на разрешенные серверы.

Не лишним будет и разрешить вход на сервер только в качестве службы, отключив возможность локального (интерактивного) входа в систему. Сделать это можно через локальные политики безопасности непосредственно на сервере, либо с помощью доменных групповых политик.



Назначение прав пользователя в локальной политике безопасности.

Все то же самое касается и учетной записи сервера Microsoft SQL. Седых волос может прибавиться от вредных привычек:

  • запускать SQL с правами администратора компьютера или даже домена для удобного резервного копирования;
  • включать возможность запуска исполняемых команд через хранимую процедуру xp_cmdshell для переноса резервных копий на сетевые ресурсы через красивые планы обслуживания.

Регулярно в практике встречается подключение баз данных к серверу 1С под пользователем «SA» (суперпользователь в SQL). Вообще, это не так страшно как звучит, ведь пароль от SA захэширован в файле 1CV8Reg.lst на сервере приложений. Хэш злоумышленник получить гипотетически может ― не забываем про права учетной записи сервера ― но расшифровка окажется долгой, особенно если использовать брутфорс.

Но все же не лишним будет настроить аудит доступа к этому файлу с уведомлением ответственных лиц.

Другое дело, когда программистам 1С «делегируют» обязанности DBA. Опять же, из личного опыта: сервер SQL был в зоне ответственности программистов, как и интеграция внешнего сайта с базами 1С. Итогом был пароль SA в скриптах сайта.

Для собственного успокоения стоит поставить на SA сложный пароль или вовсе деактивировать эту учетную запись. На SQL тогда нужно включить доменную аутентификацию для управления и создать для 1С отдельное имя входа с правами на необходимые базы.

Если вы не хотите оставить возможность создавать базы SQL через интерфейс 1С, то новому пользователю хватит общей роли public и db_owner непосредственно в базе 1С.

Это можно проделать через Management Studio или простым скриптом T-SQL:

Правам пользователей в 1С почему-то мало кто уделяет внимание. А ведь пользователь с правами «Административные функции» или «Администрирование» запросто выгрузит базу в .DT через конфигуратор и унесет домой ― это подарит не одно мгновение волнительного счастья вашему руководству. Поэтому стоит поймать на рюмочку чая 1С-ника и посидеть совместно над базой, чтобы узнать, какие пользователи имеют подобные права. А заодно ― чем грозит понижение их полномочий.



Право выгрузить базу у роли Полные Права в типовой 1С: Бухгалтерии 2.0.

Следующий важный момент ― запуск внешних обработок. Как мы помним, в 1С можно запускать код с правами учетной записи сервера. Хорошо, если она не имеет административных прав на систему, но все равно стоит исключить возможность запуска подобных обработок для пользователей. И не забудьте попросить специалиста по 1С «встраивать» дополнительные отчеты и обработки в базу. Хотя не во всех обработках поддерживается встраивание ― эта возможность зависит от версии 1С.



Проверить, какие типовые роли не имеют прав на открытие внешних обработок, можно в конфигураторе.

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

Если все же необходим запуск внешних обработок, то неплохим вариантом контроля и подстраховки будет аудит их запуска. Штатного механизма аудита у 1С пока нет, но в сообществе уже придумали несколько обходных маневров. Внедрять эти механизмы стоит в паре со специалистом 1С, также как и настраивать уведомления о событиях в журнале регистраций базы.

Отдельно отмечу возможность настройки доменной аутентификации пользователей вместо аутентификации 1С. И пользователям будет удобнее ― меньше паролей в их памяти снижает риск появления стикеров на мониторе.

Итак, пользователи теперь не могут запускать обработки, учетная запись сервера максимально ограничена. Но есть и еще кое-что: учетная запись администратора кластера 1С, которая не создается по умолчанию.

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

Пример скрипта на PowerShell, изгоняющего всех пользователей изо всех баз сервера:

Использование подобного способа работы с сервером 1С в благих целях уже упоминалось в одной из предыдущих статей.

Создать администратора кластера не просто, а очень просто ― достаточно щелкнуть правой кнопкой на пункте «администраторы» в управлении кластером 1С, создать нового администратора, задав логин и пароль.



Создание администратора кластера 1С.

Я коснулся лишь части недоработок при настройке 1С: Предприятия. Для самостоятельного изучения рекомендую почитать до сих пор не потерявшие актуальность материалы:

Поделитесь в комментариях своими нестандартными решениями и курьезами при работе с системой 1С: Предприятие.

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

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

Заполнение общих настроек

После привязывания ролей к пользователям 1С через профили групп доступа необходимо заполнить общие настройки модуля интеграции. Перейдите в раздел Битрикс24 > Общие настройки.

настройки1

Настройка взаимодействия между 1С и Битрикс24

Если потребуется интерактивное взаимодействие между модулем 1С и Битрикс24 (синхронизация в режиме реального времени, работа из одного окна, СПАРК риски), то необходимо настроить связь между ними.

Взаимодействие между 1С и Битрикс24 может быть двумя способами:

Если происходит через Push&Pull сервер, то необходимо держать соединение 1С к Битрикс24. Соединение устанавливается через кнопку "Запустить соединение к Битрикс24". Отключается по кнопке "Отключить от Битрикс24".

В клиент серверном варианте базы 1С соединение устанавливается в фоновом режиме.

В общих настройка необходимо указать Имя пользователя и его пароль, под которым Битрикс24 будет подключаться к 1С. У пользователя 1С должны быть или полные права или доступна роль «(Комплексная интеграция Битрикс24+1С) Администратор».

Настройка логирования и хранения истории интеграции

История всех взаимодействий между 1С и Битрикс24 хранится в базе 1С. В общих настройках настраивается механизм логирования и хранения логов.

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

Для того, чтобы база 1С не сильно увеличивалась в размерах из-за логирования, рекомендуется периодически обрезать историю. В поле «Количество дней хранения истории» указывается, сколько дней должны храниться логи.

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

Настройка открытия 1С из Битрикс24

Модуль интеграции позволяет открывать объекты 1С прямо из Битрикс24.

настройки3

Какие есть способы запуска 1С

«Холодный старт» — это запуск 1С в слайдере Битрикс24.

настройки4

Лицензия 1С используется только в момент работы слайдера Битрикс24

При открытии слайдера Битрикс24 всегда происходит загрузка базы 1С

Повышенные требования к безопасности базы 1С

Проблемы с освобождением лицензий 1С

«Горячий старт» — это запуск 1С в десктопе Битрикс24.

настройки5

Быстрое открытие базы 1С

Всегда используется пользовательская лицензия 1С

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

Настройка открытия Битрикс24 из 1С

В модуле интеграции есть возможность переходить в сущность Битрикс24. Переходить в сущность можно как в отдельном окне браузера по умолчанию ОС, так и используя встроенный в 1С браузер. Использовать встроенный браузер 1С более удобно.

Настройка оповещений

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

настройки7

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

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

Некоторым клиентам необходимо контролировать факт отправки запросов из 1С в Битрикс24. Для этого в общих настройках можно указать адрес запроса на внешний сервис. Тогда при каждой отправке запроса на портал будет произведен запрос на указанный внешний сервис.

Читайте также: