Как обезопаситься от дыры в сервере приложений 1С
Сегодняшняя публикация будет посвящена такой теме, как дыры в безопасности 1С-сервера в сети коммерческой организации. Опыт показывает, что при установке 1С часто допускаются ошибки, некоторые из которых могут нанести существенный вред любой фирме. Мы не будем заострять внимание на очевидных вещах вроде своевременной установки обновлений, но в общих чертах обрисуем нюансы работы сервера приложений под Windows, важнейшим из которых с точки зрения безопасности является возможность бесконтрольной работы с базами Microsoft SQL посредством 1С-инструментов.
Правильный запуск сервера
По дефолту во время инсталляции 1С создается учётная запись с ограниченными правами, использующаяся для управления служебными серверами – USR1CV8. Ничего не предвещает беды до тех пор, пока не появляется потребность в сетевых ресурсах. По умолчанию у учётки нет доступа к сетевым папкам домена т.к. она является локальной.
Практика показывает, что к решению этой задачи находится не меньше десятка подходов: от запуска 1С-сервера как обычного приложения под сессией пользователя до записей в коде учетных данных для соединения с сетевым ресурсом. Самой распространенной проблемой в таких обстоятельствах становится работа 1С сервера из под типовой доменной учётки, т.к. она включает возможность выполнения «на сервере» любого кода.
Не все сисадмины (в отличие от 1С-ников) знают, что 1С имеет два режима выполнения процедур: серверный и клиентский. Иными словами, процедура, запущенная на сервере, выполнится под учётной записью службы сервера приложений – со всеми доступными ей правами. Несложно догадаться, что работа 1С-сервера с правами администратора домена позволяет потенциальному злоумышленнику распорядиться доменом любым неприглядным образом.
Чтобы защититься от этого, необходимо создать особую учётку на основе USR1CV8, но в самом домене и дать ей доступ лишь к определенным серверам в директории «Пользователи и Компьютеры Active Directory».
Подключение к SQL
Все вышеозвученное актуально и для для учётки сервера Microsoft SQL, поскольку нередки случаи подключения дата-баз к 1С-серверу SA-пользователем (так называют суперпользователя в SQL). Кроме того, имеет смысл разобраться в настройках аудита доступа к этому файлу с предоставлением отчета всем ответственным сотрудникам.
Однако это не работает, когда кодеры 1С «делегируют» обязанности DBA. Чтобы спать спокойно, необходимо устанавливать надежный пароль на SA, а то и развоплотить эту учетную запись от греха подальше. Тогда на SQL потребуется включение доменной аутентификации для контроля и создание собственного входного имени на 1С с правами доступа к лишь необходимым базам.
1С-пользователи
Даже во многих крупных фирмах зачастую мало кто озадачивается проверкой прав пользователей 1С – при том, что любой сотрудник с правами «Административные функции» или «Администрирование» может по щелчку пальцев с помощью конфигуратора выгрузить базу в .DT и скрыться с ней в закате. Выходом является работа в тандеме с 1С-ником с целью составления таблицы, в которой будет отражено, какие права есть у каждого пользователя на предприятии и до какого уровня можно их понизить, не дестабилизировав бизнес-процессы.
Вторым важным шагом является запуск внешних обработок. Как уже говорилось выше, 1С обладает возможностью для запуска кода с сервера с правами учётки. Даже если у этой учетной записи нет прав на систему, лучше все равно отсечь для пользователя возможность запустить с нее такие обработки. Также важно не забыть добиться от 1С-ника установить в базу дополнительные отчеты и обработки, там, где это в принципе возможно.
Администрирование кластера
После выполнения все этих мер, учетная запись сервера станет максимально защищена от диверсий. Остается последняя брешь в обороне: учетка администратора кластера 1С, не создаваемая по дефолту.
Ее отсутствие может грозить тем, что, если сетевые порты сервера открыты для доступа, любой злоумышленник с ноутбуком сможет создать на сервере собственную базу, где не будет никаких ограничений на запуск обработок. Более того: это открывает возможность для сбора информации дата-баз, данных, находящихся в сети пользователей, а также возможность сбросить настройки кластера или даже принудительно вывести всех сотрудников из их учетных записей.
Чтобы защититься от этого достаточно сущей мелочи: зарегистрировать в управлении кластером 1С нового администратора и установить надежный логин-пароль.
В общем-то это все основные меры, которые сисадмин может (и должен!) предпринять, чтобы обезопасить свою компанию от дыр в сервере 1С-приложений.