Привет, Хабр, меня зовут Владимир, и я работаю руководителем IT департамента одного из московских колледжей. Сейчас у нас трудится порядка 1500 сотрудников в 57 зданиях и обучается более 35 000 жителей Москвы. В прошлый раз я рассказывал, как мы переживали времена перевода всего образования на удаленку, как выбирали решение, собирали feedback и масштабировали решение. Тогда же мы начали готовиться к одному важному событию в жизни нашего учреждения – капитальному ремонту основного здания и прилегающей территории. Точнее, реставрации, так как здание является объектом культурного наследия.
На тот момент нам казалось, что сложные времена для нашего департамента заканчиваются, мы смогли их преодолеть и пришло спокойное время. Весь IT-ландшафт готовился к своему перерождению, мы собирали в единую монолитную конструкцию все наши требования с учетом лучших мировых практик и плотного взаимодействия напрямую с вендорами.
Однако, неожиданно все изменилось. И сегодня я хочу поделиться с вами историей, как мы решили одну из возникших задач в импортозамещении ПО в один из самых турбулентных периодов. Итак, дорогой читатель, добро пожаловать под кат.
Исходные условия
В начале 2022 года началась долгожданная реставрация. Но, к нашему сожалению, сопровождалась она массовым исходом практически всех иностранных вендоров с российского рынка, на которых строилась наша монолитная конструкция. Стало абсолютно очевидно, что эпоха Microsoft Windows для государственных заказчиков безвозвратно ушла, и нас ожидает стремительный переход на Linux. Изначально страшного мы в этом ничего не увидели. Да, придется выделить время на обучение, но текущие версии операционок на Linux очень юзерфрендли, к ним можно легко адаптироваться и набраться опыта. Возможно, будут проблемы с обучением среднестатистических преподавателей, которые не всегда мышку-то держат уверенно, но делать нечего: наш путь был предопределен и выбран за нас, нужно двигаться дальше.
Изначально мы хотели изучить доступные в реестре отечественного ПО операционные системы: уже успели протестировать порядка десяти разных, опросили пользователей, но тут, как гром среди ясного неба, нам привезли целевую городскую поставку техники. К процессу реставрации она не имела никакого отношения, у нее были свои цели и задачи, но главным сюрпризом стало то, что установленная на ней операционная система – это собственная разработка города на базе Linux.
Хотели мы этого или нет, но наш мир пошатнулся в очередной раз. Морально мы были готовы к тому, что унифицировать полностью всю технику у нас не получится в силу различной специфики работы и совместимости с рядом оборудования. И к потребности в администрировании оставшихся ПК на Windows и MacOS у нас добавились как минимум три различные сборки под Linux. При этом всякие интерактивные девайсы были на Android — получается маленький филиал ада перфекциониста.
Поэтому мы пришли к самому логичному и простому решению: нам нужен единый центр администрирования всех наших разношерстных девайсов. Ведь если мы не можем обеспечить единообразие технического оборудования, то мы должны обеспечить себя возможностью все это комфортно обслуживать и, само собой, в удаленном формате.
Как мы начали поиск решений
Когда наш парк состоял преимущественно из ПК на Windows, мы обходились удаленным помощником, он же Microsoft Remote Assistant (в простонародье «дадашка»), а в отдельных случаях всем известными TeamViewer и AnyDesk. По понятным причинам дальнейшее использования нашего набора «джентльмена» не представлялось возможным. Удаленный помощник хоть и продолжает работать, но неизвестно сколько это продлится, да и на Linux его нет. TeamViewer ушел с рынка РФ, но и бесплатно его в наших объемах использовать невозможно, равно как и AnyDesk, а рисковать, ожидая его ухода, совершенно не хотелось.
И вот, мы погрузились в поиск и подбор решения для удаленного администрирования на просторах нашей необъятной родины. Несмотря на то, что четких сроков поиска и подбора решения у нас не было, точно можно было сказать одно: эту соломку лучше подстелить как можно быстрее, при этом сразу учитывая все возможные риски и требования. Для нас было важно:
- Максимально универсальное и кроссплатформенное (при это независимое и от архитектуры) решение.
- Присутствие в реестре российского ПО
- Возможность работы как в закрытом контуре организации, так и за ее пределами.
- Соответствие требованиям безопасности: централизованные видеозаписи, строгое логгирование, поддержка SIEM.
- Возможности интеграции с различными LDAP, SSO и прочими функциями для Enterprise.
- Уведомление пользователя о подключении администратора.
- Обеспечение безопасного удаленного подключения определенных сотрудников к своим ПК.
Определив требования, мы начали изучать реестр отечественного ПО. Сузив критерии поиска до класса ПО «09.14 Средства централизованного управления конечными устройствами» и класса «02.08 Средства мониторинга и управления» мы получили чуть более 1200 записей и уже спустя пару часов изучения полученной информации — нашу тестовую группу, а именно:
- 1С Коннект
- Ассистент
- Rudesktop
- RMS
- PRO32 Connect
- Radmin
- Litemanager
- Контур Доступ
Возможно, выборка получилась не совсем полная, так как очень много всего попадается в реестре, но и не маленькая для поиска ПО, которое подходит именно нам. Хотя часть претендентов мы убрали из перечня практически сразу.
Первыми из выборки у нас выбыли RMS, Radmin и Litemanager. Причинами тому стало отсутствие развития продуктов на длительной дистанции, устаревший и неудобный UX\UI, куча проблем с поддержкой Linux и полное отсутствие поддержки агентов на Android. 1С Коннект и Контур Доступ вылетели из тестов следом. Первый потребовал бы от нас слишком большого количества трудозатрат на запуск, интеграции и обладал лишним функционалом, а второй оказался «сыроват» и без агентов для Linux на текущий момент.
Для себя мы решаем, что проведем тесты оставшихся трех продуктов: Ассистент, PRO32 Connect и Rudesktop.
Анализ возможностей сервисов
Итак, первым в тесты у нас ушел «Ассистент» как один из старожилов рынка. Не скажу, что UX и UI ПО вызывает у меня вау эффект, но ребята явно поработали над тем, чтобы выглядело добротно. Есть довольно большое количество настроек как для агента, так и для клиента. С основными задачами софт справляется, механика подключения привычная. Действия пользователей в системе логируются, однако есть возможность интеграции с различными Enterprise системами, хоть и без выгрузки в SIEM системы и API. Сама лицензия приобретается на количество активных сессий и является бессрочной. Вроде вот оно, бери да радуйся, даже сертификат ФСТЭК есть. Но на этом плюсы заканчиваются. Подключения отваливаются через раз, помогает только полный перезапуск ПО, а регулярная ошибка «Истекло время ожидания подключения» заставляет шевелиться не только волосы, но и первую линию технической поддержки. Повышение привилегий на удаленной ОС работает через раз, сохраненный пароль администратора слетает после первого использования, а функции удаленной командной строки и диспетчера задач вообще не работают под unix системами, да и работа технической поддержки разработчика оставляет желать лучшего. При этом на MacOS разработчик не подписал должным образом ПО, система ругается и рекомендует его удалить. Написано на сайте и в инструкциях все, конечно, очень красочно и красиво, и плюсов много, но при таком ценообразовании за продукт, даже с образовательной скидкой желания покупать его нет. К счастью, требований к такому ПО в части обязательной сертификации ФСТЭК у нас нет, так что мы можем рассматривать оставшийся софт.
Выбор между оставшимися претендентами был для нас довольно сложной и нетривиальной задачей. Оба продукта обладают всеми необходимыми нам функциями и даже интеграцией с Telegram практически из коробки. А также отвечают всем нашим требованиям по своим функциональным возможностям, имеют достаточно приятный и удобный интерфейс, понятно и прозрачно масштабируются.
Разберем плюсы и минусы каждого продукта по отдельности, начнем с Rudesktop. Само решение абсолютно классическое, правда зачем-то в комплекте к дашборду и агенту идет еще и личный кабинет, в котором особо ничего сделать-то и нельзя, видимо, тестировать нужно в комплекте с их UEM системой. Первое впечатление, которое получаешь от использования – все прямо по канонам, как завещал покинувший нас TeamViewer. Зацепиться особо не за что. Подключения к удаленным машинам стабильные, есть возможность автоадаптации качества передаваемой картинки, что важно для наших нестабильных клиентов, и даже ночная тема. Передача файлов и папок реализована достаточно удобно, в формате классического «Total Commander».
Безусловно, продукт еще сыроват, судя по датам регистрации прав на ПО и вхождению в реестр, ребята на рынке существуют чуть больше года. Мы довольно часто сталкивались с проблемами повышения прав в системе, сбоями подключения. Бывали случаи, когда тот или иной функционал просто отключался в процессе работы. Очень “порадовала” схема добавления компьютеров в адресную книгу: сделать это возможно только подключившись к удаленному компьютеру. Почему и зачем это реализовано именно так мы не разобрались. Большая часть ошибок, которую мы получали, была именно с Linux версиями операционок. Это безусловно вызвало множество опасений по дальнейшей эксплуатации ПО. В совокупности факторов, до конца тестов, нас не покидало ощущение, что у нас отобрали немецкий автомобиль и посадили в его китайский аналог. Вроде кнопки и функции те же, задачу свою выполняет, но что-то не так.
Вот так мы и дошли до нашего последнего претендента на роль удаленного помощника – PRO32 Connect. Когда мы впервые посмотрели материалы по продукту, у нас возникло множество вопросов, а почему это сделано именно так. Да, безусловно доступ к удаленным устройствам из браузера по сути дела с любого утюга подкупает, но машинально очень хочется видеть привычный дашборд, хотя он тоже у разработчика имеется, правда пока в формате beta, а не личный кабинет в WEB. Установка серверной части не вызывает в принципе никаких вопросов и занимает минимум времени, всего в пару команд и у вас готовый сервер на docker контейнерах.
Графика и UX\UI заслуживают отдельных дифирамбов разработчикам, все на своем месте и интуитивно понятно. Технически за трансляцию картинки с удаленного экрана отвечают две технологии — это WebRTC или WebSocket в зависимости от типа подключения. В нашей довольно сложной и распределенной сети оба варианта показали себя очень даже хорошо и стабильно, вне зависимости от типа подключения удаленного устройства к сети интернет. У нас есть несколько девайсов на базе Android, которые подключены через обычный 4G модем, и подключение к ним было достаточно стабильным даже несмотря на попытки погоды внести свои корректировки в наши тесты.
Отдельно хочется отметить нестандартную механику подключения к удаленному устройству в случае разовой или первой поддержки удаленного девайса. В софте предусмотрена генерация уникального агента под конкретную сессию, что позволяет избежать ряда вопросов по получению пароля доступа от удаленного пользователя. По началу мы очень удивились такому решению и даже были возмущены тем, что привычный всем нам механизм, зарекомендовавший себя за долгие годы, попросту отсутствует. Один из первых вопросов, который мы получили от группы тестировщиков был: «А что нам делать то с этой ссылкой, не по телефону же ее диктовать». Но, детально изучив предлагаемые варианты подключения и передачи всех доступов, стало понятно, что так подключаться намного проще и быстрее, чем выудить у сотрудника автоматически сгенерированную пару — логин и пароль, особенно если последний содержит в себе не только числа, но еще и буквы разного регистра. В общем-то, что сначала тестовая группа сочла проблемой, оказалось панацеей и средством сбережения нервных клеток.
Очень порадовала и возможность использовать 2FA прямо из коробки, причем в различных вариантах исполнения от сообщения на почту до уведомления в Telegram, бонусом ее можно включить всем принудительно. Вообще дополнительный функционал по интеграции с ботом в Telegram дает широкие возможности: обмен файлами с удаленной машиной (насколько я понимаю, у других такой функции до сих пор нет), генерацию сессий и различные статусы о подключениях. Также порадовал встроенный переводчик, с одной стороны, штука в наших реалиях не очень нужная, с другой — ребята из поддержки сразу вспомнили наш прекрасный класс с компьютерами на китайском языке, где часто приходилось что-то чинить на ощупь и по памяти. И если на Windows это было хоть как-то реализуемо, то с запланированным переходом на Linux у нас были опасения, что класс с иероглифами в интерфейсе создаст нам дополнительных приключений. Хотя результатами тестов мы остались довольны, нам искренне не хватало времени на более длительные тесты, каких-то более тонких возможностей настройки софта по управлению ролями (их в продукте всего три), возможностей обмена не только файлами, но и целыми папками, а также отсутствие в ПО функционала удаленной командной строки и диспетчера задач, хотя без них наша техническая поддержка прекрасно выполняет свои функции.
Как мы приняли финальное решение
Пожалуй, время переходить к заключению и выводам. При выборе софта мы обращали больше внимания на различные его фишки и нестандартные возможности, ибо по сути своей большая часть функционала в таких продуктах стандартна, однотипна, и велосипед тут никто не изобретет. В принятии конечного решения для нас сыграли две очень немаловажные вещи.
Первая — это принципы лицензирования и ценообразования по продуктам. Rudesktop лицензируется по классической модели, как и все его зарубежные аналоги, основная стоимость складывается из количества операторов и количества активных сессий, которые могут создать эти операторы. У PRO32 Connect немного другой подход — лицензия складывается из стоимости оператора и количества устройств в доступе, при этом число сессий на одного оператора не ограниченно. Тут вроде все понятно и прозрачно. Но специфика работы технической поддержки в государственном учреждении говорит нам о том, что любой оператор может одновременно держать две, а то и три активные сессии. Иногда два человека подключаются к одному устройству для решения какой-то задачи, и если количество устройств и операторов поддержки у меня примерно фиксированное, то количество одновременных сессий абсолютно непредсказуемое и зависит от слишком большого количества факторов и параллельных мероприятий. Даже статистику по загрузке поддержки в Covid-19 можно не открывать, итак все ясно.
Второй фактор, сыгравший решающую роль в выборе ПО, мы выяснили путем небольших «научных» изысканий, что Rudesktop в действительности является российским лишь на маленькую часть и построен на Open source проекте Rustdesk из «недружественного» Сингапура. Мы, конечно, поначалу сомневались, и нам пришлось потратить время на изучение вопроса, но детальный разбор смог подтвердить наши опасения. А мы не можем себе позволить сидеть и ждать у моря погоды, когда правообладатели прикроют проект, либо Минцифры тщательнее проверят софт сами, и тем более не можем отдавать государственные деньги за Open Source.
И чаша весов сама склонилась к нужному выбору. Мы нашли свой инструмент для оказания технической поддержки, им стал PRO32 Connect. Через тернии и множество тестов он стал безоговорочным лидером.
Надеюсь, данная статья оказалась вам полезной и поможет сделать свой выбор, а я пока пойду готовить новую серию статей по импортозамещению «железа» в аврально сжатые сроки.
sten65
А искал максимально малобюджетное решение и остановился на Контур.Доступ, приобрёл подписку на год. Продукт, конечно, сыроват (да и что-то мне напоминает :)), но поддержка на весьма высоком уровне - все вопросы решаются оперативно. Особенно меня впечатлил коннект через четырех провайдеров, два из которых мобильные. Клиент под никсы уже есть, буду тестировать на Астре. Если будут развивать продукт, как и остальные свои сервисы, вполне приемлемое решение.
CrashO
Айтишники крайне глупые люди как оказалось. Я тоже айтишник и поражаюсь их тупости и недальновидности. Они готовые предусмотреть все у себя в конторе, на рабских условиях, но главного не предусматривают... Как много открытий тебя ожидает дружок.
Daar
Контур.Доступ тоже создан на не сильно дружественной либе одного ооочень старого open source VNC.