Привет! Я Воробьев Михаил, R&D-специалист «Тринити». Мы в отделе исследований и разработок постоянно тестируем множество программно-аппаратных комплексов, которые применяем в работе компании. Когда попадается что-то интересное, очень хочется об этом написать.
Вот и недавно я протестировал один отечественный USB-хаб, который решает проблему утери токенов, обеспечивая доступ к USB-устройствам по сети. Публикую результаты теста.
В теории
Что это такое
Официально ПАК называется «Система дистанционного подключения устройств с USB-интерфейсом NIO-EUSB4ep» или Сетевой USB-концентратор, мы его называем просто USB-IP хаб.
Этот хаб разработала отечественная компания NIO-Electronix, которая позиционирует его как российский аналог таких популярных сетевых USB-концентраторов, как Digi AnywhereUSB и SEH myUTN. Его суть заключается в том, чтобы иметь доступ к USB-устройствам через сеть.
На практике
Принцип работы
Основной принцип работы хаба — это инкапсуляция USB-трафика в TCP/IP, таким образом к USB-устройству можно получить доступ везде, где есть интернет. С рабочего места доступ осуществляется через клиентскую программу, которая есть на Windows, Linux и MacOS.
Схема функциональной структуры NIO-EUSB (изображение с сайта производителя)
На рисунке выше можно увидеть, какие USB-устройства поддерживает хаб: веб-камера, принтер, флешка, токены, а также USB-ключи, о которых я и расскажу подробнее.
Применение
Одним из применений я вижу использование этого хаба для хранения USB-ключей в физически ограниченном месте (серверная, дата-центр) и управление доступом к нему. Это значительно упрощает контроль над ключами или решает проблему их потери, если кому доводилось конечно.
Из предложенных производителем вариантов применения наиболее резонными мне показались следующие:
при использовании USB-устройств удаленными филиалами и сотрудниками вне офиса;
для невыгружаемых ЭЦП на Рутокен и подобных токенах для ФНС;
при контроле использования USB-устройств;
на рабочих местах с запретом использования локальных USB-портов.
Как выглядит
Выглядит, как обычный чуть припухший хаб, но отличается тем, что работает от розетки и есть сетевой порт.
Спереди расположены порты USB и индикация работы устройства.
Сзади разъем и переключатель питания, сетевой порт и SD-карты (для прошивки).
Как работает
Подключаем устройство к питанию и сети, включаем, а на компьютере запускаем клиентскую программу — туда и добавляем хаб (при условии, конечно, что он доступен).
Если у хаба включен DHCP, то поиск его IP для рядового сотрудника превращается в квест, поэтому такими данными управляют в основном админы.
Через программу видно, какие USB-устройства подключены к хабу, и это устройство можно подключить себе или настроить его автоматическое подключение.
Когда флешка уже кем-то используется, другим пользователям перехватить ее не получится. Даже если ничего с ней не делать, отключить можно лишь административно.
Если интересны цифры, то у хаба интерфейсы USB 2, на флешку копировал образ через Wi-Fi, скорость вышла в среднем 2-3 MB/s.
Когда установлен пароль на порт, при попытке воспользоваться флешкой нет возможности вписать логин. То есть список пользователей с пустыми паролями в настройках — это некий белый список.
Настройки
Хаб управляется через web-интерфейс на порту 8000, т. е. в моем случае адрес будет следующий http://10.40.5.79:8000/ (не https), из коробки заводские логин-пароль: root admin.
В качестве начальной страницы открывается Dashboard с основной информацией.
Далее пройдемся по остальным настройкам.
Settings: Имя хоста и цвет интерфейса.
Users: На этой странице можно создавать/удалять пользователей и настраивать их права.
Terminal: Можно открыть командную строку и управлять системой через консоль.
В Events можно посмотреть и узнать лог работы концентратора. Тут видно, как я пытался пробиться через пароль на 4 порту…
… а также настроить оповещения на почту
Firmware: Здесь можно чекнуть версию прошивки, обновить, скачать и/или загрузить конфиг.
Network: Сетевые настройки cамые базовые, можно настроить интерфейсы, имя хоста, адреса DNS.
NIO-EUSB Mgmt: Тут управляются порты (выкл/вкл, сброс, установка пароля и так далее). Следует уточнить, что имя пользователя чувствительно к регистру, User ≠ user.
Во вкладке USB server — настройки, связанные с серверной частью. Про лицензию не знаю, но TCP порт должен совпадать с настройками на клиентской части.
Во вкладке Admin ACL черный список настраивается по IP адресам и диапазонам, насчет Rename информации нет.
Во вкладке Client можно скачать клиентские дистрибутивы, которые запускаются на ПК пользователя.
Остальные настройки в целом не сильно содержательные.
Результаты тестирования
Все работает, не отваливается и держит нагрузки. С подписанием множества документов подряд ЭЦП-ключом тоже проблем не было.
Однако этот хаб не понимает воткнутый в него телефон, даже если он в режиме передачи данных. В программе он виден, но подключить и скопировать на него данные не получится. Хаб будет только заряжать телефон.
Нельзя подключить одну флешку одновременно к нескольким пользователям. К примеру, если флешка или ключ уже подключены у бухгалтера, то никакие другие сотрудники компании уже не смогут переподключить их на себя. Но в крайнем случае, если кто-то забыл про ключ и до него не достучаться, её может отключить админ.
Для остального есть руководство пользователя.
У NIO-EUSB есть даже свой телеграм-канал с обновлениями прошивок и новостями. Классно, что у нас есть такие производства.
Комментарии (19)
bvserg
18.04.2024 10:59+1Михаил, тестировалось ли с тендерными площадками? Какими? ЭДО? Какими?
vorobevmish Автор
18.04.2024 10:59+1Да, ключи тестировали на тендерных площадках и ЭДО, все работает независимо от того на каких площадках ключи применяются
Landgraph
18.04.2024 10:59+1Вещица интересная, безусловно, хотел такую лет десять назад.
Скажите пожалуйста, если это российская разработка, подозреваю, что для российского рынка, то почему абсолютно весь интерфейс англоязычный? Развейте, пожалуйста, сомнения…
Раз уж речь идёт про удаленку. А как обстоят дела при работе через медленный интерфейс (2g)? Интерфейс с потерями пакетов?
imennodenis
18.04.2024 10:59А не сравнивал ли кто-то возможности с аналогичным российским продуктом DistKontrol? Есть ли у NIO какие-то явные преимущества? Как раз думаем приобрести подобный хаб. И, например, DistKontrol на 16 портов подешевле получается.
Кстати, интересно, что и NIO и тот же DistKontrol используют австралийский софт VirtualHere. Это явно видно по клиенту: https://www.virtualhere.com/usb_client_software.vorobevmish Автор
18.04.2024 10:59Не сравнивал с DistKontrol, с "VirtualHere" кстати верно подмечено)
Kil1J0y
18.04.2024 10:59Virtual here в свое время купил и не знаю проблем, поставил на raspberry pi 3b но можно и из rpi0w сделать, только скорость по wifi будет желать оставлять лучшего. Но для ecp токенов пойдёт, проверял, На бесплатной версии.
freelook00
18.04.2024 10:59Хм, в их магазине на Али, ценник вполне гуманный. 42тр за 4х портовую версию.
LaoSan
18.04.2024 10:59+1И это гуманный ценник 42 Ярослава Мудрова за 4 USB Дырки?
(Стоимость 32-х портового USB Хаба может повергнуть в шок даже особо крепких, т.к. сравнима с ценой "Крыла от Boeing")
Если нужна безопасность для электронных ключей, дешевле выйдет:
1) Купить сейф;
2) Прикрепить его к полу;
3) Внутри разместить обычный USB Хаб, а, его провод вывести наружу через небольшое отверстие проделанное в стенке сейфа;
4) Флэшку(и) в Хаб, Хаб в ПК;
juramehanik
18.04.2024 10:59Да, это нормальный ценник для железа, которое делается не с серийностью всего что продается в каком нибудь днс. Я дазе сказал бы дешего. Зайдите на какой нибудь сайт типа ipc2u полюбуйтесь)
krohpit
18.04.2024 10:59+2Я один из разработчиков NIO-EUSB.
Все верно выше упомянули - в основе австралийский софт VirtualHere, на нем базируется NIO-EUSB, Distkontrol и новые Digi AnywhereUSB Plus. Основная часть функционала очень близка, но из-за различного аппаратного обеспечения и настроек серверной части у каждого есть свои нюансы. У всех по разному реализована отказоустойчивость. Для одного заказчика мы интегрировали Eltima USB Network Gate, т.к. VirtualHere не смог обеспечить работу Iphone в MacOS, но это решение запредельно по стоимости лицензирования. Есть еще немецкий аппарат SehMyUTN, у них другая реализация, там ОС не доступна снаружи, пока исследуем...Насчет подключения Android мобильников - все работает, вероятно в какой-то версии прошивки не была отключена блокировка устройства ОС серверной части, если будут вопросы напишите нам в поддержку.
По поводу разделения порта на двух клиентов, это не работает, т.к. USB устройства монопольно работают. Но некоторые делают эксперименты с лицензионными ключами - при админской привилегии клиенты могут принудительно на себя переключать устройство, например каждую секунду по скрипту, такой псевдошэринг.
Еще есть интересные Рутокены Сбера, которые состоят из нескольких устройств, и через проброс не могут переключать режим работы, мы для этого сделали специальную утилиту.
Некоторые ЭЦП могут зависать со временем и их надо дергать по питанию, это могут делать все современные USB сервера, а старые Digi AnywhereUSB и самодельные решения обычно нет, что добавляет сложностей при удаленном размещении.
Бывают еще особенности с таймингами для USB-Serial конвертеров.
На текущий момент занимаюсь USB3.x реализацией, там конечно существенно сложней со стабильностью. К сожалению у меня пока нет Дисконтрол USB3.x для сравнения, а только DIGI, Seh и несколько платформ для наших разработок. Основная сложность срыв потока при интенсивном обмене. Был удивлен, что у DIGI при 10Гб/c SFP+ интерфейсах реальная скорость ограничена 1Гб/c.
В целом дистанционное подключение USB позволяет решить много специфических задач, но будьте готовы, что могут быть особенности в зависимости от устройств, операционных систем, сетей и драйверов.Обращайтесь, поможем.
PS Слышал, что есть такие токены, которые в компьютере работают, а через USB сервер они не идентифицируются. Кто-нибудь сталкивался с такими токенами?
vorobevmish Автор
18.04.2024 10:59+1Интересно как такие токены понимают идентифицироваться или нет, по таймингам? Я таких еще не видел.
Очень жду NIO с USB3)
AndreyAf
что то мешает архитектурно или это сделано специально? за исключением файловой системы на флешке...
vorobevmish Автор
Не уверен, что сама флешка готова к такому)
bvserg
Что увидят пользователи в момент одновременного обращения к флешке с ЭЦП? Будет ли какое-то уведомление? Будет ли блокировка работы в случае еще одного подключения?
vorobevmish Автор
Второй пользователь не сможет подключиться к ключу, если она в данный момент подключена первому, блокировки не будет, просто не получится подключиться
Kil1J0y
Это ограничение самого usb over tcp