- Проброс 11 рутокенов средствами FreeRDP (Страница 1 из 2)
- #2 Ответ от Аверченко Кирилл 2021-02-03 08:56:02
- Re: Проброс 11 рутокенов средствами FreeRDP
- #3 Ответ от pestov_ev 2021-02-03 12:04:27
- Re: Проброс 11 рутокенов средствами FreeRDP
- #4 Ответ от Аверченко Кирилл 2021-02-03 12:33:50
- Re: Проброс 11 рутокенов средствами FreeRDP
- #5 Ответ от pestov_ev 2021-02-04 12:35:20
- Re: Проброс 11 рутокенов средствами FreeRDP
- #6 Ответ от Аверченко Кирилл 2021-02-04 13:18:19
- Re: Проброс 11 рутокенов средствами FreeRDP
- #7 Ответ от pestov_ev 2021-02-05 07:37:29
- Re: Проброс 11 рутокенов средствами FreeRDP
- #8 Ответ от pestov_ev 2021-02-09 08:30:16
- Re: Проброс 11 рутокенов средствами FreeRDP
- #9 Ответ от Аверченко Кирилл 2021-02-09 11:37:45
- Re: Проброс 11 рутокенов средствами FreeRDP
- #10 Ответ от pestov_ev 2021-02-10 16:24:43
- Re: Проброс 11 рутокенов средствами FreeRDP
- #11 Ответ от pestov_ev 2021-02-16 14:54:49
- Re: Проброс 11 рутокенов средствами FreeRDP
Проброс 11 рутокенов средствами FreeRDP (Страница 1 из 2)
Коротко о проблеме
С Windows удаётся пробросить на сервер 11 рутокенов одновременно, однако с Debian через FreeRDP удаётся пробросить максимум 10 рутокенов или меньше.
Дано
Windows Server 2012 R2 Standart с панелью управления рутокен и настроенным сервером терминалов.
11 ПК с Windows 10, к каждому из которых подключен 1 рутокен.
На каждом ПК c Windows 10 установлен VirtualBox и есть ВМ с Debian 9. Все ВМ с Debian одинаковые, каждая из которых содержит FreeRDP версии 2 из stretch-backports, libccid 1.4.26-1, pcscd 1.8.20-1, ifd-rutokens 1.0.4.
На ПК, к которому подключен рутокен S, дополнительно установлена панель управления рутокен.
Токены
Взяли токены, какие были.
Название; Версия; Количетсво
Рутокен ЭЦП Flash; 55.02.19.00; 1
Рутокен ЭЦП 2.0; 20.05.23.02; 2
Рутокен Lite; 54.01.09.00; 3
Рутокен Lite; 51.04.10.00; 4
Рутокен S; 51.00.36.00; 1
- К каждому из 11 ПК был подключен 1 рутокен.
- С 11 ПК было выполнено 11 подключений по RDP средствами Windows с пробросом токена к серверу терминалов.
- На сервере через диспетчер задач было зафиксировано 11 параллельно подключенных пользователей.
- Все 11 пользователей подтвердили, что они видят рутокен в панели управления рутокен на сервере.
- Пользователи отключились от сервера, пробросили токены в ВМ с Debian и выполнили подключение к терминальному серверу с пробросом токенов средствами FreeRDP (ключ /smartcard)
- На сервере через диспетчер задач было зафиксировано 11 параллельно подключенных пользователей.
- 8 пользователей подтвердили, что видят рутокен в панели сервера. 3 пользователя сообщили об ошибке «служба смарткарт не запущена» (панель управления рутокен была запущена до подключения по RDP)
Никак не получается пробросить более 10 токенов с Debian на Windows Server. Выше описана одна из попыток. Видимо существует проблема интеграции FreeRDP и рутокен, которая вызывает ограничение на количество терминальных сессий с пробросом рутокен.
#2 Ответ от Аверченко Кирилл 2021-02-03 08:56:02
Re: Проброс 11 рутокенов средствами FreeRDP
Здравствуйте.
Уточните, пожалуйста, токены не пробрасываются все время одни и те же? Или токены разные, но важно именно количество?
Можете на виртуальных машинах установить пакет pcsc-tools и перед подключением по RDP убедиться, что токен виден в виртуальной машине с помощью команды pcsc_scan?
#3 Ответ от pestov_ev 2021-02-03 12:04:27
Re: Проброс 11 рутокенов средствами FreeRDP
Уточните, пожалуйста, токены не пробрасываются все время одни и те же? Или токены разные, но важно именно количество?
По отдельности токены работают на Debian и пробрасываются по RDP. Проблема заключается именно в одновременном пробросе большого количества токенов по одному на пользователя.
Нам удавалось успешно пробросить эти же 11 рутокенов с Debian на Windows Server в пяти сессиях. То есть каждый из 5 пользователей пробрасывал 2 или 3 рутокена.
Можете на виртуальных машинах установить пакет pcsc-tools
Да. ВМ для тестирования рутокен.
перед подключением по RDP убедиться, что токен виден в виртуальной машине с помощью команды pcsc_scan?
Мы можем повторить эксперимент на Debian. Однако, прошлый занял порядка 16 человек * час (2 часа, 8 участников). Поэтому мы хотим минимизировать количество экспериментов. Возможно вы подскажите какие логи на стороне сервера можно собрать. На стороне клиента мы можем собрать FreeRDP с флагом -DWITH_SMARTCARD_INSPECT=ON и предоставить лог, также вывод pcscd -d и вывод pcsc_scan до проброса.
У вас есть возможность повторить эксперимент с пробросом 11-ти рутокенов с Debian на Windows Server?
#4 Ответ от Аверченко Кирилл 2021-02-03 12:33:50
Re: Проброс 11 рутокенов средствами FreeRDP
В системном логе на Windows Server в разделе Приложения или Система нет никаких ошибок?
У вас есть возможность повторить эксперимент с пробросом 11-ти рутокенов с Debian на Windows Server?
К сожалению, такой возможности нет.
3 пользователя сообщили об ошибке «служба смарткарт не запущена» (панель управления рутокен была запущена до подключения по RDP)
А пользователи после получения такой ошибки пробовали перезапускать Панель управления Рутокен или перезапускать сессию подключения по RDP только у пользователей с проблемой?
После подключения из Windows к серверу, пользователи выходили из сеанса или просто отключались без завершения сессии?
#5 Ответ от pestov_ev 2021-02-04 12:35:20
Re: Проброс 11 рутокенов средствами FreeRDP
В системном логе на Windows Server в разделе Приложения или Система нет никаких ошибок?
Во время тестирования Debian в журнале есть ошибка — Панель управления рутокен выкинула исключение 0xc0000409.
Имя сбойного приложения: rtcontrol_panel.exe, версия: 4.8.8.0, метка времени: 0x5f467db5 Имя сбойного модуля: rtcontrol_panel.exe, версия: 4.8.8.0, метка времени: 0x5f467db5 Код исключения: 0xc0000409 Смещение ошибки: 0x0000000000264f50 Идентификатор сбойного процесса: 0x284c Время запуска сбойного приложения: 0x01d6ef1c39761fc5 Путь сбойного приложения: C:\Windows\System32\Aktiv Co\rtControl_Panel\rtcontrol_panel.exe Путь сбойного модуля: C:\Windows\System32\Aktiv Co\rtControl_Panel\rtcontrol_panel.exe Идентификатор отчета: ce5f66b9-5b11-11eb-80e4-0800275b709a Полное имя сбойного пакета: Код приложения, связанного со сбойным пакетом:
После подключения из Windows к серверу, пользователи выходили из сеанса или просто отключались без завершения сессии?
В основном нажимали «отключиться».
А пользователи после получения такой ошибки пробовали перезапускать Панель управления Рутокен или перезапускать сессию подключения по RDP только у пользователей с проблемой?
Была попытка отключиться и подключиться по RDP заново, в панели управления рутокен осталась ошибка о не запущенной службе смарткарт. Была одна попытка перезапустить панель управления рутокен — она не включилась. Ошибка из журнала Windows приложенная выше произошла примерно в это же время.
До тестирования одновременного проброса каждый токен по отдельности был проброшен с ВМ с debian на Windows Server. Токен было видно в панели управления рутокен. Это тестировалось на одном ноутбуке, в который поочерёдно были подключены все токены по одному за раз. Далее эта ВМ с Debian была экспортирована и распространена на 11 ПК/ноутбуков.
#6 Ответ от Аверченко Кирилл 2021-02-04 13:18:19
Re: Проброс 11 рутокенов средствами FreeRDP
А с каким ПО в дальнейшем планируется использовать эти токены?
Возможно, токены успешно пробрасываются, но возникает проблема именно с Панелью Управления Рутокен.
#7 Ответ от pestov_ev 2021-02-05 07:37:29
Re: Проброс 11 рутокенов средствами FreeRDP
С каким ПО планируется использовать уточню. На данный момент мне известно, что рутокены пробрасываются для электронной подписи документов.
#8 Ответ от pestov_ev 2021-02-09 08:30:16
Re: Проброс 11 рутокенов средствами FreeRDP
Пересылаю ответы на вопросы.
А с каким ПО в дальнейшем планируется использовать эти токены?
Токен будет использоваться для хранения ЭП и подписания документов в различных информационных системах.
Планируется пробрасывать токены со 150 Debian-клиентов на общий сервер.
Возможно, токены успешно пробрасываются, но возникает проблема именно с Панелью Управления Рутокен.
При подключении более 10 Рутокенов у новых пользователей сессия не определяет их. При этом при запуске Rutoken Control Panel видим, что служба смарт-карт не запущена. Перезапуск службы не решает эту проблему.
Токен не определяется только с незапущенной службой смарт-карт.
#9 Ответ от Аверченко Кирилл 2021-02-09 11:37:45
Re: Проброс 11 рутокенов средствами FreeRDP
Скорее всего проблема возникает из-за утечек памяти в клиенте freerdp https://github.com/FreeRDP/FreeRDP/issues/5891
#10 Ответ от pestov_ev 2021-02-10 16:24:43
Re: Проброс 11 рутокенов средствами FreeRDP
Мы собирём логи FreeRDP уровня warning или выше, в том числе для проверки связи с утечкой памяти. В логе, приложенном к issue, явно видно записи об утечках памяти.
Повторное тестирование запланировано на завтра.
#11 Ответ от pestov_ev 2021-02-16 14:54:49
Re: Проброс 11 рутокенов средствами FreeRDP
Провели повторное тестирование.
В предыдущем тестировании каждый токен был подключен к отдельному ПК, в текущем использовано 5 ПК, на некоторых из которых запускалось несколько ВМ, через каждую из которых прокидывался 1 рутокен на сервер.
Эксперимент 1
Действия на каждой ВМ Debian
- Запущена ВМ
- Рутокен проброшен в ВМ средствами VirtualBox
- Рутокен проверен командой pcsc_scan
- Выполнено подключение по RDP с пробросом токена
xfreerdp /v:192.168.101.41 /u:User_$ /p:P@ssw0rd /cert-ignore /smartcard /log-level:trace | tee log.txt - Запущена панель управления рутокен и проверено наличие рутокена в выпадающем списке
- В случаи ошибок на предыдущем шаге производятся отладочные действия — перезапуск панели управления рутокен, переподключение к серверу
- Подключение по RDP висит, ожидание готовности других ВМ
- Выключается панель управления рутокен
- Отключение от сервера «Пуск»→»Выключение»→»Отключиться»
- Скинут лог FreeRDP с ВМ
Действия на Windows Server
- Перезапущен сервер
- К серверу подключились по RDP
- После того как на всех клиентских ВМ были опробованы средства отладки проброса было проверено наличие 11-ти подключений в диспетчере задач
- В таблицу (ниже) внесен последний результат проброса токена
- Экспортирован журнал событий
Токены
№, Модель, Версия, Последний результат проброса
01, Рутокен ЭЦП Flash, 55.02.19.00, Служба смарт-карт не запущена
02, Рутокен Lite (1000), 51.04.10.02, Проброшен
03, Рутокен Lite (1000), 51.04.10.00, Служба смарт-карт не запущена
04, Рутокен Lite (1000), 51.04.10.00, Служба смарт-карт не запущена
05, Рутокен Lite (1000), 51.04.10.00, Служба смарт-карт не запущена
06, Рутокен Lite (1000), 51.04.10.00, Проброшен
07, Рутокен Lite (1000), 51.04.09.00, Проброшен
08, Рутокен Lite (1000), 51.04.10.00, Проброшен
09, Рутокен Lite (1000), 51.04.10.00, Проброшен
10, Рутокен Lite (1000), 51.04.09.00, Не запускается панель управления рутокен
11, Рутокен Lite (1000), 51.04.10.00, Проброшен
К каким ПК подключены токены:
ПК «А» — 3, 4, 5, 11.
ПК «Б» — 1, 2.
ПК «В» — 6, 7, 10.
ПК «Г» — 8.
ПК «Д» — 9.
С этих ВМ были собраны логи FreeRDP уровня trace. В этих логах отсутствует упоминание утечек, которые мы видим в приложенных к этому issue логах https://github.com/FreeRDP/FreeRDP/issues/5891.
pcsc_scan обнаружил токен ка каждой ВМ — выводил название токена и его состояние «card inserted». На некоторых ВМ, как минимум на 7-ой
Эксперимент 2
Выполнялся так же как и первый, но со следующими отличиями:
- Вместо Debian был использован ViPNet Terminal.
- Так как pcsc_scan не обнаружил Рутокен ЭЦП Flash этот токены был заменен на Рутокен Lite, остальные токены использовались те же и имели те же номера. И этот Lite был перемещен в другой ПК.
- Не были собраны логи FreeRDP
01, Проброшен
02, Проброшен
03, Служба смарт-карт не запущена
04, Проброшен
05, Служба смарт-карт не запущена
06, Проброшен
07, Служба смарт-карт не запущена
08, Проброшен
09, Проброшен
10, Не запускается панель управления рутокен
11, Проброшен
ПК «А» — 3, 4, 5, 11.
ПК «Б» — 2.
ПК «В» — 1, 6, 7, 10.
ПК «Г» — 8.
ПК «Д» — 9.