Как пробросить электронную подпись (УКЭП) на терминальный сервер для работы в 1С?

Системный администратор Торговля и дистрибуция
← На главную

В современных реалиях многие компании переводят свои базы 1С на удаленные терминальные серверы. Это централизует данные, упрощает администрирование и обеспечивает доступ для сотрудников из любой точки. Однако такая архитектура создает определенные технические трудности, особенно когда речь заходит о работе с усиленной квалифицированной электронной подписью (УКЭП). Часто возникает ситуация: пользователь подключается к серверу по RDP, вставляет носитель с подписью в свой локальный компьютер, а 1С на сервере этот ключ "не видит". При необходимости можно воспользоваться калькулятором для расчета ресурсов терминального сервера.

Давайте подробно разберем, почему так происходит и какие шаги нужно предпринять для корректной настройки проброса УКЭП в терминальную сессию.

Анализ проблемы: почему обычная флешка не определяется как носитель ключа?

Основная проблема, с которой столкнулся автор темы, заключается в том, что стандартный проброс дисков через RDP не гарантирует корректную работу криптографических средств. Когда вы в настройках RDP-клиента ставите галочку "Диски", на сервере ваш локальный диск (включая флешку) монтируется как сетевой ресурс вида \\tsclient\C.

Для файловой системы это обычный диск, но для криптопровайдера, такого как КриптоПро CSP, это не является стандартным "считывателем" ключевой информации. КриптоПро CSP ищет контейнеры закрытого ключа на определенных типах устройств (считывателях), и проброшенный таким образом сетевой диск часто в этот список не попадает. Поэтому, несмотря на то, что файлы на флешке видны, сам криптоконтейнер остается невидимым для системы.

Решение 1: Использование сертифицированных носителей (Рутокен, JaCarta) — Рекомендуемый способ

Это самый правильный, безопасный и надежный метод, который и привел к успеху в обсуждаемой теме. Специализированные USB-токены и смарт-карты (Рутокен, JaCarta и др.) — это не просто флешки. Это криптографические устройства, для работы с которыми в протоколе RDP предусмотрен отдельный, специальный канал перенаправления.

Рассмотрим по шагам, как настроить проброс токена.

  1. Подготовка локального компьютера пользователя.

    На машине, с которой пользователь будет подключаться к серверу, необходимо выполнить следующие действия:

    • Установите драйверы для токена. Скачайте с официального сайта производителя (например, "Драйверы Рутокен" для Windows) и установите их. Это необходимо, чтобы операционная система корректно распознала устройство.
    • Установите КриптоПро CSP. Версия должна быть совместима с той, что установлена на сервере.
    • Проверьте работоспособность. Вставьте токен в USB-порт. Убедитесь, что система его определила. Запустите КриптоПро CSP, перейдите на вкладку "Оборудование" и посмотрите, появился ли ваш токен в списке считывателей.
    • Настройте RDP-подключение. Запустите клиент подключения к удаленному рабочему столу (mstsc.exe). Нажмите "Показать параметры", перейдите на вкладку "Локальные ресурсы". В разделе "Локальные устройства и ресурсы" нажмите кнопку "Подробнее...". В открывшемся окне обязательно поставьте галочку "Смарт-карты". Сохраните настройки подключения.
  2. Подготовка терминального сервера.

    Теперь необходимо настроить серверную часть. Эти действия выполняет системный администратор.

    • Установите КриптоПро CSP. Важно: для работы на терминальном сервере требуется серверная лицензия на КриптоПро CSP. Без нее программа будет работать в демонстрационном режиме ограниченное время.
    • Установите драйверы для токена. На сервере нужно установить те же самые драйверы, что и на локальном компьютере. Сервер должен "знать", какое именно устройство к нему пробрасывается через RDP-канал смарт-карт.
  3. Проверка и работа.

    После выполнения всех настроек пользователь подключается к серверу. В его удаленной сессии должны произойти следующие вещи:

    • Токен, вставленный в локальный компьютер, станет доступен на сервере.
    • Чтобы это проверить, откройте на сервере (внутри RDP-сессии) КриптоПро CSP, перейдите на вкладку "Оборудование" и нажмите "Настроить считыватели". В списке доступных считывателей вы должны увидеть проброшенное устройство, например, "Aktiv Co. ruToken 0".
    • Запустите 1С или другую программу, которой требуется подпись. При выполнении операции подписания система обратится к КриптоПро CSP, тот найдет контейнер на проброшенном токене и запросит у пользователя PIN-код. Окно ввода PIN-кода появится поверх окна удаленного рабочего стола.

Важный момент: не забудьте установить на сервере (в хранилище сертификатов пользователя и компьютера) корневые сертификаты удостоверяющего центра, выдавшего УКЭП. Без них цепочка доверия не будет построена, и сертификат будет считаться недействительным.

Решение 2: Хранение ключа в реестре сервера (Небезопасная альтернатива)

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

Как это работает:

  1. Пользователь копирует папку с контейнером закрытого ключа (обычно она имеет вид имя.000) со своей флешки на рабочий стол терминального сервера.
  2. На сервере через КриптоПро CSP на вкладке "Сервис" нажимает "Установить личный сертификат".
  3. В мастере установки указывает путь к файлу сертификата (.cer) и затем указывает путь к скопированному контейнеру.
  4. На одном из шагов мастер предложит выбрать хранилище для ключа. Здесь нужно выбрать "Реестр".

Почему это небезопасно? Как справедливо было замечено на форуме, УКЭП генерального директора — это ключ, дающий право подписи от лица всей компании. При хранении в реестре закрытая, секретная часть ключа физически находится на сервере в профиле пользователя. В случае компрометации сервера, взлома учетной записи администратора или пользователя, злоумышленник потенциально может получить доступ к этому ключу и использовать его. Поэтому данный метод категорически не рекомендуется для ключей с высоким уровнем ответственности.

Что еще можно проверить, если проброс токена не работает?

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

В заключение, для стабильной и безопасной работы с УКЭП в терминальной среде всегда отдавайте предпочтение сертифицированным аппаратным токенам. Это избавит вас от множества проблем с настройкой и обеспечит должный уровень защиты ключа электронной подписи. Для этой задачи подойдёт инструмент для подписи файлов средствами платформы 1С.

← На главную