Безопасность прикладного программного интерфейса сервера

#std678

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

При работе в режиме управляемого приложения, клиентское приложение (тонкий или веб-клиент) обращается к серверу 1С:Предприятия посредством открытого HTTP-протокола. Таким образом, сервер 1С:Предприятия может быть вызван извне сторонними программами тем же способом, как это штатно делает клиентское приложение, и злоумышленник может получить несанкционированный доступ к пользовательским данным, нарушить работоспособность сервера.

1. Несанкционированный вызов серверного кода конфигурации с клиента.

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

1.2. В общем случае не рекомендуется размещать в серверных процедурах и функциях модулей форм код, обеспечивающий бизнес-логику, и который не относится к клиент-серверному взаимодействию и обработке реквизитов формы.

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

2. Проникновение небезопасного кода на сервер и его выполнение.

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

Также опасны внешние отчеты и обработки, COM-объекты и внешние компоненты. В частности, код внешних обработок может непосредственно обращаться ко всем общим модулям без признака "Вызов сервера", к модулям объектов и менеджеров объектов конфигурации, пытаться переходить в привилегированный режим.

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

Подробнее см. Ограничение на выполнение "внешнего" кода.

3. Клиентское приложение (тонкий клиент или веб-браузер) не гарантирует безопасность данных, переданных на сторону клиента. Эти данные легко могут быть перехвачены и прочитаны вредоносным программным обеспечением, установленным на клиентском компьютере.

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