Вопрос дружбы некопируемых Rutoken

Штатное перенаправление USB через RDP, встроенное в Windows Server
Ответить
Temcher
Сообщения: 2
Зарегистрирован: Пн апр 18, 2022 6:03 pm

Вопрос дружбы некопируемых Rutoken

Сообщение Temcher »

В общем наверное глупый вопрос.
Сейчас начали выпускать электронные подписи на рутокенах с меткой запрета копирования, и где ключ там и подпись, но сейчас время удаленок и хочется сделать все более мобильным.
Может есть вариант создать некий сервер USB-IP, к примеру в конторе, а что бы терминалы WTWare подключались к нему и подключали устройства к себе через USB-IP, или в сессию удаленного клиента прилетали эти чертовы ключи. А уж если можно выбирать, какой ключ сейчас подключить, то вообще огонь!
Temcher
Сообщения: 2
Зарегистрирован: Пн апр 18, 2022 6:03 pm

Re: Вопрос дружбы некопируемых Rutoken

Сообщение Temcher »

Пока писал, нашел игрушку вот такую http://distkontrol.ru/index.php/usboverip161 , но опять же, не понятно пока, как ее к WTWare подружить.
aka
Разработчик
Разработчик
Сообщения: 11309
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: Вопрос дружбы некопируемых Rutoken

Сообщение aka »

Игрушку надо дружить не с втварью, а с сервером. Только я бы не стал ставить на боевой сервер драйвер этой игрушки. Разве что делать не терминальный сервер, один на всех, а VDI - ставить каждому юзеру отдельную виртуальную машину с виндой, в неё драйвер игрушки.

Если есть возможность поставить сервер на физическом железе - можно воткнуть токен в физический порт сервера и перенаправиль нужной виртуальной машине. Локальный USB перенаправится всяко лучше сетевого, и лишний драйвер ставить не придётся.

PS: расшаривать токены по сети - это как клеить на монитор бумажки с паролями...
Bambor
Сообщения: 38
Зарегистрирован: Вт апр 30, 2019 8:04 pm

Re: Вопрос дружбы некопируемых Rutoken

Сообщение Bambor »

Temcher писал(а):
Пн апр 18, 2022 6:08 pm
В общем наверное глупый вопрос.
Сейчас начали выпускать электронные подписи на рутокенах с меткой запрета копирования, и где ключ там и подпись, но сейчас время удаленок и хочется сделать все более мобильным.
Может есть вариант создать некий сервер USB-IP, к примеру в конторе, а что бы терминалы WTWare подключались к нему и подключали устройства к себе через USB-IP, или в сессию удаленного клиента прилетали эти чертовы ключи. А уж если можно выбирать, какой ключ сейчас подключить, то вообще огонь!
Эти токены таки можно копировать, погуглите.
AndreyEver
Сообщения: 22
Зарегистрирован: Пт фев 11, 2022 3:40 pm

Re: Вопрос дружбы некопируемых Rutoken

Сообщение AndreyEver »

aka писал(а):
Пн апр 18, 2022 11:16 pm
Игрушку надо дружить не с втварью, а с сервером. Только я бы не стал ставить на боевой сервер драйвер этой игрушки. Разве что делать не терминальный сервер, один на всех, а VDI - ставить каждому юзеру отдельную виртуальную машину с виндой, в неё драйвер игрушки.

Если есть возможность поставить сервер на физическом железе - можно воткнуть токен в физический порт сервера и перенаправиль нужной виртуальной машине. Локальный USB перенаправится всяко лучше сетевого, и лишний драйвер ставить не придётся.

PS: расшаривать токены по сети - это как клеить на монитор бумажки с паролями...
Нет. Эти токены нужно дружить именно с втварью! Тогда они (токенты) будут проброшены в терминальник как смарткарты и будут видны там криптопровайдеру! Если клиента (того же Virtualhere) ставить на терминал и подключать USB устройство из сессии (RDP) на терминале, то увы, они видны не будут

+1 к фиче, чтобы Virtualhere клиент (на самой wtware) имел бы возможность подключать удаленный USB токен. Сейчас это так же можно реализовать (через костыли), но остается вопрос как эти ключи отключать (у пользователя нет такой возможности)
Было бы мега круто, чтобы пользователи имели возможность и подключать, и отключать USB устройства с удаленного VirtualHere сервера (например доп меню по аналогии с переключением мониторов в правом нижнем углу), тем более, что VirtualHere клиент не требует доп лицензирования (не требуется лицензии для подключения устройств)

Даже готовы в некоторой степени продонатить реализацию этой функции 8)
aka
Разработчик
Разработчик
Сообщения: 11309
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: Вопрос дружбы некопируемых Rutoken

Сообщение aka »

Я честно перечитал три раза и ничего не понял.

От втвари что требуется?
AndreyEver
Сообщения: 22
Зарегистрирован: Пт фев 11, 2022 3:40 pm

Re: Вопрос дружбы некопируемых Rutoken

Сообщение AndreyEver »

Изображу схематично, как не работает (проброс токенов на сервер терминалов)
|||||| RDP |||| TCP/IP
wtware ---> TS <-------- VirtualHere Server
||||||||||||||USB port||||||||||||||

Теперь как работает (будет работать при реализации)
|||||||||||||||||TCP/IP |||||||||RDP
VirtualHere Server ---------> wtware -------> TS
|||||||||||||||||USB port|||||||SmartCard

От Wtware требуется:
1) иметь возможность загрузить VirtualHere клиент
2) в конфиге иметь возможность указать адрес сервера Vritualhere (IP) и ID (или адрес) USB порта на Virtualhere сервере (или несколько таких комбинаций)
3) в GUI реализовать возможность как подключения удаленного USB порта, так и отключения (например как реализовано переключение между виртуальными экранами - появляется всплывающая форма и там список IP:адрес из п.2 USB портов для подключения/отключения )

Те. пользователь подключает удаленное USB устройство (с помощью Virualhere клиента) к самой втвари, которое пробрасывается на сервер терминалов уже внутри RDP. Для токенов этот проброс будет - пробросом смарткарты (как будто кто-то включил токен в саму втварь) и криптопровайдер на стороне терминального сервера это увидит

Главная часть реализации - это поддержка подключения удаленного USB через GUI втвари (и не только подключение, но и ОТКЛЮЧЕНИЕ USB устройства)

P.S. если говорить, о безопасности выставления в сеть сервера с USB ключами, то варианты решения:
а) Virtualhere имеет функционал авторизации и SSL
б) так как используется сеть, то доступна фильтрация на уровне L2/L3 через файрвол на сервере Virtualhere и/или маршрутизаторе
в) пинкоды для самих токенах
г) еще 4 комбинации сочетания пунктов а), б) и в)

Вот пример реализации GUI:
https://prnt.sc/33h7wsJAtQvd
Изображение
aka
Разработчик
Разработчик
Сообщения: 11309
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: Вопрос дружбы некопируемых Rutoken

Сообщение aka »

Кто такой "RDP VirtualHere Server " ?

Как управлять VirtualHere ? Сейчас VirtualHere это исполнимый файл, который не мы писали, и конфиг к нему. Мы просто запускаем исполинмый файл, и дальше он сам работает. Я не знаю никакого метода управления VirtualHere.
aka
Разработчик
Разработчик
Сообщения: 11309
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: Вопрос дружбы некопируемых Rutoken

Сообщение aka »

Ты точно понимаешь, кто здесь server и кто client?
AndreyEver
Сообщения: 22
Зарегистрирован: Пт фев 11, 2022 3:40 pm

Re: Вопрос дружбы некопируемых Rutoken

Сообщение AndreyEver »

aka писал(а):
Пн июн 06, 2022 1:38 pm
Ты точно понимаешь, кто здесь server и кто client?
Абсолютно. И очень удивляюсь, что идея вам непонятна :?

Еще раз

0) Предположим в сети есть отдельный сервер VirtualHere - его настройка нас не интересует. Нас интересует его IP и адрес/идентификатор USB порта, который мы будет подключать к втвари
1) Втварь загружает к себе КЛИЕНТА Virtualhere (можно использовать тот же механизм, что сейчас используется для загрузки сервера VirtualHere на втварь - в zip архив, загружаемы на втварь из параметра extra упаковать не только сервер VirtualHere, но и клиента или только клиента)
2) Втварь запускает клиента (например) в виде сервиса
3) Втварь через API КЛИЕНТА! ( описание его API: https://www.virtualhere.com/client_api ) подключает удаленное USB устройство с удаленного VirtualHere СЕРВЕРА (из пункта 0) к СЕБЕ!
4) Этот USB токен (удаленно подключенный с сервера VirtulaHere) будет проброшен на терминальный сервер внутри протокола RDP , как смарткарта
5) Профит

p.S как это может выглядень в GUI втвари я изобразил на картинке двумя постами ранее.
Дублирую ссылку на нее: https://prnt.sc/33h7wsJAtQvd
Последний раз редактировалось AndreyEver Вт июн 07, 2022 4:14 pm, всего редактировалось 1 раз.
AndreyEver
Сообщения: 22
Зарегистрирован: Пт фев 11, 2022 3:40 pm

Re: Вопрос дружбы некопируемых Rutoken

Сообщение AndreyEver »

@aka

Вы же , надеюсь, в курсе, что в реализации терминального сервера от Майкрософт, есть неприятный нюанс, заключающийся в том, что если в сам терминальный сервер физически воткнуть USB токен (Rutoken непример) (или подключить Rutoken через VirtulaHere клиент, установленный на терминальном серевере), то в терминальных сессиях пользователей (подключенных по RDP) эти токены видны НЕ БУДУТ! От слова совсем и By Design)

И это известная фича/проблема
И сам майкрософт говорит, что USB токены должны подключаться (физически) к клиентским станциям и пробрасывать в сервер терминалов внутри RDP сессии, как смарт-карты!

Надеюсь теперь более понятно, почему я во всех своих постах пишу про VirtualHere клиента, который был бы установлен на втваре и подключал бы USB токен К втваре
AndreyEver
Сообщения: 22
Зарегистрирован: Пт фев 11, 2022 3:40 pm

Re: Вопрос дружбы некопируемых Rutoken

Сообщение AndreyEver »

aka писал(а):
Сб июн 04, 2022 7:33 pm
Кто такой "RDP VirtualHere Server " ?
Где я использовал такую комбинацию*?
aka
Разработчик
Разработчик
Сообщения: 11309
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: Вопрос дружбы некопируемых Rutoken

Сообщение aka »

Ааа, я понял.

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

Теоретически, оно да. Перенаправили USB на терминал, и дальше как бы локальный токен терминала перенаправили через RDP.

Практичски я всегда с токенами работаю на физическом железе. Потому что и vmware, и virtualbox косячат перенаправляя USB с хоста в виртуальную машину.

А по сети мы получим те же косяки перенаправления USB плюс на порядок большие задержки. Не верю, что это будет работать. Ожидаю постоянные отвалы.
AndreyEver
Сообщения: 22
Зарегистрирован: Пт фев 11, 2022 3:40 pm

Re: Вопрос дружбы некопируемых Rutoken

Сообщение AndreyEver »

aka писал(а):
Пт июн 10, 2022 11:30 am
Практичски я всегда с токенами работаю на физическом железе. Потому что и vmware, и virtualbox косячат перенаправляя USB с хоста в виртуальную машину.

А по сети мы получим те же косяки перенаправления USB плюс на порядок большие задержки. Не верю, что это будет работать. Ожидаю постоянные отвалы.
Это прекрасно работает с Windows и Linux клиентами (и с сервером Virtulahere в локальной сети, и ,даже, с удаленным и использованием SSL). Да, при доступе к токену возникает некоторая задержка (до 5-10 секунд), но это абсолютно некритично для операций подписи документов и/или входа на какой-нибудь гос портал

Пользуемся этой связкой уже много лет и на многих местах держим полноценные ОС только из-за отсуствия данного функционала (клиента Virtualhere) в Wtware. С удовольствием переведем еще 100+ клиентов на Wtware, если/когда такая функция появится
amxs3
Сообщения: 158
Зарегистрирован: Пн окт 31, 2016 11:19 am

Re: Вопрос дружбы некопируемых Rutoken

Сообщение amxs3 »

да, реквестирую.
в связи с тем что подписи теперь нужно делать почти каждому продавцу и все они на токенах.
Ленитесь с нами, ленитесь лучше нас!
aka
Разработчик
Разработчик
Сообщения: 11309
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: Вопрос дружбы некопируемых Rutoken

Сообщение aka »

Чтобы под втварью заработал клиент virtualhere, надо собирать ядро с usbip. Клиент на линуксе без usbip в ядре не запускается.

Еще раз: сервер VirtualHere на линуксе работает без usbip. Потому что работать на линуксе с физическим USB устройством можно, для этого не надо в ядро лезть, тупо берешь и читаешь/пишешь файл существующего устройства.

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

Если нам нужно пробросить токен откуда-то на втварь, может VirtualHere не нужен? Если всё равно трафик пойдёт через линуксвовое usbip. Может, правильнее отадвать токены с другого линукса через usbip и не притягивать VirtualHere?
aka
Разработчик
Разработчик
Сообщения: 11309
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: Вопрос дружбы некопируемых Rutoken

Сообщение aka »

У меня не получается пользоваться клиентом VirtualHere бесплатно.

0. Поставить свежую втварь. Подней клиент VirtualHere может запуститься.

1. Скачать отсюда: http://wtware.com/files/virtualhere/ архив vhclient____.zip под нужную архитектуру. Не распаковывать, записать zip в "C:\Program Files (x86)\WTware\TFTPDROOT\Everyone\"

2. В конфиге терминала на выбор одну из этих строк, под нужную архитектуру:

Код: Выделить всё

extra=telnetd,vhclientarmhf
или

Код: Выделить всё

extra=telnetd,vhclienti386
или

Код: Выделить всё

extra=telnetd,vhclientx86_64
3. Перезагружаем терминал. На другом компьютере, windows тоже подойдёт:

Код: Выделить всё

telnet 10.1.1.210
Вместо 10.1.1.210 IP-адрес терминала, которому в конфиге указали "extra="

Получается командная строка на терминале.

Из комнадной строки на терминале (вместо ./vhclientx86_64 набрать четыре символа ./vh и нажать Tab, оно само подставит нужное):

Код: Выделить всё

./vhclientx86_64 -t "MANUAL HUB ADD,10.1.1.124"
Вместо 10.1.1.124 IP-адрес сервера VirtualHere, который раздаёт устройство.

Получаем такое:

Код: Выделить всё

# ./vhclientx86_64 -t "list"
VirtualHere Client IPC, below are the available devices:
(Value in brackets = address, * = Auto-Use)

zpruef2 (zpruef2:7575)
   --> Rutoken ECP (zpruef2.112)

Auto-Find currently on
Auto-Use All currently off
Reverse Lookup currently off
Reverse SSL Lookup currently off
VirtualHere Client is running as a service
Оно видит ондно расшареное устрйоство. Пытаюсь его использовать:

Код: Выделить всё

# ./vhclientx86_64 -t "use,zpruef2.112"
FAILED
Облом. В логе терминала:

Код: Выделить всё

VirtualHere Client: You need to purchase a license for your Server (10.1.1.124:7575) to enable access via a VirtualHere Client running as a service
Денег хочет. Даже за одно устройство.

Нашел на ru-board якобы вылеченные VirtualHere Server версии 4.3.3 и Client версии 5.2.3. Заменил И клиент, И сервер на файлы с ru-board. Запускаю - та же ошибка, хочет лицензию для работы в режиме сервиса.
AndreyEver
Сообщения: 22
Зарегистрирован: Пт фев 11, 2022 3:40 pm

Re: Вопрос дружбы некопируемых Rutoken

Сообщение AndreyEver »

Спасибо! Приступаем к тестированию

P.S. Да, в режиме работы клиента как сервиса VirtualHere сервер! требует лицензирования. Не вижу в этом никакой проблемы. Лицензия на сервер (клиент не требует лицензированиея, поэтому может быть использован в Wtware без ограничений

P.S.S. Готовы оплатить вам лицензию Virtualhere сервера для полноценного тестирования/реализации
Ответить

Вернуться в «Перенаправление USB через RDP»