Проброс USB устройств по сети (VirtualHere) – IT Pro Blog

Проброс USB устройств по сети (VirtualHere) - IT Pro Blog Электронная цифровая подпись

Краткое описание задачи

Задача, собственно, проста. Есть порядка 5-10 USB устройств, которые будут периодически подключаться к разным клиентам. Соответственно, все эти USB устройства физически должны быть подключены к какому-то одному устройству, которое будет доступно всем клиентам. Клиенты же уже в порядке живой очереди будут “разбирать” пул доступных устройств.

В силу особенностей работы 1 USB устройство в один момент времени будет подключено только к одному клиенту.

Если у вас исключительно Linux окружение, то вы можете использовать встроенное решение USB/IP.

#16 ответ от аверченко кирилл 2021-03-01 11:48:10

  • Аверченко Кирилл
  • Техническая поддержка
  • Неактивен

#17 ответ от pestov_ev 2021-03-01 12:40:13

  • pestov_ev
  • Посетитель
  • Неактивен

Re: проброс 11 рутокенов средствами freerdp

Провели повторное тестирование.В предыдущем тестировании каждый токен был подключен к отдельному ПК, в текущем использовано 5 ПК, на некоторых из которых запускалось несколько ВМ, через каждую из которых прокидывался 1 рутокен на сервер.

Эксперимент 1

Действия на каждой ВМ Debian

Рутокен проброшен в ВМ средствами VirtualBox

Рутокен проверен командой pcsc_scan

Ru1084 – база знаний – сервер документации рутокен

Простая, но мощная по возможностям программа, состоит из двух частей. Первая – это Server который нужно установить или запустить на удаленном компьютере и Viewer, который позволяет управлять другим компьютером. Для работы программа требует больше навыков и опыта от пользователя. Сервер можно один раз установить и больше никаких действий от пользователя не нужно, ID будет всегда постоянный, его даже можно задать самому вручную, что очень удобно для запоминания. Версия LiteManager Free является бесплатной для личного и коммерческого использования.

§

§

Выбор решения

Программного обеспечения, которое может обеспечить проброс USB устройств по сети, очень много. После долгих сравнений набора возможностей, стоимости и предлагаемого набора клиентов решение было выбрано – VirtualHere.

Скажу сразу – решение платное (49$). Однако, лицензируется сервер целиком, т.е. нет ограничений на количество подключенных устройств. Без лицензии в один и тот же момент времени можно использовать только одно USB устройство. Для настройки PoC (Proof of Concept) решения этого достаточно. Вы сможете проверить – подойдет ли вам этот продукт или нет.

Почему VirtualHere?

Аргументы в сторону выбора этого решения:

  1. Большой выбор серверной части – Window, Linux, Android, OSX.
  2. До безобразия простая настройка сервера.
  3. Достаточно большой набор клиентов. Есть клиент под Windows, Linux, Mac OS и Android.
  4. Клиент может быть запущен как сервис.
  5. У клиента есть как графический вариант, так и консольный аналог.
  6. У клиента есть свой API.
  7. Относительно гуманная стоимость – 49$.
ВАЖНО: В Linux CentOS 8 и 9 из коробки нет модуля vhci_hcd. Поэтому нужно либо добавлять этот модуль вручную. Либо использовать контейнеры. Признаюсь честно, я потратил около 2-х часов на то, чтобы попробовать реализовать какой-то из этих вариантов, но из этого толком ничего не получилось. Пробовал даже сторонний модуль vhci_hcd от elrepo. Насколько я понял, модуль от elrepo не работает на ядре 4.18.0-394, а рассчитан на работу с более старой версией ядра. Но это только мои догадки - не так много у меня опыта работы с Linux. Если у кого-то получилось запустить клиент на CentOS 8 или 9 - поделитесь в комментариях опытом.

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

Читайте также:  Инструкция - Подписываем документ PDF с помощью ЭЦП (электронно цифровая подпись)

Могу ошибаться, но все или некоторые аппаратные решения DistKontrolUSB, например, используют клиент как две капли воды похожий на клиент VirtualHere. Возможно, что серверная часть тоже. Но это лишь мои наблюдения и догадки.

Клиент для linux

Теперь я покажу, как выглядит клиент для Linux. Скачиваем его с сайта проекта.

Разрешаем выполнение:

chmod  x vhuit64

И запускаем клиент.

sudo ./vhuit64

В остальном работа Linux клиента аналогична работе Windows клиента. Также нужно указать расположение сервера:

Теперь мы можем увидеть перечень устройств и подключить одно из них:

Стоит отметить, что для Linux есть отдельный консольный клиент для тех случае, если вы будите использовать клиент, например, на Linux сервере.

Клиент для windows

Сначала я покажу, как выглядит клиент для Windows. Скачиваем его с сайта проекта.

Запускаем клиент:

Если вы находитесь в одной подсети с сервером, то клиент скорее всего найдет его автоматически. Если сервер автоматически не найдет, то нужно подсказать клиенту, по какому IP-адресу находится сервер:

Теперь мы видим все подключенные к серверу USB устройства и можем примонтировать одно из них:

Также можем зарегистрировать клиент в качестве службы Windows:

Работу клиента я проверил на следующих серверных ОС: Windows Server 2008 R2, 2022 R2, 2022 и 2022 и соответствующим им клиентским ОС – Windows 7, 8.1, 10 Windows 11.

Также можно использовать API для работы с клиентом. Например, запросим перечень всех устройств на сервере:

vhui64.exe -t list

Настройка virtualhere

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

Настройка сервера

Мы будем использовать вариант с Linux сервером. Наш дистрибутив – Ununtu 20.04. Вы можете использовать любой дистрибутив. Но у меня под рукой для написания статьи был только этот 🙂

Если у вас абсолютно новая установка Ubuntu, то предварительно необходимо установить curl:

apt update
apt install curl

При наличии на сервере прямого выхода в Интернет установка производится в одну команду:

Проброс 11 рутокенов средствами freerdp

Коротко о проблемеС Windows удаётся пробросить на сервер 11 рутокенов одновременно, однако с Debian через FreeRDP удаётся пробросить максимум 10 рутокенов или меньше.

ДаноWindows Server 2022 R2 Standart с панелью управления рутокен и настроенным сервером терминалов.11 ПК с Windows 10, к каждому из которых подключен 1 рутокен.На каждом ПК c Windows 10 установлен VirtualBox и есть ВМ с Debian 9.

ТокеныВзяли токены, какие были.Название; Версия; КоличетсвоРутокен ЭЦП 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 пользователей подтвердили, что они видят рутокен в панели управления рутокен на сервере.

Читайте также:  сертификат криптопро net

Пользователи отключились от сервера, пробросили токены в ВМ с Debian и выполнили подключение к терминальному серверу с пробросом токенов средствами FreeRDP (ключ /smartcard)

На сервере через диспетчер задач было зафиксировано 11 параллельно подключенных пользователей.

8 пользователей подтвердили, что видят рутокен в панели сервера. 3 пользователя сообщили об ошибке «служба смарткарт не запущена» (панель управления рутокен была запущена до подключения по RDP)

Никак не получается пробросить более 10 токенов с Debian на Windows Server. Выше описана одна из попыток. Видимо существует проблема интеграции FreeRDP и рутокен, которая вызывает ограничение на количество терминальных сессий с пробросом рутокен.

Проброс 11 рутокенов средствами freerdp (страница 1 из 2)

Форум Рутокен → Рутокен для Linux → Проброс 11 рутокенов средствами FreeRDP

Проброс 11 рутокенов средствами freerdp (страница 2 из 2)

Форум Рутокен → Рутокен для Linux → Проброс 11 рутокенов средствами FreeRDP

Страницы Назад 1 2

Сообщений с 16 по 18 из 18

Страницы Назад 1 2

Форум Рутокен → Рутокен для Linux → Проброс 11 рутокенов средствами FreeRDP

Источник

Токены и удаленный рабочий стол (rdp подключение)

RDP-token-crypto-000.png

Электронно-цифровая подпись (ЭЦП) и токены, как средство ее хранения, плотно вошли в нашу жизнь, трудно представить себе предприятие, где нет хотя бы одной подписи. Другая распространенная технология – это удаленный рабочий стол (RDP), это может быть как сервер терминалов, так и просто доступ к рабочему месту сотрудника. Вполне ожидаемы попытки использовать обе эти технологии совместно, где и начинаются проблемы. В большинстве своем они проистекают от непонимания того, что такое токен, для чего он нужен и как с ним правильно работать.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Если мы говорим о токенах применительно к ЭЦП, то их основная задача – безопасное хранение закрытого ключа. Компрометация закрытого ключа равносильна полной утере подписи, так как с его помощью любой желающий может совершать от вашего имени юридически значимые действия. Использование усиленной квалифицированной электронной подписи (УКЭП) равносильно нотариально заверенной собственноручной подписи владельца. Начиная с 2022 года УКЭП выдается ФНС в единственном экземпляре, тем самым завершив эпоху зоопарка подписей, когда одно и тоже лицо (юридическое или физическое) могло иметь кучу подписей от разных УЦ, каждая из которых использовалась для собственного сервиса.

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

Учитывая важность ЭЦП сложилась следующая парадигма – токен это индивидуальное аппаратное средство подписи и аутентификации, а сама идея удаленного доступа к нему идет вразрез со всеми представлениями о безопасности.

Начиная с Windows Vista при подключении к компьютеру при помощи RDP работа со смарт-картами и токенами, подключенными к удаленной машине невозможна.

Читайте также:  Личный кабинет на сайте ФНС временно недоступен из-за проведения технических работ

Чтобы лучше разобраться в этом вопросе давайте проведем некоторые практические эксперименты. Мы будем использовать в них токены JaCarta, но это не имеет никакого значения, аналогично будут вести себя любые токены от любого производителя.

Подключим токен непосредственно к серверу терминалов и подключимся к нему интерактивно, т.е. через локальную консоль. В системе токен определяется как смарт-карта и устройство чтениясмарт-карт.

RDP-token-crypto-001.pngРодное ПО также видит токен и сертификаты на нем:

RDP-token-crypto-002.pngА теперь подключимся к этому же серверу по RDP, нас ожидает совершенно иная картина, хотя Диспетчер устройств будет продолжать нам показывать присутствие токена в системе:

RDP-token-crypto-003.pngКак мы уже писали выше, из RDP-сессии доступ к токенам и смарт-картам, подключенным к удаленному устройству невозможен!

Если же мы подключим токен к локальному компьютеру и снова подключимся к удаленному серверу, то увидим, что ПО на сервере видит токен и может полноценно с ним работать. При этом на локальном компьютере не нужно устанавливать ПО для токена, если вы будете работать с ним только удаленно. Обратите внимание, что Диспетчер устройств не показывает подключенного к серверу устройства.

RDP-token-crypto-004.pngУ многих здесь может возникнуть вопрос: а безопасно ли это? Пробрасывать токен на сервер? Да, безопасно, потому что пробрасывается стандартное устройство смарт-карта и все последующее взаимодействие идет именно с этим устройством, а критически важная информация, такая как закрытый ключ, ни при каких обстоятельствах не покидает пределы токена.

А если пользователей несколько и у каждого свой токен со своей ЭЦП? Ничего страшного, система предоставляет эффективную изоляцию токена в пределах сеанса. Берем еще один токен, подключаем ко второму компьютеру и соединяемся с сервером, как мы и ожидали, в текущей сессии пользователь видит только свой ключ.

RDP-token-crypto-005.pngПоэтому единственный правильный вариант сочетания ЭЦП расположенной на токенах и удаленного рабочего стола (RDP) – это расположение токена на клиенте с последующим пробросом устройства смарт-карты на терминальный сервер. С настройками по умолчанию это происходит автоматически, в противном случае проверьте, что у вас разрешен проброс смарт-карт как на клиенте, так и на сервере.

RDP-token-crypto-006.pngНо иногда все-таки бывают задачи, которые требуют использовать токен удаленно, в этих случаях следует использовать иные средства удаленного доступа, предполагающие подключение к текущему консольному сеансу. Последнее условие важно, сеанс к которому вы будете подключаться должен быть создан на сервере локально, а не через удаленный доступ.

Потому что даже если мы запустим TeamViewer или аналогичное ПО в RDP-сеансе, то мы не увидим токена, а попытавшись закрыть удаленный сеанс потеряем с ним связь.

RDP-token-crypto-007.pngЕсли же мы выполним локальный вход на сервер и запустим в рамках этого сеанса средство удаленного доступа, то токен снова будет доступен.

RDP-token-crypto-008.pngКак видим, если понимать основные принципы работы токенов при RDP-подключении, то никаких сложностей по работе с ними нет. Если необходим удаленный доступ, то вместо RDP используем иные средства, позволяющие непосредственно подключаться к локальному сеансу. Ну и не забываем, что ЭЦП – это большая ответственность и вопросы безопасности должны стоять на первом месте.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Оцените статью
ЭЦП Эксперт
Добавить комментарий