Как сделать ЭЦП видимой в сеансе удаленного рабочего стола RDP при использовании КриптоПро CSP

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

Часто системные администраторы и пользователи сталкиваются с ситуацией, когда USB-токен с электронной подписью (ЭЦП), физически подключенный к удаленному компьютеру, перестает отображаться в КриптоПро CSP при подключении через RDP (Remote Desktop Protocol) — как альтернатива физическим носителям есть интеграция 1С с сервисом Госключ для мобильного подписания. При этом через альтернативные средства удаленного доступа, такие как AnyDesk или TeamViewer, все работает корректно. Это происходит из-за особенностей архитектуры RDP, которая по умолчанию изолирует локальные ресурсы сервера и пытается перенаправить смарт-карты с клиентского компьютера.

В этой статье мы подробно разберем, как настроить систему, чтобы ЭЦП была доступна в терминальной сессии, и как избежать "отваливания" токена в процессе работы.

Причина проблемы: изоляция смарт-карт в RDP

Разберем ситуацию: когда вы подключаетесь к компьютеру по RDP, Windows создает виртуальную среду для вашей сессии. По умолчанию протокол RDP предполагает, что если пользователю нужна смарт-карта, он вставит ее в свой локальный компьютер, и она "пробросится" на сервер. Физические же USB-порты самого сервера в этот момент блокируются для RDP-сессии в целях безопасности. Наша задача — заставить систему видеть токен, который вставлен непосредственно в удаленную машину.

Способ 1. Настройка службы локальных смарт-карт в КриптоПро CSP 5.0

Начиная со сборки КриптоПро CSP 5.0.12600 и выше, разработчики добавили штатный механизм для решения этой проблемы. Проанализируем шаги по его включению:

  1. Откроем панель КриптоПро CSP на удаленном компьютере от имени администратора.
  2. Перейдем на вкладку Безопасность.
  3. Найдем кнопку Включить службу локальных смарт-карт и нажмем ее. Это позволит программе обращаться к физическим считывателям сервера даже внутри RDP-сессии.
  4. Для того чтобы настройки вступили в силу, необходимо добавить пользователя, который подключается по RDP, в специальную локальную группу. Откроем "Управление компьютером" (compmgmt.msc) -> "Локальные пользователи и группы" -> "Группы".
  5. Найдем группу Пользователи локальных смарт-карт КриптоПро CSP (или CryptoPro Local Smartcard Users) и добавим туда нужную учетную запись. Также права будут работать, если пользователь входит в группу "Администраторы".

Если вы используете более ранние версии (например, сертифицированную CSP 5.0.12000), кнопка может отсутствовать. В этом случае рекомендуется либо обновление, либо использование ручных настроек реестра, описанных ниже.

Способ 2. Настройка электропитания USB-портов

Выясним причину, по которой токен может "отваливаться" через некоторое время после начала работы. Часто Windows переводит USB-порты в режим энергосбережения, что критично для устройств защиты. Рассмотрим, как это исправить:

  1. Зайдем в Панель управления -> Электропитание.
  2. Выберем текущую схему питания и нажмем Настройка схемы электропитания -> Изменить дополнительные параметры питания.
  3. В дереве настроек найдем пункт Параметры USB -> Параметр временного отключения USB-порта.
  4. Установим значение Запрещено.
  5. Дополнительно проверим в "Диспетчере устройств" свойства USB Root Hub (Корневой USB-концентратор). На вкладке "Управление электропитанием" снимем галочку Разрешить отключение этого устройства для экономии энергии.

Способ 3. Изменение групповых политик (GPO)

Проанализируем системные политики, которые могут блокировать доступ к смарт-картам. Нам необходимо убедиться, что RDP не конфликтует с локальными ресурсами.

  1. Нажмем Win + R, введем gpedit.msc и нажмем Enter.
  2. Перейдем по пути: Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Перенаправление устройств и ресурсов.
  3. Найдем параметр Допускать перенаправление смарт-карт. Если мы хотим использовать только локальный токен на сервере, попробуем перевести этот параметр в состояние Отключено. Это заставит систему перестать искать виртуальные смарт-карты клиента и переключиться на локальные ресурсы.

Способ 4. Работа с реестром и параметром SmartCardAppMode

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


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings]
"SmartCardAppMode"=dword:00000001

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

Способ 5. Решение конфликта с компонентом WebAuthn

В современных операционных системах (Windows 10, 11, Server 2019/2022) появился компонент WebAuthn, который перехватывает запросы к смарт-картам при активном RDP-соединении. Это часто становится невидимым препятствием для КриптоПро CSP. Разберем, как это диагностировать:

Если при попытке просмотра сертификатов в контейнере вы видите пустое окно или ошибку "Карта не вставлена", попробуйте временно отключить перехват. Одним из методов является переименование файла C:\Windows\System32\webauthn.dll (потребуются права доступа к системным файлам), однако более безопасным методом является использование специализированных патчей от производителей токенов (например, "RDP Patch" от компании Актив для Рутокенов).

Способ 6. Использование консольного подключения

Иногда помогает подключение к удаленному рабочему столу в режиме консоли (сессия 0). Для этого запустим mstsc с флагом администратора:

Нажмем Win + R и введем:

mstsc /v:IP_АДРЕС /admin

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

Заключение

Мы рассмотрели основные методы обеспечения видимости ЭЦП в RDP-сессии. Наиболее эффективным современным решением является использование КриптоПро CSP 5.0 с включенной Службой локальных смарт-карт и обязательным добавлением пользователя в соответствующую группу безопасности. Если же токен пропадает в процессе работы, обязательно проверьте настройки электропитания USB-портов, так как это самая частая причина нестабильной связи с аппаратным ключом.

← На главную