При внедрении электронного документооборота (ЭДО) в крупных корпоративных сетях часто возникает сложная инфраструктурная дилемма. Рассмотрим типичную ситуацию: база данных 1С развернута на SQL-сервере за рубежом, сервер приложений 1С запущен на виртуальной машине под управлением Windows, к которой у локальных администраторов есть полный доступ, а конечные пользователи работают через терминальные сессии Citrix без прав на установку программного обеспечения. Перед ИТ-отделом встает ключевой вопрос: куда именно устанавливать средства криптографической защиты информации (СКЗИ, например, КриптоПро CSP) и сами сертификаты электронных подписей (КЭП) — на сервер 1С или на серверы Citrix?
В этой статье мы подробно разберем два основных архитектурных сценария, проанализируем их плюсы и минусы, а также изучим критически важные аспекты лицензирования и безопасности, которые часто упускаются из виду на этапе проектирования.
---
Если вы хотите максимально упростить процесс сопровождения системы и полностью исключить необходимость взаимодействия с зарубежными администраторами Citrix для настройки пользовательских мест, наиболее рациональным решением будет перенос всей криптографии непосредственно на сервер приложений 1С.
При такой схеме программа КриптоПро CSP, компоненты интеграции ЭДО (например, Контур.Диадок) и сами закрытые ключи сертификатов устанавливаются исключительно на виртуальной машине с сервером 1С. Пользователи в Citrix-сессиях лишь дают команду на подписание, а вся математическая обработка и отправка запросов происходят в фоновом режиме на сервере приложений.
Разберем по шагам особенности настройки этого сценария:
Это самый важный технический нюанс. Поскольку операции подписания будут выполняться в фоновом режиме на стороне сервера, они будут запущены от имени той системной учетной записи Windows, под которой функционирует служба Агент сервера 1С:Предприятия (обычно это локальный пользователь USR1CV8). Следовательно, закрытый ключ (контейнер КЭП) и сам сертификат должны быть установлены в реестр Windows именно под этой учетной записью.
Для реализации этого требования администратору необходимо запустить утилиту управления сертификатами или утилиту КриптоПро от имени пользователя службы. Сделать это можно, например, временно переведя службу 1С на запуск из-под обычной доменной учетной записи, под которой настраивается профиль, либо используя специализированные утилиты выполнения процессов от имени другого пользователя (например, RunAs).
В самой информационной базе 1С необходимо включить соответствующий функционал. Для этого перейдем в раздел Администрирование, далее выберем пункт Настройки электронной подписи и шифрования. На вкладке «Настройки» обязательно устанавливаем флажки «Выполнять криптографические операции на сервере» и «Проверять подписи и сертификаты на сервере».
Поскольку сервер приложений 1С теперь напрямую общается с оператором ЭДО, необходимо убедиться, что для данной виртуальной машины открыт исходящий доступ по протоколу HTTPS (порт 443) ко всем сетевым адресам провайдера (например, для Диадока это адреса вида *.kontur.ru, в частности api.kontur.ru и diadoc-api.kontur.ru). Если сервер находится в закрытом и изолированном сегменте внутренней сети, ЭДО функционировать не сможет.
Большим плюсом данного подхода является возможность настройки регламентных заданий. Система сможет автоматически по расписанию отправлять и принимать документы, подписывая их без непосредственного участия пользователя, если это допускается бизнес-процессами организации.
Важное предостережение по лицензированию: При установке КриптоПро CSP на серверную операционную систему (Windows Server) вам в обязательном порядке потребуется приобрести серверную лицензию КриптоПро CSP. Начиная с версии 5.0, разработчики СКЗИ технически заблокировали возможность активации обычных персональных (клиентских) лицензий на серверных ОС.
---
Бывают ситуации, когда политика безопасности компании или юридический департамент категорически запрещают хранить закрытые ключи сотрудников на сервере приложений 1С. Аргументируется это тем, что доступ к серверу имеют сторонние системные администраторы, которые теоретически могут скомпрометировать подпись. В этом случае подписание должно происходить строго на клиенте — то есть непосредственно в терминальной сессии пользователя Citrix.
При таком подходе СКЗИ КриптоПро CSP и сертификаты должны быть установлены на серверную ферму Citrix, где развернут опубликованный рабочий стол или опубликовано само приложение 1С.
Рассмотрим подробнее сложности и нюансы реализации этого сценария:
Если сертификаты ваших бухгалтеров записаны на защищенные физические USB-флешки (например, Рутокен или eToken), вам придется решать сложную задачу проброса USB-портов (USB Redirection) с локальных компьютеров пользователей внутрь виртуальной сессии Citrix.
На практике, особенно при работе через WAN-каналы с высокими сетевыми задержками (как в случае с базой в Швеции), проброс смарт-карт и токенов часто работает нестабильно. Ключи могут самопроизвольно «отваливаться» прямо в процессе подписания пакета документов, что приводит к зависаниям 1С и ошибкам криптографии.
Чтобы обойти проблему нестабильности физических токенов в Citrix, закрытые ключи выгружают из защищенных контейнеров и устанавливают в виде копий непосредственно в реестр Windows на серверах Citrix. Это гарантирует мгновенный доступ к подписи и стабильность работы.
Однако здесь возникает другая сложность: если терминальная ферма Citrix состоит из нескольких балансирующих серверов, вам потребуется настроить перемещаемые профили пользователей (Roaming Profiles), чтобы при входе на любой из серверов фермы бухгалтер получал доступ к своему сертификату в ветке реестра HKEY_CURRENT_USER. В противном случае придется вручную импортировать файлы сертификатов в профиль каждого пользователя на каждом сервере фермы.
Поскольку СКЗИ функционирует на серверах терминальной фермы, вам снова потребуются дорогостоящие серверные лицензии для каждого хоста Citrix, на котором запускаются сессии пользователей 1С, планирующих работать с ЭДО.
---
Для того чтобы принять окончательное решение, проанализируем следующую сравнительную таблицу:
| Критерий сравнения | Вариант 1: Подписание на сервере 1С | Вариант 2: Подписание в Citrix (на клиенте) |
|---|---|---|
| Сложность первоначальной настройки | Низкая (все работы выполняются на одном сервере 1С, к которому есть полный доступ). | Высокая (требуется привлечение администраторов Citrix, настройка фермы, проброс портов). |
| Затраты на лицензии СКЗИ | Минимальные (требуется одна серверная лицензия КриптоПро CSP на сервер 1С). | Высокие (требуются серверные лицензии КриптоПро на каждый сервер фермы Citrix). |
| Стабильность работы подписей | Максимальная (все процессы локальны для сервера, нет зависимости от проброса USB). | Средняя/Низкая (зависит от стабильности каналов связи и настройки проброса токенов). |
| Безопасность ключей | Средняя (ключи хранятся в профиле службы 1С, доступ к ним имеют администраторы сервера). | Высокая (ключи находятся в изолированном личном профиле конкретного пользователя Citrix). |
Итоговая рекомендация: Если корпоративная политика безопасности допускает хранение подписей на сервере приложений, мы настоятельно рекомендуем остановиться на Сценарии 1 (Подписание на сервере 1С). Это избавит вас от изнурительных согласований с зарубежными администраторами инфраструктуры Citrix, минимизирует затраты на лицензирование КриптоПро и обеспечит максимально быструю и отказоустойчивую работу контура электронного документооборота в вашей компании.