Считается ли вызов веб-сервиса доступом к Интернету в 1С:Fresh и как пройти аудит?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При разработке и подготовке внешних обработок для использования в облачном сервисе 1С:Fresh (1cfresh.com) разработчики часто сталкиваются с жесткими требованиями контроля безопасности. Одно из главных правил публикации — обработка должна работать в безопасном режиме, в котором по умолчанию запрещен прямой доступ к ресурсам сети Интернет. Разберем ситуацию, когда ваша обработка обращается к веб-сервису, расположенному на собственном сервере компании, и выясним, считается ли это доступом к Интернету и как правильно пройти аудит.

Веб-сервис и доступ к Интернету: позиция платформы и 1С:Fresh

Рассмотрим архитектуру сетевого взаимодействия при работе в облаке. Информационная база клиента физически находится на серверах дата-центра 1С:Fresh. Ваш веб-сервис развернут на стороннем сервере (даже если он принадлежит вашей компании или находится в офисной локальной сети).

С точки зрения платформы 1С:Предприятие и Библиотеки стандартных подсистем (БСП), любое исходящее сетевое подключение из базы (SOAP, REST, HTTP-запросы, FTP и т.д.) квалифицируется как обращение к внешнему ресурсу сети Интернет.

Соответственно, обращение к веб-сервису из 1С:Fresh является сетевым запросом и блокируется безопасным режимом, если для обработки не оформлены соответствующие разрешения.

Как технически оформить доступ к веб-сервису в коде БСП

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

Разберем по шагам, как задекларировать сетевой доступ в коде внешнего модуля. В функции СведенияОВнешнейОбработке() добавляется запрос разрешения с помощью функции РазрешениеНаИспользованиеИнтернетРесурса() общего модуля РаботаВБезопасномРежиме.

Рассмотрим пример реализации:


Функция СведенияОВнешнейОбработке() Экспорт

    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиВызовСервера.ВидОбработкиДополнительнаяОбработка();
    ПараметрыРегистрации.Наименование = "Интеграция с веб-сервисом";
    ПараметрыРегистрации.Версия = "1.0.0.1";
    ПараметрыРегистрации.БезопасныйРежим = Истина; // Обязательное условие аудита

    // Формируем массив запрашиваемых разрешений
    Разрешения = Новый Массив;

    Протокол = "HTTPS";
    Адрес = "myserver.company.ru"; // Публичный адрес веб-сервиса
    Порт = 443;
    Описание = "Обращение к веб-сервису внутренней учетной системы";

    // Создаем объект разрешения БСП
    Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса(Протокол, Адрес, Порт, Описание);
    Разрешения.Добавить(Разрешение);

    ПараметрыРегистрации.Вставить("Разрешения", Разрешения);

    Возвращать ПараметрыРегистрации;

КонецФункции

Требования аудита 1С:Fresh к внешним обработкам с сетевым доступом

Проанализируем ключевые регламентные требования, которые предъявляются аудиторами сервиса 1С:Fresh к обработкам, запрашивающим сетевой доступ:

  1. Запрет на использование произвольных URL (защита от SSRF): Обработка не должна позволять пользователю вводить любые произвольные адреса сайтов в форме настроек без жесткой проверки. Адрес веб-сервиса должен быть либо четко прописан в коде/константах, либо фильтроваться по списку разрешенных доменов.
  2. Обоснованность сетевого взаимодействия: Разработчик обязан описать назначение запроса и состав передаваемых данных при отправке обработки на аудит.
  3. Безопасность соединения: Рекомендуется использовать защищенное соединение по протоколу HTTPS. SSL-сертификат вашего сервера должен быть выдан доверенным центром сертификации (самоподписанные сертификаты могут вызывать ошибки соединения в облачной среде).
  4. Сетевая доступность: Сервер с веб-сервисом должен быть доступен из сети Интернет по публичному IP-адресу или доменному имени, а на файрволе компании должны быть открыты соответствующие порты для входящих соединений.

Резюме

Обращение из базы 1С:Fresh к стороннему веб-сервису всегда считается доступом к сети Интернет. Для успешного прохождения аудита обработка должна работать в безопасном режиме с явным декларированием разрешений через модуль РаботаВБезопасномРежиме БСП.

← На главную