Устранение Дыр Внутри И Вокруг Сервера Приложений 1С



Устранение дыр внутри и вокруг сервера приложений 1С

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

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

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

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

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

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

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

Учетная запись по умолчанию не имеет доступа к сетевым папкам домена, поскольку она является локальной.

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

Даже запуск сервера 1С под пользовательской сессией как обычное приложение.



Устранение дыр внутри и вокруг сервера приложений 1С

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

Конечно, «жестко запрограммированные» пароли и сетевые ресурсы с анонимным доступом для записи встречаются редко.

В отличие от запуска сервера 1С от обычной доменной учетной записи.

Разумеется, с возможностью выполнения произвольного кода «на сервере».

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

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

Со всеми ее правами.

Если сервер 1С работает с правами администратора домена, то потенциальный вредитель сможет сделать с доменом что угодно.

Разумным решением будет создание специального аккаунта на базе USR1CV8 , только уже в домене.

В частности, ей следует разрешить вход только на определенные серверы в оснастке «Пользователи и компьютеры Active Directory».



Устранение дыр внутри и вокруг сервера приложений 1С

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

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

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



Устранение дыр внутри и вокруг сервера приложений 1С

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

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

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

Подключение к SQL Регулярно на практике мы сталкиваемся с подключением баз данных к серверу 1С под пользователем «SA» (суперпользователь в SQL).

В целом это не так страшно, как звучит, ведь пароль SA хешируется в файле 1CV8Reg.lst на сервере приложений.

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

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

Другое дело, когда программистам 1С «делегируют» обязанности администратора базы данных.

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

Результатом стал пароль SA в скриптах сайта.

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

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

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

Это можно сделать через Management Studio или с помощью простого сценария T-SQL:

  
   

USE <databasename> CREATE LOGIN 1c_user WITH PASSWORD = 'VeryStrongPassword' CREATE USER 1c_user FOR LOGIN 1c_user ALTER ROLE db_owner ADD MEMBER 1c_user GO

пользователи 1С Почему-то мало кто обращает внимание на права пользователей в 1С.

Но пользователь с правами «Административные функции» или «Администрирование» может легко загрузить базу данных на .

ДТ через конфигуратор и забрать домой - это подарит не одну минуту волнительного счастья вашему руководству.

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

И в то же время, чем грозит сокращение их полномочий.



Устранение дыр внутри и вокруг сервера приложений 1С

Право на выгрузку базы данных предоставлено роли Полные права в стандартной 1С:Бухгалтерии 2.0. Следующий важный момент — запуск внешней обработки.

Как мы помним, в 1С можно запускать код с правами учетной записи сервера.

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

Хотя не все обработки поддерживают встраивание — эта возможность зависит от версии 1С.



Устранение дыр внутри и вокруг сервера приложений 1С

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

Все эти действия не только помогут защититься от потенциального «внутреннего вредителя», но и станут дополнительным препятствием на пути.

вирусы-вымогатели маскируясь под обработку 1С.

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

В 1С пока нет стандартного механизма аудита, но сообщество уже придумало его.

несколько обходных путей .

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

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

Да и пользователям будет удобнее — меньшее количество паролей в памяти снижает риск появления наклеек на мониторе.

Администратор кластера Итак, пользователи теперь не могут запускать обработку, учетная запись сервера максимально ограничена.

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

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

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

$COMConnector = New-Object -ComObject V83.COMConnector $agent = $COMConnector.ConnectAgent("servername") $cluster = $agent.GetClusters()[0] $agent.Authenticate($cluster,"", "") $sessions = $agent.GetSessions($cluster) Foreach ($session in $sessions) { $agent.TerminateSession($cluster, $session) }

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

в одной из предыдущих статей .

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



Устранение дыр внутри и вокруг сервера приложений 1С

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

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

Для самостоятельного обучения рекомендую прочитать материалы, которые по-прежнему актуальны:

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

Теги: #информационная безопасность #ИТ-инфраструктура #Администрирование серверов #sql #Системное программирование #1c:предприятие #1c безопасность

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.